# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT([Stasis],[0.1],[sears@cs.berkeley.edu]) 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_LN_S AC_PROG_MAKE_SET AC_PROG_AWK AC_PROG_RANLIB AC_PROG_YACC AC_PROG_LEX # Checks for libraries. # For SWIG & Python # AC_PROG_LIBTOOL AC_PROG_SWIG(1.3) SWIG_ENABLE_CXX SWIG_PYTHON # 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([m], [sqrt]) AC_CHECK_LIB([pthread], [pthread_create]) AC_CONFIG_DB 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 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 ## Assume we have these, and that they work. ## (otherwise, bad stuff happens sometimes) #AC_FUNC_MALLOC #AC_FUNC_REALLOC AC_FUNC_MEMCMP 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_OUTPUT