X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=configure.ac;h=60a6fb575b7193b2cf4df6cf55c7cb4b0bdf2aaf;hb=e5f0a3ee838764e1ac88e6854176619be31da93f;hp=98c29e89c3c2ffe0a72dd3eb37ac43f3c01a873b;hpb=f1ed1535de64141a6a911cc18a9109f0f9c55c80;p=awesomized%2Flibmemcached diff --git a/configure.ac b/configure.ac index 98c29e89..60a6fb57 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,7 @@ # 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]) @@ -14,11 +14,11 @@ AC_CANONICAL_TARGET 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_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 @@ -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 -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++]) +AX_ASSERT + AX_PLATFORM -gl_VISIBILITY 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_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]) @@ -88,8 +105,8 @@ AC_CHECK_PROGS([YACC], ['bison'], [:]) 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]) @@ -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([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([spawn.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/un.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. @@ -123,6 +144,7 @@ AC_HEADER_TIME AC_CHECK_FUNCS([alarm]) AC_CHECK_FUNCS([dup2]) +AC_CHECK_FUNCS([fcntl]) 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_MALLOC -AC_FUNC_REALLOC 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 @@ -181,52 +200,44 @@ 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 -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_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 -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]) -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]) - 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 @@ -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 -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" - ]) + ]) 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 +# 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 -AX_HEX_VERSION 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 "---" @@ -290,10 +300,13 @@ echo " * C Flags: $CFLAGS" 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 " * make -j: $enable_jobserver" +echo " * VCS checkout: $ac_cv_vcs_checkout" echo "" echo "---"