summaryrefslogtreecommitdiffstats
path: root/m4/warnings.m4
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2012-02-10 13:00:11 +0000
committerDaniel P. Berrange <berrange@redhat.com>2012-03-13 14:17:20 +0000
commit8ef8fd7a2693c9530b5f1f9c0c0f238f1d775d25 (patch)
treea0a30b7dc4fb62f52a3d1cfa5a9395e392522543 /m4/warnings.m4
parent545f4f4f1afd0d3ffd0fc4cb81901488d9a6cb75 (diff)
downloadspice-gtk-8ef8fd7a2693c9530b5f1f9c0c0f238f1d775d25.tar.gz
spice-gtk-8ef8fd7a2693c9530b5f1f9c0c0f238f1d775d25.tar.xz
spice-gtk-8ef8fd7a2693c9530b5f1f9c0c0f238f1d775d25.zip
Import GNULIB's GCC warning macros
GNULIB has a helpful module 'manywarnings' which makes it easy to turn on every single GCC warning. The general goal is that every possible GCC warning should be enabled, except for certain blacklisted warnings. This imports the GNULIB m4 macros, and updates configure.ac to use this new capability. As & when new GCC warnings are created, the 'manywarnings.m4' can be refreshed from upstream GNULIB * m4/manywarnings.m4, m4/warnings.m4: GNULIB warning macros * configure.ac: Remove custom compiler warning checks * m4/spice-compile-warnings.m4: Decide what GCC warnings to enable
Diffstat (limited to 'm4/warnings.m4')
-rw-r--r--m4/warnings.m437
1 files changed, 37 insertions, 0 deletions
diff --git a/m4/warnings.m4 b/m4/warnings.m4
new file mode 100644
index 0000000..69d05a6
--- /dev/null
+++ b/m4/warnings.m4
@@ -0,0 +1,37 @@
+# warnings.m4 serial 5
+dnl Copyright (C) 2008-2012 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_AS_VAR_APPEND(VAR, VALUE)
+# ----------------------------
+# Provide the functionality of AS_VAR_APPEND if Autoconf does not have it.
+m4_ifdef([AS_VAR_APPEND],
+[m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])],
+[m4_define([gl_AS_VAR_APPEND],
+[AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])])
+
+# gl_WARN_ADD(PARAMETER, [VARIABLE = WARN_CFLAGS])
+# ------------------------------------------------
+# Adds parameter to WARN_CFLAGS if the compiler supports it. For example,
+# gl_WARN_ADD([-Wparentheses]).
+AC_DEFUN([gl_WARN_ADD],
+dnl FIXME: gl_Warn must be used unquoted until we can assume
+dnl autoconf 2.64 or newer.
+[AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl
+AC_CACHE_CHECK([whether compiler handles $1], m4_defn([gl_Warn]), [
+ gl_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="${CPPFLAGS} $1"
+ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])],
+ [AS_VAR_SET(gl_Warn, [yes])],
+ [AS_VAR_SET(gl_Warn, [no])])
+ CPPFLAGS="$gl_save_CPPFLAGS"
+])
+AS_VAR_IF(gl_Warn, [yes],
+ [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])])
+AS_VAR_POPDEF([gl_Warn])dnl
+m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl
+])