stasis-aries-wal/configure.in
2009-04-14 21:55:47 +00:00

202 lines
5.5 KiB
Text

# -*- 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
AC_PROG_YACC
AC_PROG_LEX
# 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")
## 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 <sys/types.h>
#include <fcntl.h>]], [[
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([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
## 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_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