Add warnings module.
authorSimon Josefsson <simon@josefsson.org>
Tue, 11 Nov 2008 09:29:18 +0000 (10:29 +0100)
committerSimon Josefsson <simon@josefsson.org>
Tue, 11 Nov 2008 09:29:18 +0000 (10:29 +0100)
ChangeLog
MODULES.html.sh
m4/warnings.m4 [new file with mode: 0644]
modules/warnings [new file with mode: 0644]

index d16f098..3f2b69d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-11-10  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/warnings: New module.
+       * m4/warnings.m4: New file.
+       * MODULES.html.sh: Mention warnings module.
+       With review improvements from Paolo Bonzini <bonzini@gnu.org> and
+       Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
 2008-11-10  Eric Blake  <ebb9@byu.net>
 
        fdl.texi: make a symlink to the latest version
index 5198f0d..d3e5c13 100755 (executable)
@@ -2972,6 +2972,7 @@ func_all_modules ()
   func_module relocatable-prog
   func_module relocatable-prog-wrapper
   func_module relocatable-script
+  func_module warnings
   func_end_table
 
   element="Support for building documentation"
diff --git a/m4/warnings.m4 b/m4/warnings.m4
new file mode 100644 (file)
index 0000000..594ff97
--- /dev/null
@@ -0,0 +1,34 @@
+# warnings.m4 serial 1
+dnl Copyright (C) 2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Simon Josefsson
+
+# gl_WARN_INIT
+# Initializes WARN_CFLAGS variable.
+AC_DEFUN([gl_WARN_INIT],
+[
+  AC_ARG_VAR(WARN_CFLAGS, [C compiler warning flags])
+])
+
+# gl_WARN_ADD([parameter]) adds parameter to WARN_CFLAGS if compiler
+# supports it.  For example, use gl_WARN_ADD([-Werror]).
+AC_DEFUN([gl_WARN_ADD],
+[
+  pushdef([param],[translit([$1],[ABCDEFGHIJKLMNOPQRSTUVWXYZ./-],
+                                 [abcdefghijklmnopqrstuvwxyz___])])
+
+  AC_CACHE_CHECK([whether compiler handles $1], [gl_cv_warn[]param[]], [
+    save_CFLAGS="$CFLAGS"
+    CFLAGS="${CFLAGS} $1"
+    AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
+                       gl_cv_warn[]param=yes, gl_cv_warn[]param=no)
+    CFLAGS="$save_CFLAGS"
+  ])
+
+  if test $gl_cv_warn[]param = "yes"; then
+    WARN_CFLAGS="$WARN_CFLAGS $1"
+  fi
+])
diff --git a/modules/warnings b/modules/warnings
new file mode 100644 (file)
index 0000000..bd757c5
--- /dev/null
@@ -0,0 +1,16 @@
+Description:
+Helper M4 functions for safely adding compiler warning parameters.
+
+Files:
+m4/warnings.m4
+
+Depends-on:
+
+configure.ac:
+gl_WARN_INIT
+
+License:
+unlimited
+
+Maintainer:
+Simon Josefsson