pandora-build v0.8
authorMonty Taylor <mordred@inaugust.com>
Thu, 9 Jul 2009 05:34:19 +0000 (22:34 -0700)
committerMonty Taylor <mordred@inaugust.com>
Thu, 9 Jul 2009 05:34:19 +0000 (22:34 -0700)
m4/pandora_canonical.m4
m4/pandora_warnings.m4

index 22930bf741f29b83abc883c6896088999de5f9fc..2f319732580a606ad28d380a22aecee90c1718df 100644 (file)
@@ -4,7 +4,7 @@ dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl Which version of the canonical setup we're using
-AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.3])
+AC_DEFUN([PANDORA_CANONICAL_VERSION],[0.8])
 
 AC_DEFUN([PANDORA_FORCE_DEPEND_TRACKING],[
   dnl Force dependency tracking on for Sun Studio builds
@@ -22,7 +22,8 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
   m4_define([PCT_USE_GNULIB],[no])
   m4_define([PCT_REQUIRE_CXX],[no])
   m4_define([PCT_IGNORE_SHARED_PTR],[no])
-  m4_foreach([pct_arg],$*,[
+  m4_define([PCT_FORCE_GCC42],[no])
+  m4_foreach([pct_arg],[$*],[
     m4_case(pct_arg,
       [use-gnulib], [
         m4_undefine([PCT_USE_GNULIB])
@@ -35,6 +36,10 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
       [ignore-shared-ptr], [
         m4_undefine([PCT_IGNORE_SHARED_PTR])
         m4_define([PCT_IGNORE_SHARED_PTR],[yes])
+      ],
+      [force-gcc42], [
+        m4_undefine([PCT_FORCE_GCC42])
+        m4_define([PCT_FORCE_GCC42],[yes])
     ])
   ])
 
@@ -53,6 +58,7 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
   m4_if(PCT_USE_GNULIB,yes,[ gl_EARLY ])
   
   AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([PANDORA_MAC_GCC42])
 
   dnl Once we can use a modern autoconf, we can use this
   dnl AC_PROG_CC_C99
@@ -61,6 +67,9 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
   AM_PROG_CC_C_O
 
   gl_USE_SYSTEM_EXTENSIONS
+  m4_if(PCT_FORCE_GCC42, [yes], [
+    AS_IF([test "$GCC" = "yes"], PANDORA_ENSURE_GCC_VERSION)
+  ])
   
 
   PANDORA_LIBTOOL
@@ -99,17 +108,17 @@ AC_DEFUN([PANDORA_CANONICAL_TARGET],[
 
   AC_SYS_LARGEFILE
 
-  AS_IF([test "$GCC" = "yes"], PANDORA_ENSURE_GCC_VERSION)
 
   PANDORA_CHECK_C_VERSION
   PANDORA_CHECK_CXX_VERSION
 
   PANDORA_OPTIMIZE
   PANDORA_64BIT
-  PANDORA_WARNINGS(PCT_ALL_ARGS)
 
   gl_VISIBILITY
 
+  PANDORA_WARNINGS(PCT_ALL_ARGS)
+
   PANDORA_ENABLE_DTRACE
   PANDORA_HEADER_ASSERT
 
index fef7bd74bd6261926e8ab05c93c73faa0c3880bc..70cf7f22d861b9d111140a244bddde7175f285dd 100644 (file)
@@ -15,7 +15,7 @@ AC_DEFUN([PANDORA_WARNINGS],[
   m4_define([PW_WARN_ALWAYS_ON],[no])
   ifdef([m4_define],,[define([m4_define],   defn([define]))])
   ifdef([m4_undefine],,[define([m4_undefine],   defn([undefine]))])
-  m4_foreach([pw_arg],$*,[
+  m4_foreach([pw_arg],[$*],[
     m4_case(pw_arg,
       [less-warnings],[
         m4_undefine([PW_LESS_WARNINGS])
@@ -129,13 +129,13 @@ uint16_t x= htons(80);
 
     m4_if(PW_LESS_WARNINGS,[no],[
       BASE_WARNINGS_FULL="-Wformat=2 ${W_CONVERSION} -Wstrict-aliasing"
-      CC_WARNINGS_FULL="-Wswitch-default -Wswitch-enum"
+      CC_WARNINGS_FULL="-Wswitch-default -Wswitch-enum -Wwrite-strings"
       CXX_WARNINGS_FULL="-Weffc++ -Wold-style-cast"
     ],[
       BASE_WARNINGS_FULL="-Wformat ${NO_STRICT_ALIASING}"
     ])
 
-    BASE_WARNINGS="${W_FAIL} -pedantic -Wall -Wextra -Wundef -Wshadow -Wstrict-aliasing ${F_DIAGNOSTICS_SHOW_OPTION} ${CFLAG_VISIBILITY} ${BASE_WARNINGS_FULL}"
+    BASE_WARNINGS="${W_FAIL} -pedantic -Wall -Wextra -Wundef -Wshadow ${F_DIAGNOSTICS_SHOW_OPTION} ${CFLAG_VISIBILITY} ${BASE_WARNINGS_FULL}"
     CC_WARNINGS="${BASE_WARNINGS} -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wcast-align ${CC_WARNINGS_FULL}"
     CXX_WARNINGS="${BASE_WARNINGS} -Woverloaded-virtual -Wnon-virtual-dtor -Wctor-dtor-privacy -Wno-long-long ${CXX_WARNINGS_FULL}"