Added -Wformat=2 - checks for some safety/security violations on format strings.
[awesomized/libmemcached] / configure.ac
index 06033bfb44ca44b0b0737221bd1fa2bf8c000f8f..44102861f29fa2f61dfb45ecaa7032fa9e5cff13 100644 (file)
@@ -53,7 +53,6 @@ else
   building_from_bzr=no
 fi
 
-AC_PROG_CC_C99
 AC_PROG_CXX
 
 ACX_USE_SYSTEM_EXTENSIONS
@@ -61,11 +60,14 @@ ACX_USE_SYSTEM_EXTENSIONS
 AC_PROG_CPP
 AM_PROG_CC_C_O
 
+FORCE_MAC_GCC42
+dnl Once we can use a modern autoconf, we can use this
+dnl AC_PROG_CC_C99
+
 AC_C_BIGENDIAN
 AC_C_CONST
 AC_HEADER_TIME
 AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
 AC_FUNC_MALLOC
 AC_FUNC_REALLOC
 
@@ -100,6 +102,11 @@ AC_SUBST(LD_UTIL_VERSION_SCRIPT)
 # First check for gcc and g++
 if test "$GCC" = "yes"
 then
+
+  dnl Once we can use a modern autoconf, we can replace the std=gnu99 here
+  dnl with using AC_CC_STD_C99 above
+  CC="${CC} -std=gnu99"
+
   CFLAGS="-ggdb3 ${CFLAGS}"
   CXXFLAGS="-ggdb3 ${CXXFLAGS}"
 
@@ -111,6 +118,10 @@ then
 fi
 if test "x$SUNCC" = "xyes"
 then
+  dnl Once we can use a modern autoconf, we can replace the -xc99=all here
+  dnl with using AC_CC_STD_C99 above
+  CC="${CC} -xc99=all"
+
   CFLAGS="-g -mt ${CFLAGS}"
   CXXFLAGS="-xlang=c99 -g -mt -compat=5 -library=stlport4 -template=no%extdef ${CXXFLAGS}"
 
@@ -161,6 +172,7 @@ ENABLE_HSIEH_HASH
 REQUIRE_POD2MAN
 PROTOCOL_BINARY_TEST
 WITH_MEMCACHED
+ENABLE_DEPRECATED
 
 dnl TODO: Remove this define once we are using 2.61 across the board.
 # AX_HEADER_ASSERT
@@ -266,8 +278,6 @@ uint16_t x= htons(80);
           ])
     ])
 
-  W_STRICT_ALIASING="-Wno-strict-aliasing"
-
   AS_IF([test "$ac_profiling" = "yes"],
         [CC_PROFILING="-pg"])
 
@@ -277,7 +287,7 @@ uint16_t x= htons(80);
   AS_IF([test "$building_from_bzr" = "yes"],
         [W_FAIL="-Werror"])
 
-  BASE_WARNINGS="-pedantic -W -Wall -Wextra ${W_FAIL} -Wundef -Wshadow -Wmissing-declarations ${W_STRICT_ALIASING} ${F_DIAGNOSTICS_SHOW_OPTION} ${W_CONVERSION}"
+  BASE_WARNINGS="-pedantic -Wall -Wextra ${W_FAIL} -Wundef -Wshadow -Wmissing-declarations -Wstrict-aliasing -Wformat=2 ${F_DIAGNOSTICS_SHOW_OPTION} ${W_CONVERSION}"
   CC_WARNINGS="${BASE_WARNINGS} -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wswitch-default -Wswitch-enum -Wcast-align"
   CXX_WARNINGS="${BASE_WARNINGS} -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wold-style-cast -Weffc++ -Wno-long-long"
 
@@ -371,6 +381,7 @@ AC_CONFIG_FILES([
   tests/Makefile
   docs/Makefile
   libmemcached/Makefile
+  libmemcached/memcached_configure.h
   libmemcachedutil/Makefile
   support/Makefile
   support/libmemcached.pc