summaryrefslogtreecommitdiff
path: root/m4/ac_warnflags.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/ac_warnflags.m4')
-rw-r--r--m4/ac_warnflags.m431
1 files changed, 31 insertions, 0 deletions
diff --git a/m4/ac_warnflags.m4 b/m4/ac_warnflags.m4
new file mode 100644
index 0000000..84128c0
--- /dev/null
+++ b/m4/ac_warnflags.m4
@@ -0,0 +1,31 @@
+dnl Copyright (C) 2008 Kim Woelders
+dnl This code is public domain and can be freely used or copied.
+
+dnl Macro to set compiler warning flags
+
+dnl Provides configure argument --enable-werror to stop compilation on warnings
+
+dnl Usage: AC_C_WARNFLAGS([LANG])
+dnl Set LANG to 'cpp' when compiling for C++
+
+AC_DEFUN([AC_C_WARNFLAGS], [
+ define(ac_c_compile_cpp, ifelse([$1], [cpp], [yes], [no]))
+
+ AC_ARG_ENABLE(werror,
+ [ --enable-werror treat compiler warnings as errors @<:@default=no@:>@],,
+ enable_werror=no)
+
+ if test "x$GCC" = "xyes"; then
+ CWARNFLAGS="-W -Wall -Waggregate-return -Wcast-align -Wpointer-arith -Wshadow -Wwrite-strings"
+dnl # ignore some warnings for now...
+ CWARNFLAGS="$CWARNFLAGS -Wno-unused-parameter"
+ ifelse(ac_c_compile_cpp, no, [
+ CWARNFLAGS="$CWARNFLAGS -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes"
+ ],)
+
+ if test "x$enable_werror" = "xyes"; then
+ CWARNFLAGS="$CWARNFLAGS -Werror"
+ fi
+ fi
+ AC_SUBST(CWARNFLAGS)
+])