From 3a790abd869ddadc343710deb0c4368227ba6611 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 17 Jul 2024 08:13:31 -0700 Subject: [PATCH] Go back to preferring -isystem to -I MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * configure.ac: Go back to preferring -isystem to -I, as headers like still need it. This reverts almost all of 2024-07-16T02:25:44!eggert@cs.ucla.edu, except that the ‘nw="$nw -Wsystem-headers"’ line continues to be removed as it is no longer needed due to recent Gnulib changes. Problem reported by Eli Zaretskii in: https://lists.gnu.org/r/emacs-devel/2024-07/msg00756.html --- configure.ac | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index e2b6dc2fc4d..b6acdf2e456 100644 --- a/configure.ac +++ b/configure.ac @@ -1759,8 +1759,11 @@ AC_DEFUN fi WERROR_CFLAGS= +# When compiling with GCC, prefer -isystem to -I when including system +# include files, to avoid generating useless diagnostics for the files. AS_IF([test $gl_gcc_warnings = no], [ + isystem='-I' AS_IF([test "$emacs_cv_clang" = yes], [ # Turn off some warnings if supported. @@ -1770,6 +1773,8 @@ AC_DEFUN gl_WARN_ADD([-Wno-unknown-pragmas]) ]) ],[ + isystem='-isystem ' + # This, $nw, is the list of warnings we disable. nw= @@ -1909,6 +1914,9 @@ AC_DEFUN edit_cflags=" s,///*,/,g + s/^/ / + s/ -I/ $isystem/g + s/^ // " AC_ARG_ENABLE([link-time-optimization], @@ -2816,7 +2824,7 @@ AC_DEFUN AC_SUBST([LD_SWITCH_X_SITE_RPATH]) if test "${x_includes}" != NONE && test -n "${x_includes}"; then - C_SWITCH_X_SITE=-I`AS_ECHO(["$x_includes"]) | sed -e "s/:/ -I/g"` + C_SWITCH_X_SITE=$isystem`AS_ECHO(["$x_includes"]) | sed -e "s/:/ $isystem/g"` fi if test x"${x_includes}" = x; then @@ -2882,8 +2890,8 @@ AC_DEFUN GNUSTEP_LOCAL_HEADERS="-I${GNUSTEP_LOCAL_HEADERS}" test "x${GNUSTEP_LOCAL_LIBRARIES}" != "x" && \ GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}" - CPPFLAGS="$CPPFLAGS -I ${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" - CFLAGS="$CFLAGS -I ${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + CPPFLAGS="$CPPFLAGS -isystem ${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + CFLAGS="$CFLAGS -isystem ${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES}" LIBS_GNUSTEP="-lgnustep-gui -lgnustep-base -lobjc -lpthread" dnl GNUstep defines BASE_NATIVE_OBJC_EXCEPTIONS to 0 or 1. @@ -5787,13 +5795,13 @@ AC_DEFUN xcsdkdir="" ;; esac fi - CPPFLAGS="$CPPFLAGS -I${xcsdkdir}/usr/include/libxml2" + CPPFLAGS="$CPPFLAGS -isystem${xcsdkdir}/usr/include/libxml2" AC_CHECK_HEADER([libxml/HTMLparser.h], [AC_CHECK_DECL([HTML_PARSE_RECOVER], [HAVE_LIBXML2=yes], [], [#include ])]) CPPFLAGS="$SAVE_CPPFLAGS" if test "${HAVE_LIBXML2}" = "yes"; then - LIBXML2_CFLAGS="-I${xcsdkdir}/usr/include/libxml2" + LIBXML2_CFLAGS="-isystem${xcsdkdir}/usr/include/libxml2" LIBXML2_LIBS="-lxml2" fi fi -- 2.43.0