[gnome-shell] Turn on -Werror and -Wmissing-prototypes



commit e89d3c7b07b174cd67461ddbdae7e671a336a709
Author: Owen W. Taylor <otaylor fishsoup net>
Date:   Thu Aug 6 16:26:45 2009 -0400

    Turn on -Werror and -Wmissing-prototypes
    
    When compiling with GCC turn on -Wmissing-prototypes, and by default
    turn on -Werror as well.
    
    As with most gnome modules:
    
     --enable-compile-warnings=minimum/maximum
    
    Can be used to disable -Werror (they are the same)
    
    http://bugzilla.gnome.org/show_bug.cgi?id=590998

 configure.ac |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 571297a..ef64a23 100644
--- a/configure.ac
+++ b/configure.ac
@@ -80,17 +80,31 @@ AC_SUBST(GIRDIR)
 TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
 AC_SUBST(TYPELIBDIR)
 
+# Stay command-line compatible with the gnome-common configure option. Here
+# minimum/yes/maximum are the same, however.
+AC_ARG_ENABLE(compile_warnings,
+  AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
+                 [Turn on compiler warnings]),,
+  enable_compile_warnings=error)
+
 changequote(,)dnl
-if test "x$GCC" = "xyes"; then
-  case " $CFLAGS " in
-  *[\ \	]-Wall[\ \	]*) ;;
-  *) CFLAGS="$CFLAGS -Wall" ;;
-  esac
-
-  case " $OBJCFLAGS " in
-  *[\ \	]-Wall[\ \	]*) ;;
-  *) OBJCFLAGS="$OBJCFLAGS -Wall" ;;
-  esac
+if test "$enable_compile_warnings" != no ; then
+  if test "x$GCC" = "xyes"; then
+    case " $CFLAGS " in
+    *[\ \	]-Wall[\ \	]*) ;;
+    *) CFLAGS="$CFLAGS -Wall" ;;
+    esac
+    case " $CFLAGS " in
+    *[\ \	]-Wmissing-prototypes[\ \	]*) ;;
+    *) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
+    esac
+    if test "$enable_compile_warnings" = error ; then
+      case " $CFLAGS " in
+      *[\ \	]-Werror[\ \	]*) ;;
+      *) CFLAGS="$CFLAGS -Werror" ;;
+      esac
+    fi
+  fi
 fi
 changequote([,])dnl
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]