X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=configure.ac;h=43154b865c1ee04fee181b6c8d096a3cb8facf03;hb=a07bb255b72aa59d0f4c4c63bb71695b2e9df537;hp=3118870aba953738c85d800a2c76483505d462d8;hpb=ea65554ea537786c7bc27018264f9e0d2ebd02ce;p=awesomized%2Flibmemcached diff --git a/configure.ac b/configure.ac index 3118870a..43154b86 100644 --- a/configure.ac +++ b/configure.ac @@ -1,13 +1,23 @@ AC_INIT(clients/memcat.c) AC_CONFIG_AUX_DIR(config) AM_CONFIG_HEADER(libmemcached/libmemcached_config.h) -AC_CANONICAL_SYSTEM + +# Setting CFLAGS here prevents AC_CANONICAL_TARGET from injecting them +SAVE_CFLAGS=${CFLAGS} +SAVE_CXXFLAGS=${CXXFLAGS} +CFLAGS= +CXXFLAGS= + +AC_CANONICAL_TARGET + +CFLAGS=${SAVE_CFLAGS} +CXXFLAGS=${SAVE_CXXFLAGS} MEMCACHED_LIBRARY_NAME=libmemcached #release versioning MEMCACHED_MAJOR_VERSION=0 -MEMCACHED_MINOR_VERSION=22 +MEMCACHED_MINOR_VERSION=29 MEMCACHED_MICRO_VERSION=0 #API version @@ -39,41 +49,84 @@ AC_SUBST(MEMCACHED_VERSION) VERSION=$MEMCACHED_RELEASE -AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) +AM_INIT_AUTOMAKE($PACKAG$, $VERSION, nostdinc no-define -Wall -Werror) +AC_USE_SYSTEM_EXTENSIONS AC_PROG_CC +AC_PROG_CC_C99 AC_PROG_CXX AC_PROG_LIBTOOL AM_SANITY_CHECK LIBTOOL="$LIBTOOL --preserve-dup-deps" AC_SUBST(LIBTOOL)dnl -AC_LANG_CPLUSPLUS +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) sinclude(config/dtrace.m4) sinclude(config/byteorder.m4) 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 + 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 - CFLAGS="-Wall -ggdb -DMEMCACHED_INTERNAL -DHAVE_DEBUG $CFLAGS" - else - CFLAGS="-Wall -O3 -DMEMCACHED_INTERNAL $CFLAGS" + CFLAGS="$CFLAGS -ggdb -DHAVE_DEBUG" fi else - CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ $CFLAGS" - DTRACEFLAGS="$DTRACEFLAGS" + CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ -errfmt=error -errwarn -errshort=tags $CFLAGS" + CXXFLAGS="+w +w2 -xwe -mt -D_FORTEC_ $CXXFLAGS" + if test "$ENABLE_DEBUG" = "yes" + then + CFLAGS="$CFLAGS -DHAVE_DEBUG" + CXXFLAGS="$CXXFLAGS -DHAVE_DEBUG" + fi fi -LDFLAGS="-lm" -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_OUTPUT(Makefile clients/Makefile tests/Makefile docs/Makefile libmemcached/Makefile support/Makefile support/libmemcached.pc support/libmemcached.spec) + +AM_CPPFLAGS="${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)