e16/m4/ec_warnflags.m4

30 lines
934 B
Plaintext

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 in CWARNFLAGS
dnl Provides configure argument --enable-werror to stop compilation on warnings
dnl Usage: EC_C_WARNINGS([LANG])
dnl Set LANG to 'cpp' when compiling for C++
AC_DEFUN([EC_C_WARNINGS], [
define(ec_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"
ifelse(ec_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)
])