# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) AC_INIT(LLADD, 0.1, sears@cs.berkeley.edu) AM_INIT_AUTOMAKE(hello,0.1) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADER([config.h]) # Checks for programs. AC_PROG_CXX AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET ## Need AC_PROG_LIBTOOL AC_PROG_LIBTOOL AC_PROG_RANLIB # Checks for libraries. #AM_PATH_CHECK(,[have_check="yes"], # AC_MSG_WARN([Check not found; cannot run unit tests!]) # [have_check="no"]) #AM_CONDITIONAL(HAVE_CHECK, test x"$have_check", "xyes") #AM_PATH_CHECK(,[have_check=true], # AC_MSG_WARN([Check not found; cannot run unit tests!]) # [have_check=false]) #AM_CONDITIONAL(HAVE_CHECK, test x$have_check = xtrue) ## alas, it won't link if this is put in here.. instead, it's linked in manually in the test directory... #AC_ARG_ENABLE(efence, #[ --enable-efence Use electric fence (www.perens.com)], #[case "$enableval" in \ # yes) efence=yes ;; \ # no) efence=no;; \ # *) efence=no;; \ #esac], [efence=no]) # #dnl Check for efence #if test $efence = yes; then #AC_CHECK_LIB(efence,memalign) #fi # Linux has a broken O_DIRECT flag, but we allow people to override it from # the command line. test_host_prw=yes AC_CACHE_CHECK([for open/O_DIRECT], db_cv_open_o_direct, [ AC_TRY_LINK([ #include #include ], [ open("a", O_RDONLY | O_DIRECT, 0); ], [db_cv_open_o_direct=yes; test_host_prw=no], [db_cv_open_o_direct=no])]) if test "$test_host_prw" = "no" -a "$db_cv_open_o_direct" = "yes"; then case "$host_os" in linux*) db_cv_open_o_direct=no; AC_MSG_WARN( [O_DIRECT interface ignored on $host_os-$host_vendor.]);; esac fi if test "$db_cv_open_o_direct" = "yes"; then AC_DEFINE(HAVE_O_DIRECT) AH_TEMPLATE(HAVE_O_DIRECT, [Define to 1 if you have the O_DIRECT flag.]) fi AC_CHECK_LIB([check], [suite_create], , AC_MSG_WARN([Check not found; cannot run unit tests!])) ## This perl script thing is a total hack, but we need to define HAVE_LIBCHECK ## inside of an AM_CONDITIONAL to get conditional compilation to work. AM_CONDITIONAL(HAVE_LIBCHECK, echo $LIBS | [ perl -ne 'if($_=~/-lcheck/) { print qq(Check found, make check will run test suites. --enable-confuse will enable extra tests of old code. ); exit 0; } else { print qq( -------------------------------- Check not found! Most tests will be skipped by make check! -------------------------------- ); exit 1; }']) #have_libcheck", "xyes") #AC_CHECK_LIB([check], # [suite_create], AC_MSG_WARN([Check not found; cannot run unit tests!] # have_check=yes, # AC_MSG_WARN([Check not found; cannot run unit tests!])) #AM_CONDITIONAL(HAVE_CHECK, test x"$have_check", "xyes") #AC_CHECK_FUNC([tcase_set_timeout]) #AM_CONDITIONAL(HAVE_CHECK, test xyes, xyes) AC_CHECK_LIB([m], [sqrt]) AC_CHECK_LIB([pthread], [pthread_create]) #AC_CHECK_LIB([confuse], [cfg_set_validate_func]) ## Repeat hack for LIBCONFUSE AC_ARG_ENABLE([deprecated-networking], AC_HELP_STRING([--enable-network], [Enables old networking code. Requires libconfuse]), if test x$enableval = xno ; then echo "Networking disabled; not checking for confuse" else AC_CHECK_LIB([confuse], [cfg_set_validate_func]) fi, echo "Networking disabled; not checking for confuse" ) # Repeat hack for LIBCONFUSE AM_CONDITIONAL(HAVE_LIBCONFUSE, echo $LIBS | [ perl -ne 'if($_=~/-lconfuse/) { print qq(Confuse found, make check will run full test suite. ); exit 0; } else { print qq(Confuse not found; will skip networked stuff. ); exit 1; }']) AC_ARG_ENABLE([pobj], AC_HELP_STRING([--enable-pobj], [Build pobj]), AM_CONDITIONAL(BUILD_POBJ, test x$enableval = xyes), AM_CONDITIONAL(BUILD_POBJ, false) ) AC_ARG_ENABLE([benchmarks], AC_HELP_STRING([--enable-benchmarks], [Build benchmarks. Requires Berkeley DB >= 4.2]), AM_CONDITIONAL(BUILD_BENCHMARKS, test x$enableval = xyes), # AC_CONFIG_DB, AM_CONDITIONAL(BUILD_BENCHMARKS, false) ) AC_CONFIG_DB AC_CHECK_LIB([intl], [bindtextdomain]) AC_CHECK_LIB([c], [bindtextdomain]) # Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h malloc.h memory.h netdb.h netinet/in.h stdlib.h string.h strings.h sys/socket.h sys/time.h syslog.h unistd.h errno.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_PID_T AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM #enable largefile support. AC_SYS_LARGEFILE # Checks for library functions. AC_FUNC_ERROR_AT_LINE AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_FUNC_REALLOC AC_FUNC_STAT AC_CHECK_FUNCS([bzero fdatasync getcwd gettimeofday inet_ntoa localtime_r memmove memset mkdir powl posix_memalign socket sqrt strchr strdup strerror strrchr strstr strtoul tcase_set_timeout]) #AC_CONFIG_LIBMYSQLD AC_CONFIG_FILES([Makefile benchmarks/Makefile benchmarks/berkeleyDB/Makefile libdfa/Makefile lladd/Makefile src/2pc/Makefile src/Makefile src/apps/Makefile src/apps/cht/Makefile src/apps/readOnlyHash/Makefile src/apps/cyrus/Makefile src/libdfa/Makefile src/lladd/Makefile src/pobj/Makefile src/timing/Makefile test/2pc/Makefile test/Makefile test/cht/Makefile test/dfa/Makefile test/lladd-old/Makefile test/lladd/Makefile test/messages/Makefile test/monotree/Makefile test/pobj/Makefile utilities/Makefile ]) AC_OUTPUT