X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=configure.ac;h=2cb5ebfaf27e615b22abd474e914593c5be4d1de;hb=c144d7aae17a093784028edb3b877af846f842d1;hp=03f9f58cabac3bce9866aac54fa2a16c8e37b90c;hpb=287801be4c5cae39d48cab3a0f4c8235d3ae363d;p=m6w6%2Flibmemcached diff --git a/configure.ac b/configure.ac index 03f9f58c..2cb5ebfa 100644 --- a/configure.ac +++ b/configure.ac @@ -1,18 +1,18 @@ -AC_INIT(clients/memcat.c) +AC_INIT(libmemcached, [0.29], [http://tangent.org/552/libmemcached.html]) +AC_CONFIG_SRCDIR([clients/memcat.c]) AC_CONFIG_AUX_DIR(config) AM_CONFIG_HEADER(libmemcached/libmemcached_config.h) -AC_CANONICAL_SYSTEM -MEMCACHED_LIBRARY_NAME=libmemcached +# Setting CFLAGS here prevents AC_CANONICAL_TARGET from injecting them +SAVE_CFLAGS=${CFLAGS} +SAVE_CXXFLAGS=${CXXFLAGS} +CFLAGS= +CXXFLAGS= -#release versioning -MEMCACHED_MAJOR_VERSION=0 -MEMCACHED_MINOR_VERSION=26 -MEMCACHED_MICRO_VERSION=0 +AC_CANONICAL_TARGET -#API version -MEMCACHED_API_VERSION=1.0 -AC_SUBST(MEMCACHED_API_VERSION) +CFLAGS=${SAVE_CFLAGS} +CXXFLAGS=${SAVE_CXXFLAGS} #shared library versioning MEMCACHED_LIBRARY_VERSION=2:0:0 @@ -26,20 +26,10 @@ MEMCACHED_LIBRARY_VERSION=2: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_LIBRARY_VERSION) -PACKAGE=$MEMCACHED_LIBRARY_NAME -AC_SUBST(MEMCACHED_LIBRARY_NAME) - -MEMCACHED_VERSION=$MEMCACHED_MAJOR_VERSION.$MEMCACHED_MINOR_VERSION.$MEMCACHED_MICRO_VERSION -MEMCACHED_RELEASE=$MEMCACHED_MAJOR_VERSION.$MEMCACHED_MINOR_VERSION -AC_SUBST(MEMCACHED_RELEASE) -AC_SUBST(MEMCACHED_VERSION) - -VERSION=$MEMCACHED_RELEASE - -AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) +AM_INIT_AUTOMAKE(nostdinc no-define -Wall -Werror) +AC_USE_SYSTEM_EXTENSIONS AC_PROG_CC AC_PROG_CC_C99 @@ -49,12 +39,21 @@ AM_SANITY_CHECK LIBTOOL="$LIBTOOL --preserve-dup-deps" AC_SUBST(LIBTOOL)dnl +# libmemcached versioning when linked with GNU ld. +if test "$lt_cv_prog_gnu_ld" = "yes" +then + LD_VERSION_SCRIPT="-Wl,--version-script=\$(top_srcdir)/libmemcached/libmemcached.ver" +fi +AC_SUBST(LD_VERSION_SCRIPT) + AC_C_CONST AC_HEADER_TIME AC_TYPE_SIZE_T AC_SEARCH_LIBS(getopt_long, gnugetopt) AC_SEARCH_LIBS(socket, socket) AC_SEARCH_LIBS(gethostbyname, nsl) +AC_SEARCH_LIBS(floorf, m) + sinclude(config/pod2man.m4) sinclude(config/debug.m4) @@ -64,12 +63,29 @@ sinclude(config/64bit.m4) sinclude(config/protocol_binary.m4) sinclude(config/memcached.m4) sinclude(config/setsockopt.m4) +sinclude(config/hsieh.m4) +sinclude(config/util.m4) + +dnl This is likely subverted by vpath builds. How do we find the original +dnl source dir in the configure step of a vpath build? +if test -d ".hg" +then + building_from_hg=yes +else + building_from_hg=no +fi # We only support GCC and Sun's forte at the moment if test "$GCC" = "yes" then - #CFLAGS="-W -std=iso9899:1999 -Wall -Wextra -Wstrict-aliasing -pedantic -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -O3 $CFLAGS" - CFLAGS="-Wall -O3 $CFLAGS" + if test "$building_from_hg" = "yes" + then + CFLAGS="-Werror $CFLAGS" + CXXFLAGS="-Werror $CXXFLAGS" + fi + + CFLAGS="-W -std=iso9899:1999 -Wall -Wextra -Wno-strict-aliasing -pedantic -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -O3 -ggdb $CFLAGS" + CXXFLAGS="-W -Wall -Wextra -Wno-strict-aliasing -pedantic -Wundef -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wold-style-cast -Weffc++ -Wconversion -Wmissing-declarations -Wredundant-decls -O3 -ggdb $CXXFLAGS" if test "$ENABLE_DEBUG" = "yes" then @@ -85,6 +101,18 @@ else fi fi -LDFLAGS="-lm" -AC_OUTPUT(Makefile clients/Makefile tests/Makefile docs/Makefile libmemcached/Makefile support/Makefile support/libmemcached.pc support/libmemcached.spec) +AM_CPPFLAGS="-I\$(top_srcdir) -I\$(top_builddir) ${CPPFLAGS}" +AM_CFLAGS="${CFLAGS}" +AM_CXXFLAGS="${CXXFLAGS}" + +AC_SUBST([AM_CPPFLAGS]) +AC_SUBST([AM_CFLAGS]) +AC_SUBST([AM_CXXFLAGS]) + +dnl We've collected the flags in AM_*FLAGS now, so blank these. +CFLAGS="" +CXXFLAGS="" +CPPFLAGS="" + +AC_OUTPUT(Makefile clients/Makefile tests/Makefile docs/Makefile libmemcached/Makefile libmemcachedutil/Makefile support/Makefile support/libmemcached.pc support/libmemcached.spec support/libmemcached-fc.spec)