From 67d9daa65b9d555ced9fb1a9df90b1f8f1a4a257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Valverde?= Date: Wed, 18 Nov 2015 16:31:31 +0000 Subject: [PATCH] autotools: Fix extra-compiler-warnings for system headers Use -isystem instead of -I for external headers with GCC/clang to squash all the noise. cmake already uses -isystem by default for supported platforms/compilers. Change-Id: Ia6c9d1eb9b894fda6f48c531094d792e16fd39fc Reviewed-on: https://code.wireshark.org/review/11947 Reviewed-by: Alexis La Goutte --- acinclude.m4 | 26 +++++++++++++++++++++++++- aclocal-fallback/glib-2.0.m4 | 1 + aclocal-fallback/gtk-2.0.m4 | 1 + aclocal-fallback/gtk-3.0.m4 | 1 + configure.ac | 6 +++--- tools/Makefile.am | 1 - tools/checklicenses.py | 3 --- tools/fix_pragma_wdocumentation.sh | 12 ------------ 8 files changed, 31 insertions(+), 20 deletions(-) delete mode 100755 tools/fix_pragma_wdocumentation.sh diff --git a/acinclude.m4 b/acinclude.m4 index 89a77016a1..bb07a5071c 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1903,6 +1903,28 @@ if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then fi ]) +# +# AC_WIRESHARK_GCC_SYSTEM_INCLUDE +# +# Replace -I include flag for -isystem in FLAGS argument +# +AC_DEFUN([AC_WIRESHARK_GCC_SYSTEM_INCLUDE], +[ + if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then + $1=`AS_ECHO_N([" $$1"]) \ + | sed -e 's/ *-I *\// -isystem\//g' -e 's/^ *//'` + fi +]) + +# +# PKG_WIRESHARK_CHECK_SYSTEM_MODULES +# +AC_DEFUN([PKG_WIRESHARK_CHECK_SYSTEM_MODULES], +[ + PKG_CHECK_MODULES($@) + AC_WIRESHARK_GCC_SYSTEM_INCLUDE($1_CFLAGS) +]) + # # AC_WIRESHARK_OSX_INTEGRATION_CHECK # @@ -2027,7 +2049,9 @@ AC_DEFUN([AC_WIRESHARK_QT_MODULE_CHECK_WITH_QT_VERSION], if $PKG_CONFIG --atleast-version $min_qt_version $pkg_config_module; then mod_version=`$PKG_CONFIG --modversion $pkg_config_module` AC_MSG_RESULT(yes (version $mod_version)) - Qt_CFLAGS="$Qt_CFLAGS `$PKG_CONFIG --cflags $pkg_config_module`" + mod_cflags=`$PKG_CONFIG --cflags $pkg_config_module` + AC_WIRESHARK_GCC_SYSTEM_INCLUDE(mod_cflags) + Qt_CFLAGS="$Qt_CFLAGS $mod_cflags" Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs $pkg_config_module`" # Run Action-If-Found ifelse([$4], , :, [$4]) diff --git a/aclocal-fallback/glib-2.0.m4 b/aclocal-fallback/glib-2.0.m4 index f6b58396b1..6d37a33a1b 100644 --- a/aclocal-fallback/glib-2.0.m4 +++ b/aclocal-fallback/glib-2.0.m4 @@ -67,6 +67,7 @@ AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable=glib_compile_resources gio-2.0` GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args` + AC_WIRESHARK_GCC_SYSTEM_INCLUDE(GLIB_CFLAGS) GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args` glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` diff --git a/aclocal-fallback/gtk-2.0.m4 b/aclocal-fallback/gtk-2.0.m4 index 3ad85f69e8..ca5df6c5d2 100644 --- a/aclocal-fallback/gtk-2.0.m4 +++ b/aclocal-fallback/gtk-2.0.m4 @@ -54,6 +54,7 @@ AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run if test x"$no_gtk" = x ; then GTK_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_module` + AC_WIRESHARK_GCC_SYSTEM_INCLUDE(GTK_CFLAGS) GTK_LIBS=`$PKG_CONFIG --libs $pkg_config_module` gtk_config_major_version=`$PKG_CONFIG --modversion $pkg_config_module | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` diff --git a/aclocal-fallback/gtk-3.0.m4 b/aclocal-fallback/gtk-3.0.m4 index 68c169f1df..968e5ee03e 100644 --- a/aclocal-fallback/gtk-3.0.m4 +++ b/aclocal-fallback/gtk-3.0.m4 @@ -57,6 +57,7 @@ AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run if test x"$no_gtk" = x ; then GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags` + AC_WIRESHARK_GCC_SYSTEM_INCLUDE(GTK_CFLAGS) GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs` gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-3.0 | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` diff --git a/configure.ac b/configure.ac index 524c861485..b274531f28 100644 --- a/configure.ac +++ b/configure.ac @@ -680,13 +680,13 @@ linux*) # was requested by the user. # if test x$libnl_version = "xany" -o x$libnl_version = "x3"; then - PKG_CHECK_MODULES(LIBNL3, [libnl-route-3.0 >= 3.0 libnl-genl-3.0] >= 3.0, [have_libnl3=yes], [have_libnl3=no]) + PKG_WIRESHARK_CHECK_SYSTEM_MODULES(LIBNL3, [libnl-route-3.0 >= 3.0 libnl-genl-3.0] >= 3.0, [have_libnl3=yes], [have_libnl3=no]) fi if test x$libnl_version = "xany" -o x$libnl_version = "x2"; then - PKG_CHECK_MODULES(LIBNL2, libnl-2.0 >= 2.0, [have_libnl2=yes], [have_libnl2=no]) + PKG_WIRESHARK_CHECK_SYSTEM_MODULES(LIBNL2, libnl-2.0 >= 2.0, [have_libnl2=yes], [have_libnl2=no]) fi if test x$libnl_version = "xany" -o x$libnl_version = "x1"; then - PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0, [have_libnl1=yes], [have_libnl1=no]) + PKG_WIRESHARK_CHECK_SYSTEM_MODULES(LIBNL1, libnl-1 >= 1.0, [have_libnl1=yes], [have_libnl1=no]) fi if (test "${have_libnl3}" = "yes"); then CFLAGS="$CFLAGS $LIBNL3_CFLAGS" diff --git a/tools/Makefile.am b/tools/Makefile.am index 2b582c8cbc..d1d660368a 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -131,7 +131,6 @@ EXTRA_DIST = \ dftestlib/util.py \ extract_asn1_from_spec.pl \ fix-encoding-args.pl \ - fix_pragma_wdocumentation.sh \ fixhf.pl \ ftsanity.py \ fuzz-test.sh \ diff --git a/tools/checklicenses.py b/tools/checklicenses.py index 3a76e826af..1ba939fb95 100755 --- a/tools/checklicenses.py +++ b/tools/checklicenses.py @@ -206,9 +206,6 @@ PATH_SPECIFIC_WHITELISTED_LICENSES = { 'tools/lemon': [ 'UNKNOWN', ], - 'tools/fix_pragma_wdocumentation.sh': [ - 'UNKNOWN', - ], # Generated files for GTK pixbuf binary bundling 'ui/gtk/wireshark-gresources.h': [ 'UNKNOWN', diff --git a/tools/fix_pragma_wdocumentation.sh b/tools/fix_pragma_wdocumentation.sh deleted file mode 100755 index ccc2ac4ad6..0000000000 --- a/tools/fix_pragma_wdocumentation.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# Copyright 2014, Alexis La Goutte (See AUTHORS file) -# -# For clang user: launch the script to add pragma for remove warning about -Wdocumentation -# (using on Petri Dish) - - -find . ! -name "*.sh" -type f -exec sed -i 's/#include /#pragma clang diagnostic push\n#pragma clang diagnostic ignored "-Wdocumentation"\n#include \n#pragma clang diagnostic pop/g' {} \; - -find . ! -name "*.sh" -type f -exec sed -i 's/#include /#pragma clang diagnostic push\n#pragma clang diagnostic ignored "-Wdocumentation"\n#include \n#pragma clang diagnostic pop/g' {} \; - -find . ! -name "*.sh" -type f -exec sed -i 's/#include /#pragma clang diagnostic push\n#pragma clang diagnostic ignored "-Wdocumentation"\n#include \n#pragma clang diagnostic pop/g' {} \;