dnl Process this file with autoconf to produce a configure script. AC_INIT(netlist.h) AC_CONFIG_HEADER(config.h) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_CHECK_TOOL(STRIP, strip, true) AC_CHECK_PROGS(XGPERF,gperf,none) if test "$XGPERF" = "none" then echo "*** Error: No suitable gperf found. ***" echo " Please install the 'gperf' package." exit 1 fi AC_CHECK_PROGS(LEX,flex,none) if test "$LEX" = "none" then echo "*** Error: No suitable flex found. ***" echo " Please install the 'flex' package." exit 1 fi AC_CHECK_PROGS(YACC,bison,none) if test "$YACC" = "none" then echo "*** Error: No suitable bison found. ***" echo " Please install the 'bison' package." exit 1 fi AC_LANG_CPLUSPLUS AC_CHECK_HEADERS(getopt.h malloc.h libiberty.h iosfwd sys/wait.h) AC_MSG_CHECKING(for sys/times) AC_TRY_LINK( #include #include ,{clock_t a = times(0)/sysconf(_SC_CLK_TCK);}, do_times=yes AC_DEFINE(HAVE_TIMES,1), do_times=no ) AC_MSG_RESULT($do_times) AC_CHECK_HEADER(ipal.h, HAVE_IPAL=yes, HAVE_IPAL=) AC_ARG_WITH(ipal, [ --with-ipal enable PAL target], if test "$with_ipal" = no; then echo Disabling ipal support HAVE_IPAL= fi ) AC_SUBST(HAVE_IPAL) # -- # Look for a dl library to use. First look for the standard dlopen # functions, and failing that look for the HP specific shl_load function. AC_CHECK_HEADERS(dlfcn.h dl.h, break) DLLIB='' AC_CHECK_LIB(dl,dlopen,[DLLIB=-ldl]) if test -z "$DLLIB" ; then AC_CHECK_LIB(dld,shl_load,[DLLIB=-ldld]) fi AC_SUBST(DLLIB) AC_PROG_INSTALL AC_LANG_C AC_CANONICAL_HOST # $host # The -fPIC flag is used to tell the compiler to make position # independent code. It is needed when making shared objects. AC_MSG_CHECKING("for flag to make position independent code") PICFLAG=-fPIC case "${host}" in *-*-cygwin*) PICFLAG= ;; *-*-hpux*) PICFLAG=+z ;; esac AC_SUBST(PICFLAG) AC_MSG_RESULT($PICFLAG) # mingw needs to link with libiberty.a, cygwin can tolerate it AC_MSG_CHECKING("for extra libs needed") EXTRALIBS= case "${host}" in *-*-cygwin*) EXTRALIBS="-liberty" ;; esac AC_SUBST(EXTRALIBS) AC_MSG_RESULT($EXTRALIBS) # Darwin requires -no-cpp-precomp case "${host}" in *-*-darwin*) CPPFLAGS="-no-cpp-precomp" CFLAGS="-no-cpp-precomp" ;; esac # The -rdynamic flag is used by iverilog when compiling the target, # to know how to export symbols of the main program to loadable modules # that are brought in by -ldl AC_MSG_CHECKING("for -rdynamic compiler flag") rdynamic=-rdynamic case "${host}" in *-*-netbsd*) rdynamic="-Wl,--export-dynamic" ;; *-*-solaris*) rdynamic="" ;; *-*-cygwin*) rdynamic="" ;; *-*-hpux*) rdynamic="-E" ;; *-*-darwin*) rdynamic="-Wl,-all_load" strip_dynamic="-SX" ;; esac AC_SUBST(rdynamic) AC_MSG_RESULT($rdynamic) AC_SUBST(strip_dynamic) AC_MSG_RESULT($strip_dynamic) AC_MSG_CHECKING("for shared library link flag") shared=-shared case "${host}" in *-*-cygwin*) shared="-shared -Wl,--enable-auto-image-base" ;; *-*-hpux*) shared="-b" ;; *-*-darwin1.[0123]) shared="-bundle -undefined suppress" ;; *-*-darwin*) shared="-bundle -undefined suppress -flat_namespace" ;; esac AC_SUBST(shared) AC_MSG_RESULT($shared) ####################### ## test for underscores. The vpi module loader needs to know this ## in order to know the name of the start symbol for the .vpi module. ####################### AC_CYGWIN AC_EXEEXT AC_MINGW32 WIN32=no AC_MSG_CHECKING("Checking for windows") if test "$CYGWIN" = "yes" -o "$MINGW32" = "yes" then WIN32=yes fi AC_SUBST(MINGW32) AC_SUBST(WIN32) AC_MSG_RESULT($WIN32) AC_SUBST(EXEEXT) AC_MSG_CHECKING("for leading and/or trailing underscores") cat << EOF > underscore.c void underscore(void){} EOF $CC $shared -c underscore.c > /dev/null 2>&1 CC_LEADING_UNDERSCORE=no CC_TRAILING_UNDERSCORE=no output=`nm underscore.o|grep _underscore 2>&1` if test ! -z "$output" -a "$CYGWIN" != "yes" -a "$MINGW32" != "yes"; then CC_LEADING_UNDERSCORE=yes AC_DEFINE(NEED_LU) fi output=`nm underscore.o|grep underscore_ 2>&1` if test ! -z "$output"; then CC_TRAILING_UNDERSCORE=yes AC_DEFINE(NEED_TU) fi if test "$CC_LEADING_UNDERSCORE" = yes; then AC_DEFINE(WLU) fi if test "$CC_TRAILING_UNDERSCORE" = yes; then AC_DEFINE(WTU) fi rm underscore.c underscore.o AC_MSG_RESULT("$CC_LEADING_UNDERSCORE $CC_TRAILING_UNDERSCORE") ####################### ## end of test for underscores ####################### AC_MSG_CHECKING("for ident support in C compiler") ident_support='-DHAVE_CVS_IDENT=1' case "${host}" in *-*-cygwin*) ident_support= ;; *-*-darwin*) ident_support= ;; *-*-machten*) ident_support= ;; esac AC_SUBST(ident_support) AC_MSG_RESULT($ident_support) AC_CONFIG_SUBDIRS(vvp tgt-vvp tgt-fpga libveriuser cadpli) AC_OUTPUT(Makefile vpi/Makefile ivlpp/Makefile driver/Makefile driver-vpi/Makefile tgt-null/Makefile tgt-stub/Makefile tgt-verilog/Makefile tgt-pal/Makefile)