# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT([Stasis],[0.1],[sears@cs.berkeley.edu]) AM_INIT_AUTOMAKE() #hello,0.1) #AM_INIT_AUTOMAKE([subdir-objects]) # @todo use subdir-objects once transition to libtool is done. 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_AWK AC_PROG_RANLIB # Checks for libraries. # For SWIG & Python # AC_PROG_LIBTOOL AM_PATH_PYTHON(2.3) AC_PROG_SWIG(1.3) SWIG_ENABLE_CXX SWIG_PYTHON AM_CONDITIONAL(HAVE_SWIG, test x"$have_swig" = "xyes") #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_LINK_IFELSE([AC_LANG_PROGRAM([[ #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_CHECK_LIB([check], [suite_create], have_libcheck=yes, have_libcheck=no) if test x$have_libcheck = xyes ; then AM_CONDITIONAL(HAVE_LIBCHECK, true) else AM_CONDITIONAL(HAVE_LIBCHECK, false) AC_MSG_WARN([Check not found; cannot run unit tests!]) fi #AC_CHECK_LIB([check], [tcase_set_timeout], # have_libcheck_timeout=yes, # have_libcheck_timeout=no) # #if test x$have_libcheck_timeout = xyes ; then #AC_DEFINE(HAVE_CHECK_TCASE_SET_TIMEOUT) #AH_TEMPLATE(HAVE_CHECK_TCASE_SET_TIMEOUT, [Define to 1 if your version of check supports tcase_set_timeout().]) #else #if test x$have_libcheck = xyes ; then #AC_MSG_WARN([Found a really old version of check; disabling test case timeouts. Expect compiler warnings...]) #fi #fi #AM_CONDITIONAL(HAVE_LIBCHECK, test x$have_libcheck=xyes) ## 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 #); 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_ARG_ENABLE([network], AS_HELP_STRING(--disable-network,Disable old networking code), if test x$enableval = xno ; then echo "Networking disabled; not checking for confuse"; have_libconfuse=no else AC_CHECK_LIB([confuse], [cfg_set_validate_func], have_libconfuse=yes, have_libconfuse=no) fi, AC_CHECK_LIB([confuse], [cfg_set_validate_func], have_libconfuse=yes, have_libconfuse=no) ) AM_CONDITIONAL(HAVE_LIBCONFUSE, test x$have_libconfuse = xyes) AC_ARG_ENABLE([pobj], AS_HELP_STRING(--disable-pobj,Don't build pobj), AM_CONDITIONAL(BUILD_POBJ, test x$enableval = xyes), AM_CONDITIONAL(BUILD_POBJ, true) ) AC_ARG_ENABLE([benchmarks], AS_HELP_STRING(--disable-benchmarks,Don't build benchmarks), if test x$enableval = xyes ; then build_benchmarks=yes else build_benchmarks=no fi, build_benchmarks=yes ) AC_CONFIG_DB AM_CONDITIONAL(DB_ENABLED, test $DB_ENABLED = 1) if test x$build_benchmarks = xyes ; then if test $DB_ENABLED = 0; then AC_MSG_WARN([Could not find Berkeley DB; some benchmarks will not be built]) fi AM_CONDITIONAL(BUILD_BENCHMARKS, true) else AM_CONDITIONAL(BUILD_BENCHMARKS, false) fi AC_CHECK_LIB([intl], [bindtextdomain]) AC_CHECK_LIB([c], [bindtextdomain]) # Checks for header files. AC_HEADER_DIRENT AC_FUNC_ALLOCA 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 stddef.h stdint.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_C_INLINE #AC_TYPE_INT64_T #AC_TYPE_UINT64_T AC_TYPE_OFF_T AC_TYPE_PID_T AC_TYPE_SIZE_T #AC_TYPE_SSIZE_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_FUNC_VPRINTF AC_CHECK_FUNCS([bzero fdatasync floor ftruncate getcwd gettimeofday inet_ntoa localtime_r memmove memset mkdir posix_memalign pow powl socket sqrt strchr strdup strerror strrchr strstr strtol strtoul sync_file_range tcase_set_timeout]) #AC_CONFIG_LIBMYSQLD AC_CONFIG_FILES([Makefile benchmarks/Makefile benchmarks/berkeleyDB/Makefile libdfa/Makefile stasis/Makefile src/2pc/Makefile src/Makefile src/apps/Makefile src/apps/cht/Makefile src/apps/readOnlyHash/Makefile src/apps/cyrus/Makefile src/apps/referential/Makefile src/libdfa/Makefile src/stasis/Makefile src/pobj/Makefile src/timing/Makefile test/2pc/Makefile test/Makefile test/cht/Makefile test/dfa/Makefile test/lladd-old/Makefile test/stasis/Makefile test/messages/Makefile test/monotree/Makefile test/pobj/Makefile utilities/Makefile utilities/swig/Makefile examples/Makefile ]) AC_OUTPUT