AC_INIT(Makefile.in) AC_CONFIG_HEADER(config.h) AC_PROG_CC AC_PROG_CXX AC_CHECK_TOOL(STRIP, strip, true) AC_CYGWIN AC_EXEEXT AC_MINGW32 AC_SUBST(EXEEXT) 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_PROG_INSTALL AC_ARG_ENABLE(vvp-debug, vvp-debug -- interactive debugger for VVP runtime., AC_DEFINE(ENABLE_VVP_DEBUG)) AC_CHECK_HEADERS(getopt.h malloc.h) AC_CHECK_SIZEOF(unsigned long long) AC_CHECK_SIZEOF(unsigned long) AC_CHECK_SIZEOF(unsigned) # For the interactive debugger to work, readline must be installed, # and that in turn requires termcap. check that the libs really do # exist. if test "${enable_vvp_debug+set}" = set; then AC_CHECK_LIB(termcap, tputs) AC_CHECK_LIB(readline, readline) fi # -- # 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) # Darwin requires -no-cpp-precomp case "${host}" in *-*-darwin*) CPPFLAGS="-no-cpp-precomp" CFLAGS="-no-cpp-precomp" ;; esac # see how we can give some resource usage stats with -v # Linux does not provide mem stats in rusage, use /proc/self/statm. AC_CHECK_HEADERS(sys/resource.h) case "${host}" in *linux*) AC_DEFINE(LINUX) ;; 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. VPI support requires this. 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" ;; esac AC_SUBST(rdynamic) AC_MSG_RESULT($rdynamic) AC_MSG_CHECKING("for extra libs needed") EXTRALIBS= case "${host}" in *-*-cygwin*) EXTRALIBS="-liberty" ;; esac AC_SUBST(EXTRALIBS) AC_MSG_RESULT($EXTRALIBS) ####################### ## test for underscores. The vpi module loader in vvm 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(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_OUTPUT(Makefile)