From c834b24651e1b0f510ede8610bde0be1e940de14 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Wed, 4 Sep 2013 00:48:19 -0600 Subject: [PATCH] compiler-flags: Add an optional second argument for custom warnings This allows module authors to choose to enforce stricter warnings on a per-module basis, to avoid the situation where an outside contributor submits a patch which introduces warnings the maintainer has enabled locally. Closes: https://bugzilla.gnome.org/show_bug.cgi?id=707475 --- macros2/gnome-compiler-flags.m4 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/macros2/gnome-compiler-flags.m4 b/macros2/gnome-compiler-flags.m4 index 4cb24aa..7504482 100644 --- a/macros2/gnome-compiler-flags.m4 +++ b/macros2/gnome-compiler-flags.m4 @@ -2,6 +2,11 @@ dnl GNOME_COMPILE_WARNINGS dnl Turn on many useful compiler warnings and substitute the result into dnl WARN_CFLAGS dnl For now, only works on GCC +dnl Pass the default value of the --enable-compile-warnings configure option as +dnl the first argument to the macro, defaulting to 'yes'. +dnl Additional warning/error flags can be passed as an optional second argument. +dnl +dnl For example: GNOME_COMPILE_WARNINGS([maximum],[-Werror=some-flag -Wfoobar]) AC_DEFUN([GNOME_COMPILE_WARNINGS],[ dnl ****************************** dnl More compiler warnings @@ -41,6 +46,11 @@ AC_DEFUN([GNOME_COMPILE_WARNINGS],[ -Werror=missing-include-dirs \ " + dnl Additional warning or error flags provided by the module author to + dnl allow stricter standards to be imposed on a per-module basis. + dnl The author can pass -W or -Werror flags here as they see fit. + additional_flags="m4_default([$2],[])" + case "$enable_compile_warnings" in no) warning_flags= @@ -49,10 +59,10 @@ AC_DEFUN([GNOME_COMPILE_WARNINGS],[ warning_flags="-Wall" ;; yes) - warning_flags="$base_warn_flags $base_error_flags" + warning_flags="$base_warn_flags $base_error_flags $additional_flags" ;; maximum|error) - warning_flags="$base_warn_flags $base_error_flags" + warning_flags="$base_warn_flags $base_error_flags $additional_flags" ;; *) AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings) -- 2.7.4