Schooner memslap changes
[m6w6/libmemcached] / configure.ac
1 # libmemcached
2 # Copyright (C) 2008 Brian Aker, Monty Taylor
3 # All rights reserved.
4 #
5 # Use and distribution licensed under the BSD license. See
6 # the COPYING file in this directory for full text.
7
8 AC_PREREQ(2.59)
9 AC_INIT([libmemcached],[0.35],[http://tangent.org/552/libmemcached.html])
10 AC_CONFIG_SRCDIR([libmemcached/memcached.c])
11 AC_CONFIG_AUX_DIR(config)
12 AM_CONFIG_HEADER([config.h])
13 AC_CONFIG_MACRO_DIR([m4])
14
15 PANDORA_CANONICAL_TARGET
16
17 #shared library versioning
18 MEMCACHED_LIBRARY_VERSION=3:0:0
19 # | | |
20 # +------+ | +---+
21 # | | |
22 # current:revision:age
23 # | | |
24 # | | +- increment if interfaces have been added
25 # | | set to zero if interfaces have been removed or changed
26 # | +- increment if source code has changed
27 # | set to zero if current is incremented
28 # +- increment if interfaces have been added, removed or changed
29 AC_SUBST(MEMCACHED_LIBRARY_VERSION)
30 MEMCACHEDUTIL_LIBRARY_VERSION=0:0:0
31 AC_SUBST(MEMCACHEDUTIL_LIBRARY_VERSION)
32 MEMCACHEDPROTOCOL_LIBRARY_VERSION=0:0:0
33 AC_SUBST(MEMCACHEDPROTOCOL_LIBRARY_VERSION)
34
35
36 # libmemcached versioning when linked with GNU ld.
37 if test "$lt_cv_prog_gnu_ld" = "yes"
38 then
39 LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libmemcached/libmemcached.ver"
40 LD_UTIL_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libmemcached/util/libmemcachedutil.ver"
41 LD_PROTOCOL_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libmemcached/protocol/libmemcachedprotocol.ver"
42 fi
43 AC_SUBST(LD_VERSION_SCRIPT)
44 AC_SUBST(LD_UTIL_VERSION_SCRIPT)
45 AC_SUBST(LD_PROTOCOL_VERSION_SCRIPT)
46
47
48
49 #--------------------------------------------------------------------
50 # Check for libevent
51 #--------------------------------------------------------------------
52 trylibeventdir=""
53 AC_ARG_WITH(libevent,
54 [ --with-libevent=PATH Specify path to libevent installation ],
55 [
56 if test "x$withval" != "xno" ; then
57 trylibeventdir=$withval
58 fi
59 ]
60 )
61
62 dnl ------------------------------------------------------
63 dnl libevent detection. swiped from Tor. modified a bit.
64
65 LIBEVENT_URL=http://www.monkey.org/~provos/libevent/
66
67 AC_CACHE_CHECK([for libevent directory], ac_cv_libevent_dir, [
68 saved_LIBS="$LIBS"
69 saved_LDFLAGS="$LDFLAGS"
70 saved_CPPFLAGS="$CPPFLAGS"
71 le_found=no
72 for ledir in $trylibeventdir "" $prefix /usr/local ; do
73 LDFLAGS="$saved_LDFLAGS"
74 LIBS="$saved_LIBS -levent"
75
76 # Skip the directory if it isn't there.
77 if test ! -z "$ledir" -a ! -d "$ledir" ; then
78 continue;
79 fi
80 if test ! -z "$ledir" ; then
81 if test -d "$ledir/lib" ; then
82 LDFLAGS="-L$ledir/lib $LDFLAGS"
83 else
84 LDFLAGS="-L$ledir $LDFLAGS"
85 fi
86 if test -d "$ledir/include" ; then
87 CPPFLAGS="-I$ledir/include $CPPFLAGS"
88 else
89 CPPFLAGS="-I$ledir $CPPFLAGS"
90 fi
91 fi
92 # Can I compile and link it?
93 AC_TRY_LINK([#include <sys/time.h>
94 #include <sys/types.h>
95 #include <event.h>], [ event_init(); ],
96 [ libevent_linked=yes ], [ libevent_linked=no ])
97 if test $libevent_linked = yes; then
98 if test ! -z "$ledir" ; then
99 ac_cv_libevent_dir=$ledir
100 else
101 ac_cv_libevent_dir="(system)"
102 fi
103 le_found=yes
104 break
105 fi
106 done
107 LIBS="$saved_LIBS"
108 LDFLAGS="$saved_LDFLAGS"
109 CPPFLAGS="$saved_CPPFLAGS"
110 if test $le_found = no ; then
111 AC_MSG_ERROR([libevent is required. You can get it from $LIBEVENT_URL
112
113 If it's already installed, specify its path using --with-libevent=/dir/
114 ])
115 fi
116 ])
117 LIBS="$LIBS -levent"
118 if test $ac_cv_libevent_dir != "(system)"; then
119 if test -d "$ac_cv_libevent_dir/lib" ; then
120 LDFLAGS="-L$ac_cv_libevent_dir/lib $LDFLAGS"
121 le_libdir="$ac_cv_libevent_dir/lib"
122 else
123 LDFLAGS="-L$ac_cv_libevent_dir $LDFLAGS"
124 le_libdir="$ac_cv_libevent_dir"
125 fi
126 if test -d "$ac_cv_libevent_dir/include" ; then
127 CPPFLAGS="-I$ac_cv_libevent_dir/include $CPPFLAGS"
128 else
129 CPPFLAGS="-I$ac_cv_libevent_dir $CPPFLAGS"
130 fi
131 fi
132
133
134 #--------------------------------------------------------------------
135 # Check for libpthread
136 #--------------------------------------------------------------------
137
138 ACX_PTHREAD(,AC_MSG_ERROR(could not find libpthread))
139 LIBS="${PTHREAD_LIBS} ${LIBS}"
140 CFLAGS="${PTHREAD_CFLAGS} ${CFLAGS}"
141 CC="$PTHREAD_CC"
142
143
144 AC_SEARCH_LIBS(getopt_long, gnugetopt)
145 AC_SEARCH_LIBS(socket, socket)
146 AC_SEARCH_LIBS(gethostbyname, nsl)
147
148 save_LIBS="$LIBS"
149 LIBS="$LIBS -lm"
150 AC_LINK_IFELSE(
151 [AC_LANG_PROGRAM(
152 [[
153 #include <stdlib.h>
154 ]],[[
155 float f= floorf((float) 1.0);
156 ]],
157 [LIBM="-lm"],[LIBM=""])])
158
159 AC_SUBST(LIBM)
160 LIBS="$save_LIBS"
161
162 AC_SEARCH_LIBS(floorf, m)
163
164 dnl Specialty checks
165 DETECT_BYTEORDER
166 ENABLE_UTILLIB
167 SETSOCKOPT_SANITY
168 ENABLE_HSIEH_HASH
169 REQUIRE_POD2MAN
170 PROTOCOL_BINARY_TEST
171 WITH_MEMCACHED
172 ENABLE_DEPRECATED
173 PANDORA_HAVE_LIBINNODB
174
175 AC_CONFIG_FILES([
176 Makefile
177 clients/Makefile
178 tests/Makefile
179 docs/Makefile
180 example/Makefile
181 libmemcached/Makefile
182 libmemcached/memcached_configure.h
183 support/Makefile
184 support/libmemcached.pc
185 support/libmemcached.spec
186 support/libmemcached-fc.spec
187 ])
188 AC_OUTPUT
189
190 echo "---"
191 echo "Configuration summary for $PACKAGE_NAME version $VERSION"
192 echo ""
193 echo " * Installation prefix: $prefix"
194 echo " * System type: $host_vendor-$host_os"
195 echo " * Host CPU: $host_cpu"
196 echo " * C Compiler: $CC_VERSION"
197 echo " * Assertions enabled: $ac_cv_assert"
198 echo " * Debug enabled: $with_debug"
199 echo " * Warnings as failure: $ac_cv_warnings_as_errors"
200 echo ""
201 echo "---"
202