mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-23 10:29:58 +01:00
Silence annoying ABI change warning.
* configure.ac [GCC]: Pass -Wno-psabi for gcc >= 4.6. Avoid some gcc option tests for gcc >= 4.6 Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
66585314e3
commit
d04399a6a8
53
configure.ac
53
configure.ac
@ -1290,22 +1290,36 @@ AC_SUBST(W32SOCKLIBS)
|
||||
#
|
||||
AC_MSG_NOTICE([checking for cc features])
|
||||
if test "$GCC" = yes; then
|
||||
# Check whether gcc does not emit a diagnositc for unknow -Wno-*
|
||||
# options. This is the case for gcc >= 4.6
|
||||
AC_MSG_CHECKING([if gcc ignores unknown -Wno-* options])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6 )
|
||||
#kickerror
|
||||
#endif]],[])],[_gcc_silent_wno=yes],[_gcc_silent_wno=no])
|
||||
AC_MSG_RESULT($_gcc_silent_wno)
|
||||
|
||||
# Note that it is okay to use CFLAGS here because this are just
|
||||
# warning options and the user should have a chance of overriding
|
||||
# them.
|
||||
if test "$USE_MAINTAINER_MODE" = "yes"; then
|
||||
CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
|
||||
CFLAGS="$CFLAGS -Wformat -Wno-format-y2k -Wformat-security"
|
||||
AC_MSG_CHECKING([if gcc supports -Wno-missing-field-initializers])
|
||||
_gcc_cflags_save=$CFLAGS
|
||||
CFLAGS="-Wno-missing-field-initializers"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
|
||||
[_gcc_wopt=yes],[_gcc_wopt=no])
|
||||
AC_MSG_RESULT($_gcc_wopt)
|
||||
CFLAGS=$_gcc_cflags_save;
|
||||
if test x"$_gcc_silent_wno" = xyes ; then
|
||||
_gcc_wopt=yes
|
||||
else
|
||||
AC_MSG_CHECKING([if gcc supports -Wno-missing-field-initializers])
|
||||
_gcc_cflags_save=$CFLAGS
|
||||
CFLAGS="-Wno-missing-field-initializers"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
|
||||
[_gcc_wopt=yes],[_gcc_wopt=no])
|
||||
AC_MSG_RESULT($_gcc_wopt)
|
||||
CFLAGS=$_gcc_cflags_save;
|
||||
fi
|
||||
if test x"$_gcc_wopt" = xyes ; then
|
||||
CFLAGS="$CFLAGS -W -Wno-sign-compare -Wno-missing-field-initializers"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if gcc supports -Wdeclaration-after-statement])
|
||||
_gcc_cflags_save=$CFLAGS
|
||||
CFLAGS="-Wdeclaration-after-statement"
|
||||
@ -1320,12 +1334,17 @@ if test "$GCC" = yes; then
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
|
||||
_gcc_cflags_save=$CFLAGS
|
||||
CFLAGS="-Wno-pointer-sign"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],[_gcc_psign=yes],[_gcc_psign=no])
|
||||
AC_MSG_RESULT($_gcc_psign)
|
||||
CFLAGS=$_gcc_cflags_save;
|
||||
if test x"$_gcc_silent_wno" = xyes ; then
|
||||
_gcc_psign=yes
|
||||
else
|
||||
AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign])
|
||||
_gcc_cflags_save=$CFLAGS
|
||||
CFLAGS="-Wno-pointer-sign"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
|
||||
[_gcc_psign=yes],[_gcc_psign=no])
|
||||
AC_MSG_RESULT($_gcc_psign)
|
||||
CFLAGS=$_gcc_cflags_save;
|
||||
fi
|
||||
if test x"$_gcc_psign" = xyes ; then
|
||||
CFLAGS="$CFLAGS -Wno-pointer-sign"
|
||||
fi
|
||||
@ -1339,6 +1358,14 @@ if test "$GCC" = yes; then
|
||||
if test x"$_gcc_psign" = xyes ; then
|
||||
CFLAGS="$CFLAGS -Wpointer-arith"
|
||||
fi
|
||||
|
||||
# The undocumented option -Wno-psabi suppresses the annoying
|
||||
# "the ABI of passing union with long double has changed in GCC 4.4"
|
||||
# which is emitted in estream-printf.c but entirely irrelvant
|
||||
# because that union is local to the file.
|
||||
if test x"$_gcc_silent_wno" = xyes ; then
|
||||
CFLAGS="$CFLAGS -Wno-psabi"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user