Add fsync options.
[beanstalkd.git] / configure.in
blob792c64d68173b613a76378b8aa7ac5662257fb9e
1 dnl this files has to be processed by autoconf
2 AC_PREREQ(2.61)
4 AC_INIT
5 AC_CONFIG_SRCDIR([README])
6 AC_CONFIG_SRCDIR(job.c)
7 AC_CONFIG_HEADERS(config.h)
8 AC_CONFIG_MACRO_DIR([m4])
10 AM_INIT_AUTOMAKE(beanstalkd,$($srcdir/version.sh))
11 AM_MAINTAINER_MODE
13 AS_COMPILER_FLAGS(CFLAGS, "-Wall -Werror")
15 AC_PROG_CC
16 AC_PROG_INSTALL
18 DEFAULT_INSTALL_PREFIX="/usr/local"
19 STANDARD_PREFIXES="/usr /usr/local /opt /local"
22 dnl {{{ --with-libdir
23 AC_ARG_WITH(libdir,
24   [AS_HELP_STRING([--with-libdir],[look for libraries in .../NAME rather than .../lib])
25   ],
26   [LIBDIR=$with_libdir],
27   [LIBDIR=lib]
29 dnl }}}
31 dnl {{{ --disable-rpath
32 AC_ARG_ENABLE(rpath,
33   [AS_HELP_STRING([--disable-rpath],[disable passing additional runtime library search paths])
34   ],
35   [BEAN_RPATH=no],
36   [BEAN_RPATH=yes]
38 dnl }}}
40 dnl {{{ check for rpath support
41 AC_MSG_CHECKING([if compiler supports -R])
42 AC_CACHE_VAL(bt_cv_cc_dashr,[
43   SAVE_LIBS=$LIBS
44   LIBS="-R /usr/$LIBDIR $LIBS"
45   AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[bt_cv_cc_dashr=yes],[bt_cv_cc_dashr=no])
46   LIBS=$SAVE_LIBS])
47 AC_MSG_RESULT([$bt_cv_cc_dashr])
48 if test $bt_cv_cc_dashr = "yes"; then
49   ld_runpath_switch=-R
50 else
51   AC_MSG_CHECKING([if compiler supports -Wl,-rpath,])
52   AC_CACHE_VAL(bt_cv_cc_rpath,[
53     SAVE_LIBS=$LIBS
54     LIBS="-Wl,-rpath,/usr/$LIBDIR $LIBS"
55     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[bt_cv_cc_rpath=yes],[bt_cv_cc_rpath=no])
56     LIBS=$SAVE_LIBS])
57   AC_MSG_RESULT([$bt_cv_cc_rpath])
58   if test $bt_cv_cc_rpath = "yes"; then
59     ld_runpath_switch=-Wl,-rpath,
60   else
61     ld_runpath_switch=-L
62   fi
64 if test "$BEAN_RPATH" = "no"; then
65   ld_runpath_switch=
67 dnl }}}
69 dnl {{{ --with-event
70 AC_ARG_WITH(event,
71   [AS_HELP_STRING([--with-event],[specify libevent install prefix])
72   ],
73   [ ],
74   [with_event=yes]
77 if test "x$with_event" = "xno"; then
78   AC_MSG_ERROR([can't continue without libevent])
79 else
80   AC_MSG_CHECKING([libevent install prefix])
82   if test "x$with_event" = "xyes"; then
83     for i in `echo "$STANDARD_PREFIXES"`; do
84       if test -f "$i/include/event.h"; then
85         LIBEVENT_DIR="$i"
86         break;
87       fi
88     done
89   else
90     if test -f "$with_event/include/event.h"; then
91       LIBEVENT_DIR="$with_event"
92       break;
93     else
94       AC_MSG_ERROR([Can't find libevent headers under $with_event directory])
95     fi
96   fi
98   if test "x$LIBEVENT_DIR" = "x"; then
99     AC_MSG_ERROR([Unable to locate libevent headers, please use --with-event=<DIR>])
100   fi
102   AC_MSG_RESULT([$LIBEVENT_DIR])
103   LDFLAGS="$LDFLAGS -L$LIBEVENT_DIR/$LIBDIR"
104   CFLAGS="$CFLAGS -I$LIBEVENT_DIR/include"
105   LIBS="$LIBS -levent"
107   AC_CHECK_FUNCS([posix_fallocate])
109   AC_CHECK_LIB([socket], [bind], [
110     LIBS="$LIBS -lsocket"
111   ])
113   AC_CHECK_LIB([nsl], [inet_aton], [
114     LIBS="$LIBS -lnsl"
115   ])
117   if test "$BEAN_RPATH" != "no"; then
118     LDFLAGS="$LDFLAGS $ld_runpath_switch$LIBEVENT_DIR/$LIBDIR"
119   fi
121   AC_CHECK_LIB([event], [event_get_version], [], [
122     AC_MSG_ERROR([event_get_version() is missing, check config.log for more details])
123   ])
125   AC_CHECK_LIB([event], [event_reinit], [], [
126     AC_MSG_ERROR([beanstalkd requires libevent version 1.4.1 or later.])
127   ])
129   if test -f "$LIBEVENT_DIR/$LIBDIR/libevent.so"; then
130     LIBEVENT="$LIBEVENT_DIR/$LIBDIR/libevent.so";
131   else 
132     if test -f "$LIBEVENT_DIR/lib/libevent.so"; then
133       LIBEVENT="$LIBEVENT_DIR/lib/libevent.so";
134     else 
135       if test -f "$LIBEVENT_DIR/lib64/libevent.so"; then 
136         LIBEVENT="$LIBEVENT_DIR/lib64/libevent.so";
137       fi
138     fi
139   fi
142 dnl }}}
144 dnl {{{ --enable-debug 
145 AC_ARG_ENABLE(debug,
146   [AS_HELP_STRING([--enable-debug],[enable debugging symbols and compile flags])
147   ],
148   [
149   if test x"$enableval" = xyes ; then
150     debug="yes"
151   else
152     debug="no"
153   fi
154   ]
157 if test x"$debug" = xyes ; then
158   AC_DEFINE([BEAN_DEBUG], [], [debug build])
160   if test x"$GCC" = xyes; then
161     dnl Remove any optimization flags from CFLAGS
162     changequote({,})
163     CFLAGS=`echo "$CFLAGS" | sed -e 's/-O[0-9s]*//g'`
164     CFLAGS=`echo "$CFLAGS" | sed -e 's/-g[0-2]\? //g'`
165     changequote([,])
166     CFLAGS="$CFLAGS -g3 -Wall -O0"
167   fi
169   dnl Do not strip symbols from developer object files.
170   INSTALL_STRIP_FLAG=""
171 else
172   dnl Make sure to strip symbols from non-developer object files.
173   INSTALL_STRIP_FLAG="-s"
175 dnl }}}
177 # Checks for typedefs, structures, and compiler characteristics.
178 AC_TYPE_UINT16_T
180 AC_SUBST(INSTALL_STRIP_FLAG)
182 AC_CONFIG_FILES([Makefile])
183 AC_OUTPUT
185 dnl vim700: ts=2 sw=2 et