Add very strict compiler warning flags.
Lots of new warnings to clean up. Have fun.
This commit is contained in:
62
acinclude.m4
62
acinclude.m4
@ -577,3 +577,65 @@ AC_SUBST(LTCXXCOMPILE)
|
||||
# end dolt
|
||||
])
|
||||
|
||||
dnl as-compiler-flag.m4 0.1.0
|
||||
|
||||
dnl autostars m4 macro for detection of compiler flags
|
||||
|
||||
dnl David Schleef <ds@schleef.org>
|
||||
|
||||
dnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $
|
||||
|
||||
dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
|
||||
dnl Tries to compile with the given CFLAGS.
|
||||
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
|
||||
dnl and ACTION-IF-NOT-ACCEPTED otherwise.
|
||||
|
||||
AC_DEFUN([AS_COMPILER_FLAG],
|
||||
[
|
||||
AC_MSG_CHECKING([to see if compiler understands $1])
|
||||
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $1"
|
||||
|
||||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
m4_ifvaln([$2],[$2])
|
||||
true
|
||||
else
|
||||
m4_ifvaln([$3],[$3])
|
||||
true
|
||||
fi
|
||||
AC_MSG_RESULT([$flag_ok])
|
||||
])
|
||||
|
||||
dnl AS_COMPILER_FLAGS(VAR, FLAGS)
|
||||
dnl Tries to compile with the given CFLAGS.
|
||||
|
||||
AC_DEFUN([AS_COMPILER_FLAGS],
|
||||
[
|
||||
list=$2
|
||||
flags_supported=""
|
||||
flags_unsupported=""
|
||||
AC_MSG_CHECKING([for supported compiler flags])
|
||||
for each in $list
|
||||
do
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $each"
|
||||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
flags_supported="$flags_supported $each"
|
||||
else
|
||||
flags_unsupported="$flags_unsupported $each"
|
||||
fi
|
||||
done
|
||||
AC_MSG_RESULT([$flags_supported])
|
||||
if test "X$flags_unsupported" != X ; then
|
||||
AC_MSG_WARN([unsupported compiler flags: $flags_unsupported])
|
||||
fi
|
||||
$1="$$1 $flags_supported"
|
||||
])
|
||||
|
||||
|
||||
42
configure.ac
42
configure.ac
@ -45,6 +45,33 @@ m4_define([libnotify_minimum_version], [0.3.0])
|
||||
m4_define([gnome_pilot_minimum_version], [2.0.15])
|
||||
m4_define([gweather_minimum_version], [2.25.3])
|
||||
|
||||
# Compiler Warning Flags
|
||||
|
||||
AS_COMPILER_FLAGS(WARNING_FLAGS,
|
||||
"-DG_DISABLE_DEPRECATED
|
||||
-DPANGO_DISABLE_DEPRECATED
|
||||
-DGDK_PIXBUF_DISABLE_DEPRECATED
|
||||
-DGDK_DISABLE_DEPRECATED
|
||||
-Wall -Wextra
|
||||
-Wno-missing-field-initializers
|
||||
-Wno-sign-compare
|
||||
-Wno-unused-parameter
|
||||
-Wdeclaration-after-statement
|
||||
-Werror-implicit-function-declaration
|
||||
-Wformat-nonliteral -Wformat-security -Winit-self
|
||||
-Wmissing-declarations -Wmissing-include-dirs
|
||||
-Wmissing-noreturn -Wnested-externs -Wpointer-arith
|
||||
-Wredundant-decls -Wundef -Wwrite-strings")
|
||||
AC_SUBST(WARNING_FLAGS)
|
||||
|
||||
# Other useful compiler warnings for test builds only.
|
||||
# These may produce warnings we have no control over.
|
||||
#
|
||||
# -Wmissing-format-attribute
|
||||
# -Wshadow
|
||||
|
||||
CFLAGS="$CFLAGS $WARNING_FLAGS"
|
||||
|
||||
# GNOME Documentation
|
||||
GNOME_DOC_INIT
|
||||
# Gross hack to enable 'make dist' on automake 1.9+tar 1.14.
|
||||
@ -1383,21 +1410,6 @@ dnl We use AC_SUBST_FILE because AC_SUBST won't deal with newlines
|
||||
EVO_MARSHAL_RULE=$srcdir/marshal.mk
|
||||
AC_SUBST_FILE(EVO_MARSHAL_RULE)
|
||||
|
||||
dnl *************************
|
||||
dnl CFLAGS and LIBS and stuff
|
||||
dnl *************************
|
||||
|
||||
GNOME_COMPILE_WARNINGS(yes)
|
||||
CFLAGS="$CFLAGS $WARN_CFLAGS"
|
||||
case $CFLAGS in
|
||||
*-Wall*)
|
||||
# Turn off the annoying "comparison between signed and unsigned"
|
||||
# warning in gcc 3.3
|
||||
CFLAGS="$CFLAGS -Wno-sign-compare"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
dnl **************************
|
||||
dnl Check for X libs and -lX11
|
||||
dnl **************************
|
||||
|
||||
Reference in New Issue
Block a user