Updating TODO
[awesomized/libmemcached] / configure.ac
index ea06419fe8e97f66cfd239cbcd4a2406c0cf0541..2bea7797fb0be9d4cba618beb1a0a6e2c234dc71 100644 (file)
@@ -1,4 +1,5 @@
-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)
 
@@ -13,17 +14,6 @@ AC_CANONICAL_TARGET
 CFLAGS=${SAVE_CFLAGS}
 CXXFLAGS=${SAVE_CXXFLAGS}
 
-MEMCACHED_LIBRARY_NAME=libmemcached 
-
-#release versioning
-MEMCACHED_MAJOR_VERSION=0
-MEMCACHED_MINOR_VERSION=29
-MEMCACHED_MICRO_VERSION=0
-
-#API version
-MEMCACHED_API_VERSION=1.0
-AC_SUBST(MEMCACHED_API_VERSION)
-
 #shared library versioning
 MEMCACHED_LIBRARY_VERSION=2:0:0
 #                         | | |
@@ -36,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($PACKAG$, $VERSION, nostdinc no-define -Wall -Werror)
+AM_INIT_AUTOMAKE(nostdinc no-define -Wall -Werror)
+AC_USE_SYSTEM_EXTENSIONS
 
 AC_PROG_CC
 AC_PROG_CC_C99
@@ -59,6 +39,13 @@ 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
@@ -67,6 +54,7 @@ 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)
@@ -78,11 +66,26 @@ 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="-W -Wall -Wextra -Wno-strict-aliasing -pedantic -Werror -O3 -ggdb $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
@@ -99,7 +102,7 @@ else
 fi
 
 
-AM_CPPFLAGS="${CPPFLAGS}"
+AM_CPPFLAGS="-I\$(top_srcdir) -I\$(top_builddir) ${CPPFLAGS}"
 AM_CFLAGS="${CFLAGS}"
 AM_CXXFLAGS="${CXXFLAGS}"
 
@@ -112,4 +115,5 @@ 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)
+AC_CONFIG_FILES([Makefile clients/Makefile tests/Makefile docs/Makefile libmemcached/Makefile libmemcachedutil/Makefile support/Makefile support/libmemcached.pc support/libmemcached.spec support/libmemcached-fc.spec])
+AC_OUTPUT