3 # Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/
4 # Copyright (C) 2006-2010 Brian Aker, Monty Taylor, Trond Norbye
7 # Use and distribution licensed under the BSD license. See
8 # the COPYING file in this directory for full text.
10 AC_INIT
([libmemcached
],[1.0.11],[http
://libmemcached.org
/])
12 AC_CONFIG_AUX_DIR
([config
])
23 AC_CONFIG_MACRO_DIR
([m4])
25 AC_CONFIG_HEADERS
([config.h
:config.
in])dnl Keep filename to
8.3 for MS-DOS.
27 AC_CONFIG_SRCDIR
([libmemcached
/memcached.cc
])
29 PANDORA_CANONICAL_TARGET
30 AC_CHECK_PROGS
([YACC
], ['bison'], [:])
31 AC_CHECK_PROGS
([LEX
], ['flex'], [:])
33 #shared library versioning
34 MEMCACHED_UTIL_LIBRARY_VERSION
=2:0:0
35 MEMCACHED_PROTOCAL_LIBRARY_VERSION
=0:0:0
36 MEMCACHED_LIBRARY_VERSION
=11:0:0
40 # current:revision:age
42 # | | +- increment if interfaces have been added
43 # | | set to zero if interfaces have been removed or changed
44 # | +- increment if source code has changed
45 # | set to zero if current is incremented
46 # +- increment if interfaces have been added, removed or changed
47 AC_SUBST
(MEMCACHED_UTIL_LIBRARY_VERSION
)
48 AC_SUBST
(MEMCACHED_PROTOCAL_LIBRARY_VERSION
)
49 AC_SUBST
(MEMCACHED_LIBRARY_VERSION
)
52 HASHKIT_LIBRARY_VERSION
=2:0:0
53 AC_SUBST
(HASHKIT_LIBRARY_VERSION
)
61 AX_CXX_HEADER_STDCXX_98
62 if test "$ax_cv_cxx_stdcxx_98" = no
; then
63 AC_MSG_ERROR
([Your system lacks a new enough C
++ compiler
])
66 # Adding support for libtest
67 m4_include
([libtest
/yatl.
m4])
69 m4_include
([m
4/memcached_sasl.
m4])
70 m4_include
([m
4/gearmand.
m4])
71 m4_include
([m
4/libgearman.
m4])
73 AM_CONDITIONAL
([BUILDING_LIBMEMCACHED
], [true
])
74 AM_CONDITIONAL
([HAVE_LIBMEMCACHED
], [false
])
75 AM_CONDITIONAL
([HAVE_LIBDRIZZLE
], [false
])
76 AC_DEFINE
([HAVE_LIBMEMCACHED
], [1], [Enables libmemcached Support
])
78 AM_CONDITIONAL
([BUILDING_GEARMAN
], [false
])
80 AC_SEARCH_LIBS
(getopt_long
, gnugetopt
)
81 AC_SEARCH_LIBS
(gethostbyname
, nsl
)
95 # Checks for programs.
98 # Checks for libraries.
100 # Checks for header files.
102 # Checks for typedefs, structures, and compiler characteristics.
104 # Checks for library functions.
106 AC_CHECK_FUNCS
([alarm
])
107 AC_CHECK_FUNCS
([clock_gettime
])
108 AC_CHECK_FUNCS
([dup2
])
109 AC_CHECK_FUNCS
([getline
])
110 AC_CHECK_FUNCS
([gettimeofday
])
111 AC_CHECK_FUNCS
([memchr
])
112 AC_CHECK_FUNCS
([memmove
])
113 AC_CHECK_FUNCS
([memset
])
114 AC_CHECK_FUNCS
([pipe2
])
115 AC_CHECK_FUNCS
([select])
116 AC_CHECK_FUNCS
([setenv
])
117 AC_CHECK_FUNCS
([socket
])
118 AC_CHECK_FUNCS
([sqrt
])
119 AC_CHECK_FUNCS
([strcasecmp
])
120 AC_CHECK_FUNCS
([strchr
])
121 AC_CHECK_FUNCS
([strdup
])
122 AC_CHECK_FUNCS
([strerror
])
123 AC_CHECK_FUNCS
([strtol
])
124 AC_CHECK_FUNCS
([strtoul
])
125 AC_CHECK_FUNCS
([strtoull
])
127 AC_CHECK_HEADERS
([arpa
/inet.h
])
128 AC_CHECK_HEADERS
([errno.h
])
129 AC_CHECK_HEADERS
([execinfo.h
])
130 AC_CHECK_HEADERS
([fcntl.h
])
131 AC_CHECK_HEADERS
([inttypes.h
])
132 AC_CHECK_HEADERS
([libintl.h
])
133 AC_CHECK_HEADERS
([limits.h
])
134 AC_CHECK_HEADERS
([malloc.h
])
135 AC_CHECK_HEADERS
([math.h
])
136 AC_CHECK_HEADERS
([netdb.h
])
137 AC_CHECK_HEADERS
([netinet
/in.h
])
138 AC_CHECK_HEADERS
([pthread.h
])
139 AC_CHECK_HEADERS
([stdarg.h
])
140 AC_CHECK_HEADERS
([stddef.h
])
141 AC_CHECK_HEADERS
([stdlib.h
])
142 AC_CHECK_HEADERS
([sys
/time.h
])
143 AC_CHECK_HEADERS
([unistd.h
])
144 AC_CHECK_HEADERS
([cxxabi.h
],
145 AC_DEFINE
([HAVE_CXXABI_H
], [1], [Have cxxabi.h
]),
146 AC_DEFINE
([HAVE_CXXABI_H
], [0], [Have cxxabi.h
]))
148 AC_CHECK_HEADERS
([sys
/sysctl.h
])
150 AC_CHECK_HEADER
(umem.h
, [
151 AC_DEFINE
([HAVE_UMEM_H
], 1,
152 [Define this
if you have umem.h
])
154 ], [build_cache
=yes])
156 AM_CONDITIONAL
([BUILD_CACHE
], [test "x$build_cache" = "xyes"])
161 AC_FUNC_ERROR_AT_LINE
185 AX_CXX_GCC_ABI_DEMANGLE
190 dnl The sasl functions should only be visible
if we build with sasl support
192 AS_IF
([test "x$ac_enable_sasl" = "xyes"], [
193 [ LIBMEMCACHED_WITH_SASL_SUPPORT
="#define LIBMEMCACHED_WITH_SASL_SUPPORT 1" ]
194 ],[ LIBMEMCACHED_WITH_SASL_SUPPORT
="#define LIBMEMCACHED_WITH_SASL_SUPPORT 0" ])
195 AC_SUBST
(LIBMEMCACHED_WITH_SASL_SUPPORT
)
197 AC_CHECK_LIB
([rt
], [clock_gettime
],
201 AC_DEFINE
([HAVE_LIBRT
], [ 1 ], [Have clock_gettime
])
204 AC_DEFINE
([HAVE_LIBRT
], [ 0 ], [Have clock_gettime
])
207 AC_CHECK_LIB
([m
], [floor
])
208 AC_CHECK_FUNCS
([sigignore
])
210 AC_CHECK_HEADERS
([atomic.h
])
211 AS_IF
([test "x$ac_cv_header_atomic_h" = "xyes"],[
212 AC_CHECK_FUNCS
(atomic_add_64
)
213 AC_CHECK_FUNCS
(atomic_add_32
)
214 AS_IF
([test "x$ac_cv_func_atomic_add_64" = "xyes" -a "x$ac_cv_func_atomic_add_32" = "xyes"],[
215 AC_DEFINE
([USE_ATOMIC_H
],
217 [Define to true
if you want to use functions from atomic.h
])])])
219 AC_DEFINE
([HAVE_LIBDRIZZLE
], [0], [Support
for libdrizzle
])
220 AC_DEFINE
([HAVE_DRIZZLED_BINARY
], [0], [Support
for DrizzleD
])
221 AC_DEFINE
([DRIZZLED_BINARY
], [0], [Support
for DrizzleD
])
222 AC_DEFINE
([GEARMAND_BLOBSLAP_WORKER
], [0], [Support
for Gearman Blobslap worker
])
223 AC_DEFINE
([HAVE_LIBPQ
], [0], [Support
for Postgres
])
224 AC_DEFINE
([HAVE_LIBCURL
], [0], [Support
for libcurl
])
226 AC_DEFINE
([HAVE_MEMCACHED_LIGHT_BINARY
], [1], [Support
for memcached_light
])
227 AC_DEFINE
([MEMCACHED_LIGHT_BINARY
], ["example/memcached_light"], [Support
for memcached_light
])
229 dnl Check
for the requirements
for running memcached with
less privileges
230 dnl than the default privilege
set. On Solaris we need setppriv and priv.h
231 dnl If you want to add support
for other platforms you should check
for
232 dnl your requirements
, define HAVE_DROP_PRIVILEGES
, and
make sure you add
233 dnl the
source file containing the implementation into memcached_SOURCE
235 AC_CHECK_FUNCS
(setppriv
, [
236 AC_CHECK_HEADER
(priv.h
, [
237 AC_DEFINE
([HAVE_DROP_PRIVILEGES
], 1,
238 [Define this
if you have an implementation of drop_privileges
()])
239 build_solaris_privs
=yes
243 AC_CHECK_HEADERS_ONCE
(winsock2.h poll.h sys
/wait.h fnmatch.h
)
244 AM_CONDITIONAL
(BUILD_POLL
, test "x$ac_cv_header_poll_h" = "xno")
245 AM_CONDITIONAL
(BUILD_WIN32_WRAPPERS
, test "x$ac_cv_header_winsock2_h" = "xyes")
246 AS_IF
(test "x$ac_cv_header_winsock2_h" = "xyes",
247 [AM_LDFLAGS
="$AM_LDFLAGS -lws2_32"
248 AM_CFLAGS
="$AM_CFLAGS $NO_WERROR"
249 AM_CXXFLAGS
="$AM_CXXFLAGS $NO_WERROR"
253 AX_CHECK_LIBRARY
([LIBEVENT
], [event.h
], [event
],
254 [LIBEVENT_LDFLAGS
="-levent"],
255 [AC_MSG_WARN
([Unable to
find libevent
])])
256 AM_CONDITIONAL
(HAVE_LIBEVENT
, test "x${ax_cv_have_LIBEVENT}" = "xyes")
258 AX_CHECK_SOCK_CLOEXEC
([AC_DEFINE
([HAVE_SOCK_CLOEXEC
], [1], [Check
for SOCK_CLOEXEC.
])],
259 [AC_DEFINE
([HAVE_SOCK_CLOEXEC
], [0], [Check
for SOCK_CLOEXEC.
])])
261 AX_UUID_GENERATE_TIME_SAFE
264 AX_PTHREAD
(, [AC_MSG_ERROR
([could not
find libpthread
])])
265 AX_PTHREAD_TIMEDJOIN_NP
270 AX_CXX_COMPILER_VERSION
271 AX_HARDEN_COMPILER_FLAGS
276 libhashkit-1.0
/configure.h
277 libmemcached-1.0
/configure.h
278 libmemcached-1.2
/configure.h
279 libmemcached-2.0
/configure.h
280 support
/libmemcached.pc
281 support
/libmemcached.spec
286 echo "Configuration summary for $PACKAGE_NAME version $VERSION"
288 echo " * Installation prefix: $prefix"
289 echo " * System type: $host_vendor-$host_os"
290 echo " * Host CPU: $host_cpu"
291 echo " * C Compiler: $CC_VERSION"
292 echo " * C Flags: $CFLAGS"
293 echo " * C++ Compiler: $CXX_VERSION"
294 echo " * C++ Flags: $CXXFLAGS"
295 echo " * CPP Flags: $CPPFLAGS"
296 echo " * Assertions enabled: $ac_cv_assert"
297 echo " * Debug enabled: $with_debug"
298 echo " * Warnings as failure: $ac_cv_warnings_as_errors"
299 echo " * SASL support: $ac_enable_sasl"
307 echo "* NOTE: You are on FreeBSD. BSD make will not work."
309 echo "* use 'gmake' To build libmemcached"