Format configure
[awesomized/libmemcached] / configure.ac
index 98c29e89c3c2ffe0a72dd3eb37ac43f3c01a873b..60a6fb575b7193b2cf4df6cf55c7cb4b0bdf2aaf 100644 (file)
@@ -6,7 +6,7 @@
 # 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.14],[http://libmemcached.org/])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 
@@ -14,11 +14,11 @@ AC_CANONICAL_TARGET
 AC_ARG_PROGRAM
 AC_USE_SYSTEM_EXTENSIONS
 
 AC_ARG_PROGRAM
 AC_USE_SYSTEM_EXTENSIONS
 
-AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects foreign tar-ustar])
+AM_INIT_AUTOMAKE([1.11 color-tests -Wno-portability subdir-objects foreign tar-ustar])
 
 AC_PREREQ([2.61])
 
 
 AC_PREREQ([2.61])
 
-AC_CONFIG_HEADERS([config.h:config.in])dnl Keep filename to 8.3 for MS-DOS.
+AC_CONFIG_HEADERS([mem_config.h:mem_config.in])dnl Keep filename to 8.3 for MS-DOS.
 AC_CONFIG_SRCDIR([libmemcached/memcached.cc])
 
 #shared library versioning
 AC_CONFIG_SRCDIR([libmemcached/memcached.cc])
 
 #shared library versioning
@@ -35,20 +35,23 @@ 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])
 
 
-HASHKIT_LIBRARY_VERSION=2:0:0
-AC_SUBST(HASHKIT_LIBRARY_VERSION)
+AX_HEX_VERSION([LIBMEMCACHED],[$VERSION])
+AX_HEX_VERSION([LIBHASHKIT],[1.0.0])
+
+m4_include([libhashkit/include.m4])
 
 LT_PREREQ([2.2])
 LT_INIT
 LT_LANG([C++])
 
 
 LT_PREREQ([2.2])
 LT_INIT
 LT_LANG([C++])
 
+AX_ASSERT
+
 AX_PLATFORM
 
 AX_PLATFORM
 
-gl_VISIBILITY
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
 AX_CXX_HEADER_STDCXX_98
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
 AX_CXX_HEADER_STDCXX_98
@@ -56,6 +59,20 @@ AS_IF([ test "$ax_cv_cxx_stdcxx_98" = no ],[
        AC_MSG_ERROR([Your system lacks a new enough C++ compiler])
        ])
 
        AC_MSG_ERROR([Your system lacks a new enough C++ compiler])
        ])
 
+AC_DEFUN([LIBMEMCACHED_PROTOCOL],
+         [AC_ARG_ENABLE([libmemcachedprotocol],
+                        [AS_HELP_STRING([--enable-libmemcachedprotocol],
+                                        [Enable libmemcachedprotocol])],
+                                        [ax_enable_libmemcachedprotocol=yes],
+                                        [ax_enable_libmemcachedprotocol=no])
+
+         AM_CONDITIONAL([BUILD_LIBMEMCACHED_PROTOCOL],[test "$ax_enable_libmemcachedprotocol" = "yes"])
+
+         AC_MSG_CHECKING([for libmemcachedprotocol])
+         AC_MSG_RESULT([$ax_enable_libmemcachedprotocol])
+         ])
+LIBMEMCACHED_PROTOCOL
+
 # Adding support for libtest
 m4_include([libtest/yatl.m4])
 
 # Adding support for libtest
 m4_include([libtest/yatl.m4])
 
@@ -88,8 +105,8 @@ 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)
+AC_SEARCH_LIBS([getopt_long],[gnugetopt])
+AC_SEARCH_LIBS([gethostbyname],[nsl])
 
 # Checks for header files.
 AC_CHECK_HEADERS([arpa/inet.h])
 
 # Checks for header files.
 AC_CHECK_HEADERS([arpa/inet.h])
@@ -100,12 +117,12 @@ AC_CHECK_HEADERS([fcntl.h])
 AC_CHECK_HEADERS([inttypes.h])
 AC_CHECK_HEADERS([libintl.h])
 AC_CHECK_HEADERS([limits.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([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([spawn.h])
 AC_CHECK_HEADERS([stdarg.h])
 AC_CHECK_HEADERS([stddef.h])
 AC_CHECK_HEADERS([stdio.h])
 AC_CHECK_HEADERS([stdarg.h])
 AC_CHECK_HEADERS([stddef.h])
 AC_CHECK_HEADERS([stdio.h])
@@ -113,9 +130,13 @@ 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([sys/socket.h])
 AC_CHECK_HEADERS([sys/sysctl.h])
 AC_CHECK_HEADERS([sys/time.h])
+AC_CHECK_HEADERS([sys/un.h])
 AC_CHECK_HEADERS([time.h])
 AC_CHECK_HEADERS([unistd.h])
 AC_CHECK_HEADERS([time.h])
 AC_CHECK_HEADERS([unistd.h])
-AC_HEADER_TIME
+
+# Windows only
+AC_CHECK_HEADERS([winsock2.h])
+AC_CHECK_HEADERS([ws2tcpip.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 
 
 # Checks for typedefs, structures, and compiler characteristics.
 
@@ -123,6 +144,7 @@ AC_HEADER_TIME
 
 AC_CHECK_FUNCS([alarm])
 AC_CHECK_FUNCS([dup2])
 
 AC_CHECK_FUNCS([alarm])
 AC_CHECK_FUNCS([dup2])
+AC_CHECK_FUNCS([fcntl])
 AC_CHECK_FUNCS([getline])
 AC_CHECK_FUNCS([gettimeofday])
 AC_CHECK_FUNCS([memchr])
 AC_CHECK_FUNCS([getline])
 AC_CHECK_FUNCS([gettimeofday])
 AC_CHECK_FUNCS([memchr])
@@ -143,17 +165,14 @@ AC_CHECK_FUNCS([strtoull])
 AC_FUNC_ALLOCA
 AC_FUNC_ERROR_AT_LINE
 AC_FUNC_FORK
 AC_FUNC_ALLOCA
 AC_FUNC_ERROR_AT_LINE
 AC_FUNC_FORK
-AC_FUNC_MALLOC
-AC_FUNC_REALLOC
 AC_FUNC_STRERROR_R
 
 AC_FUNC_STRERROR_R
 
-AC_CHECK_HEADER(umem.h, [
-   AC_DEFINE([HAVE_UMEM_H], 1,
-         [Define this if you have umem.h])
-   build_cache=no
-], [build_cache=yes])
+AC_CHECK_HEADER([umem.h],
+                [AC_DEFINE([HAVE_UMEM_H],[1],[Define this if you have umem.h])
+                build_cache=no],
+                [build_cache=yes])
 
 
-AM_CONDITIONAL([BUILD_CACHE], [test "x$build_cache" = "xyes"])
+AM_CONDITIONAL([BUILD_CACHE],[test "x$build_cache" = "xyes"])
 
 AX_COMPILER_VENDOR
 
 
 AX_COMPILER_VENDOR
 
@@ -181,52 +200,44 @@ AX_CXX_GCC_ABI_DEMANGLE
 AX_SASL_CHECK
 AX_LIBEVENT
 
 AX_SASL_CHECK
 AX_LIBEVENT
 
-dnl
-dnl The sasl functions should only be visible if we build with sasl support
-dnl
-AS_IF([test "x$ac_enable_sasl" = "xyes"], [
-       [ LIBMEMCACHED_WITH_SASL_SUPPORT="#define LIBMEMCACHED_WITH_SASL_SUPPORT 1" ]
-       ],[ LIBMEMCACHED_WITH_SASL_SUPPORT="#define LIBMEMCACHED_WITH_SASL_SUPPORT 0" ])
-AC_SUBST(LIBMEMCACHED_WITH_SASL_SUPPORT)
+#
+# The sasl functions should only be visible if we build with sasl support
+#
+AS_IF([test "x$ac_enable_sasl" = "xyes"],
+      [LIBMEMCACHED_WITH_SASL_SUPPORT="#define LIBMEMCACHED_WITH_SASL_SUPPORT 1"],
+      [LIBMEMCACHED_WITH_SASL_SUPPORT="#define LIBMEMCACHED_WITH_SASL_SUPPORT 0"])
+AC_SUBST([LIBMEMCACHED_WITH_SASL_SUPPORT])
 
 
-AC_CHECK_LIB([rt], [clock_gettime], [
-              RT_LIB="-lrt"
+AC_CHECK_LIB([rt],[clock_gettime],
+             [RT_LIB="-lrt"
               AC_SUBST(RT_LIB)
               AC_SUBST(RT_LIB)
-              AC_DEFINE([HAVE_CLOCK_GETTIME], [ 1 ], [Have clock_gettime])
-              ],[
-              AC_DEFINE([HAVE_CLOCK_GETTIME], [ 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
 
 # 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])
+AS_IF([test "x$enable_static" = "xyes"],
+      [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])
 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])
+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_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],
-                      [Define to true if you want to use functions from atomic.h])])])
-
-AC_DEFINE([HAVE_LIBDRIZZLE], [0], [Support for libdrizzle])
-AC_DEFINE([HAVE_DRIZZLED_BINARY], [0], [Support for DrizzleD])
-AC_DEFINE([DRIZZLED_BINARY], [0], [Support for DrizzleD])
-AC_DEFINE([GEARMAND_BLOBSLAP_WORKER], [0], [Support for Gearman Blobslap worker])
-AC_DEFINE([HAVE_LIBPQ], [0], [Support for Postgres])
-AC_DEFINE([HAVE_LIBCURL], [0], [Support for libcurl])
+      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],[Define to true if you want to use functions from atomic.h])])])
 
 
-AC_DEFINE([HAVE_MEMCACHED_LIGHT_BINARY], [1], [Support for memcached_light])
-AC_DEFINE([MEMCACHED_LIGHT_BINARY], ["example/memcached_light"], [Support for memcached_light])
+AC_DEFINE([HAVE_LIBDRIZZLE],[0],[Support for libdrizzle])
+AC_DEFINE([HAVE_DRIZZLED_BINARY],[0],[Support for DrizzleD])
+AC_DEFINE([DRIZZLED_BINARY],[0],[Support for DrizzleD])
+AC_DEFINE([GEARMAND_BLOBSLAP_WORKER],[0],[Support for Gearman Blobslap worker])
+AC_DEFINE([HAVE_LIBPQ],[0],[Support for Postgres])
+AC_DEFINE([HAVE_LIBCURL],[0],[Support for libcurl])
 
 dnl Check for the requirements for running memcached with less privileges
 dnl than the default privilege set. On Solaris we need setppriv and priv.h
 
 dnl Check for the requirements for running memcached with less privileges
 dnl than the default privilege set. On Solaris we need setppriv and priv.h
@@ -234,22 +245,22 @@ 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_DEFINE([HAVE_DROP_PRIVILEGES], 1,
-         [Define this if you have an implementation of drop_privileges()])
-      build_solaris_privs=yes
-   ], [])
-],[])
-
-AC_CHECK_HEADERS_ONCE(winsock2.h poll.h sys/wait.h fnmatch.h)
-AM_CONDITIONAL(BUILD_POLL, test "x$ac_cv_header_poll_h" = "xno")
-AM_CONDITIONAL(BUILD_WIN32_WRAPPERS, test "x$ac_cv_header_winsock2_h" = "xyes")
-AS_IF(test "x$ac_cv_header_winsock2_h" = "xyes",
+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_CHECK_HEADERS_ONCE([winsock2.h poll.h sys/wait.h fnmatch.h])
+AM_CONDITIONAL([BUILD_POLL],[test "x$ac_cv_header_poll_h" = "xno"])
+AM_CONDITIONAL([BUILD_WIN32_WRAPPERS],[test "x$ac_cv_header_winsock2_h" = "xyes"])
+AS_IF([test "x$ac_cv_header_winsock2_h" = "xyes"],
       [AM_LDFLAGS="$AM_LDFLAGS -lws2_32"
        AM_CFLAGS="$AM_CFLAGS $NO_WERROR"
        AM_CXXFLAGS="$AM_CXXFLAGS $NO_WERROR"
       [AM_LDFLAGS="$AM_LDFLAGS -lws2_32"
        AM_CFLAGS="$AM_CFLAGS $NO_WERROR"
        AM_CXXFLAGS="$AM_CXXFLAGS $NO_WERROR"
-      ])
+       ])
 SOCKET_SEND_FLAGS
 
 AX_UUID_GENERATE_TIME_SAFE
 SOCKET_SEND_FLAGS
 
 AX_UUID_GENERATE_TIME_SAFE
@@ -258,25 +269,24 @@ AX_UUID_GENERATE_TIME_SAFE
 AX_PTHREAD(, [AC_MSG_ERROR([could not find libpthread])])
 AX_PTHREAD_TIMEDJOIN_NP
 
 AX_PTHREAD(, [AC_MSG_ERROR([could not find libpthread])])
 AX_PTHREAD_TIMEDJOIN_NP
 
+# backtrace() does not work with static builds.
+AS_IF([test "x$enable_static" = "xyes"],
+      [AC_DEFINE([AX_ENABLE_BACKTRACE],[1],[Support for backtrace().])])
+
 PANDORA_ENABLE_DTRACE
 AX_ENDIAN
 PANDORA_ENABLE_DTRACE
 AX_ENDIAN
-AX_HEX_VERSION
 AX_ASSERT
 AX_CXX_COMPILER_VERSION
 AX_HARDEN_COMPILER_FLAGS
 
 AX_AM_JOBSERVER([yes])
 
 AX_ASSERT
 AX_CXX_COMPILER_VERSION
 AX_HARDEN_COMPILER_FLAGS
 
 AX_AM_JOBSERVER([yes])
 
-AC_CONFIG_FILES([
-  Makefile
-  docs/conf.py
-  libhashkit-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
-  ])
+AC_CONFIG_FILES([Makefile
+                 docs/conf.py
+                 libmemcached-1.0/configure.h
+                 support/libmemcached.pc
+                 support/libmemcached.spec
+                 ])
 AC_OUTPUT
 
 echo "---"
 AC_OUTPUT
 
 echo "---"
@@ -290,10 +300,13 @@ 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 "   * LIB Flags:                 $LIB"
 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 "   * 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 "   * make -j:                   $enable_jobserver"
+echo "   * VCS checkout:              $ac_cv_vcs_checkout"
 echo ""
 echo "---"
 
 echo ""
 echo "---"