Update for version 1.0.13
[awesomized/libmemcached] / configure.ac
index b8bff611b149b1d09dc10b45e484847a2908bf09..feaadda389e30ecd66d822d06c33e1df57ff1330 100644 (file)
@@ -1,4 +1,3 @@
-#!/usr/bin/env bash
 # LibmemcacheD
 # Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/
 # Copyright (C) 2006-2010 Brian Aker, Monty Taylor, Trond Norbye
 # LibmemcacheD
 # Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/
 # Copyright (C) 2006-2010 Brian Aker, Monty Taylor, Trond Norbye
@@ -7,29 +6,21 @@
 # Use and distribution licensed under the BSD license.  See
 # the COPYING file in this directory for full text.
 
 # Use and distribution licensed under the BSD license.  See
 # the COPYING file in this directory for full text.
 
-AC_INIT([libmemcached],[1.0.12],[http://libmemcached.org/])
-
+AC_INIT([libmemcached],[1.0.13],[http://libmemcached.org/])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIR([m4])
 
 AC_CANONICAL_TARGET
 
 AC_CANONICAL_TARGET
+AC_ARG_PROGRAM
+AC_USE_SYSTEM_EXTENSIONS
 
 
-AM_INIT_AUTOMAKE
-
-AC_CANONICAL_HOST
-AC_CANONICAL_BUILD
+AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects foreign tar-ustar])
 
 AC_PREREQ([2.61])
 
 
 AC_PREREQ([2.61])
 
-AC_CONFIG_MACRO_DIR([m4])
-
 AC_CONFIG_HEADERS([config.h:config.in])dnl Keep filename to 8.3 for MS-DOS.
 AC_CONFIG_HEADERS([config.h:config.in])dnl Keep filename to 8.3 for MS-DOS.
-
 AC_CONFIG_SRCDIR([libmemcached/memcached.cc])
 
 AC_CONFIG_SRCDIR([libmemcached/memcached.cc])
 
-PANDORA_CANONICAL_TARGET
-AC_CHECK_PROGS([YACC], ['bison'], [:])
-AC_CHECK_PROGS([LEX], ['flex'], [:])
-
 #shared library versioning
 MEMCACHED_UTIL_LIBRARY_VERSION=2:0:0
 MEMCACHED_PROTOCAL_LIBRARY_VERSION=0:0:0
 #shared library versioning
 MEMCACHED_UTIL_LIBRARY_VERSION=2:0:0
 MEMCACHED_PROTOCAL_LIBRARY_VERSION=0:0:0
@@ -44,24 +35,30 @@ MEMCACHED_LIBRARY_VERSION=11:0:0
 #                  |        +- increment if source code has changed
 #                  |           set to zero if current is incremented
 #                  +- increment if interfaces have been added, removed or changed
 #                  |        +- increment if source code has changed
 #                  |           set to zero if current is incremented
 #                  +- increment if interfaces have been added, removed or changed
-AC_SUBST(MEMCACHED_UTIL_LIBRARY_VERSION)
-AC_SUBST(MEMCACHED_PROTOCAL_LIBRARY_VERSION)
-AC_SUBST(MEMCACHED_LIBRARY_VERSION)
+AC_SUBST([MEMCACHED_UTIL_LIBRARY_VERSION])
+AC_SUBST([MEMCACHED_PROTOCAL_LIBRARY_VERSION])
+AC_SUBST([MEMCACHED_LIBRARY_VERSION])
 
 
+AX_HEX_VERSION([LIBMEMCACHED],[$VERSION])
+AX_HEX_VERSION([LIBHASHKIT],[1.0.0])
 
 
-HASHKIT_LIBRARY_VERSION=2:0:0
-AC_SUBST(HASHKIT_LIBRARY_VERSION)
+m4_include([libhashkit/include.m4])
 
 LT_PREREQ([2.2])
 LT_INIT
 LT_LANG([C++])
 
 LT_PREREQ([2.2])
 LT_INIT
 LT_LANG([C++])
-LT_LANG([C])
+
+AX_ASSERT
+
+AX_PLATFORM
+
 gl_VISIBILITY
 gl_VISIBILITY
+m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
 AX_CXX_HEADER_STDCXX_98
 
 AX_CXX_HEADER_STDCXX_98
-  if test "$ax_cv_cxx_stdcxx_98" = no; then
-    AC_MSG_ERROR([Your system lacks a new enough C++ compiler])
-  fi
+AS_IF([ test "$ax_cv_cxx_stdcxx_98" = no ],[
+       AC_MSG_ERROR([Your system lacks a new enough C++ compiler])
+       ])
 
 # Adding support for libtest
 m4_include([libtest/yatl.m4])
 
 # Adding support for libtest
 m4_include([libtest/yatl.m4])
@@ -77,9 +74,6 @@ AC_DEFINE([HAVE_LIBMEMCACHED], [1], [Enables libmemcached Support])
 
 AM_CONDITIONAL([BUILDING_GEARMAN], [false])
 
 
 AM_CONDITIONAL([BUILDING_GEARMAN], [false])
 
-AC_SEARCH_LIBS(getopt_long, gnugetopt)
-AC_SEARCH_LIBS(gethostbyname, nsl)
-
 dnl Specialty checks
 AX_CXX_CINTTYPES
 CONFIG_EXTRA
 dnl Specialty checks
 AX_CXX_CINTTYPES
 CONFIG_EXTRA
@@ -93,18 +87,45 @@ PROTOCOL_BINARY_TEST
 ENABLE_DEPRECATED
 
 # Checks for programs.
 ENABLE_DEPRECATED
 
 # Checks for programs.
+AC_CHECK_PROGS([LEX], ['flex'], [:])
+AC_CHECK_PROGS([YACC], ['bison'], [:])
 AX_PROG_SPHINX_BUILD
 
 # Checks for libraries.
 AX_PROG_SPHINX_BUILD
 
 # Checks for libraries.
+AC_SEARCH_LIBS(getopt_long, gnugetopt)
+AC_SEARCH_LIBS(gethostbyname, nsl)
 
 # Checks for header files.
 
 # Checks for header files.
+AC_CHECK_HEADERS([arpa/inet.h])
+AC_CHECK_HEADERS([errno.h])
+AC_CHECK_HEADERS([dlfcn.h])
+AC_CHECK_HEADERS([execinfo.h])
+AC_CHECK_HEADERS([fcntl.h])
+AC_CHECK_HEADERS([inttypes.h])
+AC_CHECK_HEADERS([libintl.h])
+AC_CHECK_HEADERS([limits.h])
+AC_CHECK_HEADERS([malloc.h])
+AC_CHECK_HEADERS([math.h])
+AC_CHECK_HEADERS([netdb.h])
+AC_CHECK_HEADERS([netinet/in.h])
+AC_CHECK_HEADERS([netinet/tcp.h])
+AC_CHECK_HEADERS([pthread.h])
+AC_CHECK_HEADERS([stdarg.h])
+AC_CHECK_HEADERS([stddef.h])
+AC_CHECK_HEADERS([stdio.h])
+AC_CHECK_HEADERS([stdlib.h])
+AC_CHECK_HEADERS([sys/socket.h])
+AC_CHECK_HEADERS([sys/sysctl.h])
+AC_CHECK_HEADERS([sys/time.h])
+AC_CHECK_HEADERS([time.h])
+AC_CHECK_HEADERS([unistd.h])
+AC_HEADER_TIME
 
 # Checks for typedefs, structures, and compiler characteristics.
 
 # Checks for library functions.
 
 AC_CHECK_FUNCS([alarm])
 
 # Checks for typedefs, structures, and compiler characteristics.
 
 # Checks for library functions.
 
 AC_CHECK_FUNCS([alarm])
-AC_CHECK_FUNCS([clock_gettime])
 AC_CHECK_FUNCS([dup2])
 AC_CHECK_FUNCS([getline])
 AC_CHECK_FUNCS([gettimeofday])
 AC_CHECK_FUNCS([dup2])
 AC_CHECK_FUNCS([getline])
 AC_CHECK_FUNCS([gettimeofday])
@@ -123,29 +144,12 @@ AC_CHECK_FUNCS([strerror])
 AC_CHECK_FUNCS([strtol])
 AC_CHECK_FUNCS([strtoul])
 AC_CHECK_FUNCS([strtoull])
 AC_CHECK_FUNCS([strtol])
 AC_CHECK_FUNCS([strtoul])
 AC_CHECK_FUNCS([strtoull])
-
-AC_CHECK_HEADERS([arpa/inet.h])
-AC_CHECK_HEADERS([errno.h])
-AC_CHECK_HEADERS([execinfo.h])
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([inttypes.h])
-AC_CHECK_HEADERS([libintl.h])
-AC_CHECK_HEADERS([limits.h])
-AC_CHECK_HEADERS([malloc.h])
-AC_CHECK_HEADERS([math.h])
-AC_CHECK_HEADERS([netdb.h])
-AC_CHECK_HEADERS([netinet/in.h])
-AC_CHECK_HEADERS([pthread.h])
-AC_CHECK_HEADERS([stdarg.h])
-AC_CHECK_HEADERS([stddef.h])
-AC_CHECK_HEADERS([stdlib.h])
-AC_CHECK_HEADERS([sys/time.h])
-AC_CHECK_HEADERS([unistd.h])
-AC_CHECK_HEADERS([cxxabi.h], 
-                 AC_DEFINE([HAVE_CXXABI_H], [1], [Have cxxabi.h]),
-                 AC_DEFINE([HAVE_CXXABI_H], [0], [Have cxxabi.h]))
-
-AC_CHECK_HEADERS([sys/sysctl.h])
+AC_FUNC_ALLOCA
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_FORK
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_FUNC_STRERROR_R
 
 AC_CHECK_HEADER(umem.h, [
    AC_DEFINE([HAVE_UMEM_H], 1,
 
 AC_CHECK_HEADER(umem.h, [
    AC_DEFINE([HAVE_UMEM_H], 1,
@@ -157,12 +161,6 @@ AM_CONDITIONAL([BUILD_CACHE], [test "x$build_cache" = "xyes"])
 
 AX_COMPILER_VENDOR
 
 
 AX_COMPILER_VENDOR
 
-AC_FUNC_ALLOCA
-AC_FUNC_ERROR_AT_LINE
-AC_FUNC_FORK
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
-AC_FUNC_STRERROR_R
 AC_HEADER_STDBOOL
 AC_TYPE_INT16_T
 AC_TYPE_INT32_T
 AC_HEADER_STDBOOL
 AC_TYPE_INT16_T
 AC_TYPE_INT32_T
@@ -185,6 +183,7 @@ AC_C_RESTRICT
 AX_CXX_GCC_ABI_DEMANGLE
 
 AX_SASL_CHECK
 AX_CXX_GCC_ABI_DEMANGLE
 
 AX_SASL_CHECK
+AX_LIBEVENT
 
 dnl
 dnl The sasl functions should only be visible if we build with sasl support
 
 dnl
 dnl The sasl functions should only be visible if we build with sasl support
@@ -194,23 +193,30 @@ AS_IF([test "x$ac_enable_sasl" = "xyes"], [
        ],[ LIBMEMCACHED_WITH_SASL_SUPPORT="#define LIBMEMCACHED_WITH_SASL_SUPPORT 0" ])
 AC_SUBST(LIBMEMCACHED_WITH_SASL_SUPPORT)
 
        ],[ LIBMEMCACHED_WITH_SASL_SUPPORT="#define LIBMEMCACHED_WITH_SASL_SUPPORT 0" ])
 AC_SUBST(LIBMEMCACHED_WITH_SASL_SUPPORT)
 
-AC_CHECK_LIB([rt], [clock_gettime], 
-             [
+AC_CHECK_LIB([rt], [clock_gettime], [
               RT_LIB="-lrt"
               AC_SUBST(RT_LIB)
               RT_LIB="-lrt"
               AC_SUBST(RT_LIB)
-              AC_DEFINE([HAVE_LIBRT], [ 1 ], [Have clock_gettime])
-              ], 
-             [
-              AC_DEFINE([HAVE_LIBRT], [ 0 ], [Have clock_gettime])
+              AC_DEFINE([HAVE_CLOCK_GETTIME], [ 1 ], [Have clock_gettime])
+              ],[
+              AC_DEFINE([HAVE_CLOCK_GETTIME], [ 0 ], [Have clock_gettime])
               ])
 
               ])
 
+# Check for the ability to call dlopen
+AC_CHECK_LIB([dl], [dlopen], [
+              DL_LIB="-ldl"
+              AC_SUBST([DL_LIB])
+              AC_DEFINE([HAVE_LIBDL],[1],[Have dlopen])
+              ],[
+                 AC_DEFINE([HAVE_LIBDL], [0], [Have dlopen])
+                 ])
+
 AC_CHECK_LIB([m], [floor])
 AC_CHECK_FUNCS([sigignore])
 
 AC_CHECK_HEADERS([atomic.h])
 AS_IF([test "x$ac_cv_header_atomic_h" = "xyes"],[
 AC_CHECK_LIB([m], [floor])
 AC_CHECK_FUNCS([sigignore])
 
 AC_CHECK_HEADERS([atomic.h])
 AS_IF([test "x$ac_cv_header_atomic_h" = "xyes"],[
-      AC_CHECK_FUNCS(atomic_add_64)
-      AC_CHECK_FUNCS(atomic_add_32)
+      AC_CHECK_FUNCS([atomic_add_64])
+      AC_CHECK_FUNCS([atomic_add_32])
       AS_IF([test "x$ac_cv_func_atomic_add_64" = "xyes" -a "x$ac_cv_func_atomic_add_32" = "xyes"],[
             AC_DEFINE([USE_ATOMIC_H],
                      [1],
       AS_IF([test "x$ac_cv_func_atomic_add_64" = "xyes" -a "x$ac_cv_func_atomic_add_32" = "xyes"],[
             AC_DEFINE([USE_ATOMIC_H],
                      [1],
@@ -232,8 +238,8 @@ dnl If you want to add support for other platforms you should check for
 dnl your requirements, define HAVE_DROP_PRIVILEGES, and make sure you add
 dnl the source file containing the implementation into memcached_SOURCE
 dnl in Makefile.am
 dnl your requirements, define HAVE_DROP_PRIVILEGES, and make sure you add
 dnl the source file containing the implementation into memcached_SOURCE
 dnl in Makefile.am
-AC_CHECK_FUNCS(setppriv, [
-   AC_CHECK_HEADER(priv.h, [
+AC_CHECK_FUNCS([setppriv], [
+   AC_CHECK_HEADER([priv.h], [
       AC_DEFINE([HAVE_DROP_PRIVILEGES], 1,
          [Define this if you have an implementation of drop_privileges()])
       build_solaris_privs=yes
       AC_DEFINE([HAVE_DROP_PRIVILEGES], 1,
          [Define this if you have an implementation of drop_privileges()])
       build_solaris_privs=yes
@@ -250,33 +256,24 @@ AS_IF(test "x$ac_cv_header_winsock2_h" = "xyes",
       ])
 SOCKET_SEND_FLAGS
 
       ])
 SOCKET_SEND_FLAGS
 
-AX_CHECK_LIBRARY([LIBEVENT], [event.h], [event], 
-                 [LIBEVENT_LDFLAGS="-levent"],
-                 [AC_MSG_WARN([Unable to find libevent])])
-AM_CONDITIONAL(HAVE_LIBEVENT, test "x${ax_cv_have_LIBEVENT}" = "xyes")
-
-AX_CHECK_SOCK_CLOEXEC([AC_DEFINE([HAVE_SOCK_CLOEXEC], [1], [Check for SOCK_CLOEXEC.])],
-                       [AC_DEFINE([HAVE_SOCK_CLOEXEC], [0], [Check for SOCK_CLOEXEC.])])
-
 AX_UUID_GENERATE_TIME_SAFE
 
 
 AX_PTHREAD(, [AC_MSG_ERROR([could not find libpthread])])
 AX_PTHREAD_TIMEDJOIN_NP
 
 AX_UUID_GENERATE_TIME_SAFE
 
 
 AX_PTHREAD(, [AC_MSG_ERROR([could not find libpthread])])
 AX_PTHREAD_TIMEDJOIN_NP
 
+PANDORA_ENABLE_DTRACE
 AX_ENDIAN
 AX_ENDIAN
-AX_HEX_VERSION
 AX_ASSERT
 AX_CXX_COMPILER_VERSION
 AX_HARDEN_COMPILER_FLAGS
 
 AX_ASSERT
 AX_CXX_COMPILER_VERSION
 AX_HARDEN_COMPILER_FLAGS
 
+AX_AM_JOBSERVER([yes])
+
 AC_CONFIG_FILES([
   Makefile
   docs/conf.py
 AC_CONFIG_FILES([
   Makefile
   docs/conf.py
-  libhashkit-1.0/configure.h
   libmemcached-1.0/configure.h
   libmemcached-1.0/configure.h
-  libmemcached-1.2/configure.h
-  libmemcached-2.0/configure.h
   support/libmemcached.pc
   support/libmemcached.spec
   ])
   support/libmemcached.pc
   support/libmemcached.spec
   ])
@@ -293,10 +290,12 @@ echo "   * C Flags:                   $CFLAGS"
 echo "   * C++ Compiler:              $CXX_VERSION"
 echo "   * C++ Flags:                 $CXXFLAGS"
 echo "   * CPP Flags:                 $CPPFLAGS"
 echo "   * C++ Compiler:              $CXX_VERSION"
 echo "   * C++ Flags:                 $CXXFLAGS"
 echo "   * CPP Flags:                 $CPPFLAGS"
-echo "   * Assertions enabled:        $ac_cv_assert"
-echo "   * Debug enabled:             $with_debug"
+echo "   * Assertions enabled:        $ax_enable_assert"
+echo "   * Debug enabled:             $ax_enable_debug"
 echo "   * Warnings as failure:       $ac_cv_warnings_as_errors"
 echo "   * SASL support:              $ac_enable_sasl"
 echo "   * Warnings as failure:       $ac_cv_warnings_as_errors"
 echo "   * SASL support:              $ac_enable_sasl"
+echo "   * make -j:                   $enable_jobserver"
+echo "   * VCS checkout:              $ac_cv_vcs_checkout"
 echo ""
 echo "---"
 
 echo ""
 echo "---"