aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-05-25 12:18:46 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-05-25 12:20:08 +0800
commit3dadd1f85558df158b631dbd7173ff4d9c2f7c87 (patch)
tree280e1c0e09f52499b7a84d8092f5db2b17125840
parent1e71050275d9de5c7b4bc040ca14f3de58abe86d (diff)
downloadgsoc2013-evolution-3dadd1f85558df158b631dbd7173ff4d9c2f7c87.tar
gsoc2013-evolution-3dadd1f85558df158b631dbd7173ff4d9c2f7c87.tar.gz
gsoc2013-evolution-3dadd1f85558df158b631dbd7173ff4d9c2f7c87.tar.bz2
gsoc2013-evolution-3dadd1f85558df158b631dbd7173ff4d9c2f7c87.tar.lz
gsoc2013-evolution-3dadd1f85558df158b631dbd7173ff4d9c2f7c87.tar.xz
gsoc2013-evolution-3dadd1f85558df158b631dbd7173ff4d9c2f7c87.tar.zst
gsoc2013-evolution-3dadd1f85558df158b631dbd7173ff4d9c2f7c87.zip
Add very strict compiler warning flags.
Lots of new warnings to clean up. Have fun.
-rw-r--r--acinclude.m462
-rw-r--r--configure.ac42
2 files changed, 89 insertions, 15 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 094f96963b..fa7fc5c5de 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -577,3 +577,65 @@ AC_SUBST(LTCXXCOMPILE)
# end dolt
])
+dnl as-compiler-flag.m4 0.1.0
+
+dnl autostars m4 macro for detection of compiler flags
+
+dnl David Schleef <ds@schleef.org>
+
+dnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $
+
+dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
+dnl Tries to compile with the given CFLAGS.
+dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
+dnl and ACTION-IF-NOT-ACCEPTED otherwise.
+
+AC_DEFUN([AS_COMPILER_FLAG],
+[
+ AC_MSG_CHECKING([to see if compiler understands $1])
+
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $1"
+
+ AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
+ CFLAGS="$save_CFLAGS"
+
+ if test "X$flag_ok" = Xyes ; then
+ m4_ifvaln([$2],[$2])
+ true
+ else
+ m4_ifvaln([$3],[$3])
+ true
+ fi
+ AC_MSG_RESULT([$flag_ok])
+])
+
+dnl AS_COMPILER_FLAGS(VAR, FLAGS)
+dnl Tries to compile with the given CFLAGS.
+
+AC_DEFUN([AS_COMPILER_FLAGS],
+[
+ list=$2
+ flags_supported=""
+ flags_unsupported=""
+ AC_MSG_CHECKING([for supported compiler flags])
+ for each in $list
+ do
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $each"
+ AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
+ CFLAGS="$save_CFLAGS"
+
+ if test "X$flag_ok" = Xyes ; then
+ flags_supported="$flags_supported $each"
+ else
+ flags_unsupported="$flags_unsupported $each"
+ fi
+ done
+ AC_MSG_RESULT([$flags_supported])
+ if test "X$flags_unsupported" != X ; then
+ AC_MSG_WARN([unsupported compiler flags: $flags_unsupported])
+ fi
+ $1="$$1 $flags_supported"
+])
+
diff --git a/configure.ac b/configure.ac
index 16b3f68da7..b711b65320 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,6 +45,33 @@ m4_define([libnotify_minimum_version], [0.3.0])
m4_define([gnome_pilot_minimum_version], [2.0.15])
m4_define([gweather_minimum_version], [2.25.3])
+# Compiler Warning Flags
+
+AS_COMPILER_FLAGS(WARNING_FLAGS,
+ "-DG_DISABLE_DEPRECATED
+ -DPANGO_DISABLE_DEPRECATED
+ -DGDK_PIXBUF_DISABLE_DEPRECATED
+ -DGDK_DISABLE_DEPRECATED
+ -Wall -Wextra
+ -Wno-missing-field-initializers
+ -Wno-sign-compare
+ -Wno-unused-parameter
+ -Wdeclaration-after-statement
+ -Werror-implicit-function-declaration
+ -Wformat-nonliteral -Wformat-security -Winit-self
+ -Wmissing-declarations -Wmissing-include-dirs
+ -Wmissing-noreturn -Wnested-externs -Wpointer-arith
+ -Wredundant-decls -Wundef -Wwrite-strings")
+AC_SUBST(WARNING_FLAGS)
+
+# Other useful compiler warnings for test builds only.
+# These may produce warnings we have no control over.
+#
+# -Wmissing-format-attribute
+# -Wshadow
+
+CFLAGS="$CFLAGS $WARNING_FLAGS"
+
# GNOME Documentation
GNOME_DOC_INIT
# Gross hack to enable 'make dist' on automake 1.9+tar 1.14.
@@ -1383,21 +1410,6 @@ dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
EVO_MARSHAL_RULE=$srcdir/marshal.mk
AC_SUBST_FILE(EVO_MARSHAL_RULE)
-dnl *************************
-dnl CFLAGS and LIBS and stuff
-dnl *************************
-
-GNOME_COMPILE_WARNINGS(yes)
-CFLAGS="$CFLAGS $WARN_CFLAGS"
-case $CFLAGS in
-*-Wall*)
- # Turn off the annoying "comparison between signed and unsigned"
- # warning in gcc 3.3
- CFLAGS="$CFLAGS -Wno-sign-compare"
- ;;
-esac
-
-
dnl **************************
dnl Check for X libs and -lX11
dnl **************************