diff options
-rw-r--r-- | configure.ac | 17 | ||||
-rw-r--r-- | m4/cflags.m4 | 15 |
2 files changed, 31 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 3ffc87009..16a13571d 100644 --- a/configure.ac +++ b/configure.ac @@ -206,9 +206,24 @@ AC_ARG_ENABLE([debug], [enable_debug=no]) AC_MSG_RESULT([$enable_debug]) if test "x$enable_debug" = "xyes" ; then - CFLAGS="$CFLAGS -Wall -g -DDEBUG" + CFLAGS="$CFLAGS -g -DDEBUG" fi +dnl CFLAGS + +AC_SUBST(AM_CFLAGS) + +CHECK_CFLAG([-Wall]) +CHECK_CFLAG([-Wextra]) +CHECK_CFLAG([-Wno-deprecated-declarations]) +CHECK_CFLAG([-Wmissing-prototypes]) +CHECK_CFLAG([-Wdeclaration-after-statement]) +CHECK_CFLAG([-Wshadow]) +CHECK_CFLAG([-Wpointer-arith]) +CHECK_CFLAG([-Wstrict-prototypes]) +CHECK_CFLAG([-Wcast-qual]) +CHECK_CFLAG([-Wwrite-strings]) + dnl Optional screen - help screen #AC_MSG_CHECKING([whether to include the help screen]) #AC_ARG_ENABLE([help-screen], diff --git a/m4/cflags.m4 b/m4/cflags.m4 new file mode 100644 index 000000000..cc6d5fab3 --- /dev/null +++ b/m4/cflags.m4 @@ -0,0 +1,15 @@ +AC_DEFUN([CHECK_CFLAG], [ + var=`echo "$1" | tr "=-" "__"` + AC_CACHE_CHECK([whether the C compiler accepts $1],[check_cflag_$var],[ + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $1" + AC_COMPILE_IFELSE([int main(void) { return 0; }], + [eval "check_cflag_$var=yes"], + [eval "check_cflag_$var=no"]) + CFLAGS="$save_CFLAGS" + ]) + if eval "test x`echo '$check_cflag_'$var` = xyes"; then + AM_CFLAGS="$AM_CFLAGS $1" + fi + ]) +]) |