Prefer -I to -isystem

* configure.ac: Simplify configuration by using -I instead of
-isystem, as -isystem is no longer helpful for suppressing
diagnostics (and likely has not been helpful for years).
Do not suppress -Wsystem-headers, as Gnulib no longer enables it.
This commit is contained in:
Paul Eggert 2024-07-15 19:25:44 -07:00
parent e1089cc9b6
commit a86c25c91f

View file

@ -1759,11 +1759,8 @@ if test "$enable_check_lisp_object_type" = yes; then
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.
@ -1773,8 +1770,6 @@ AS_IF([test $gl_gcc_warnings = no],
gl_WARN_ADD([-Wno-unknown-pragmas])
])
],[
isystem='-isystem '
# This, $nw, is the list of warnings we disable.
nw=
@ -1797,7 +1792,6 @@ AS_IF([test $gl_gcc_warnings = no],
nw="$nw -Wcast-align=strict" # Emacs is tricky with pointers.
nw="$nw -Wduplicated-branches" # Too many false alarms
nw="$nw -Wformat-overflow=2" # False alarms due to GCC bug 110333
nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings
nw="$nw -Woverlength-strings" # Not a problem these days
nw="$nw -Wvla" # Emacs uses <vla.h>.
nw="$nw -Wunused-const-variable=2" # lisp.h declares const objects.
@ -1915,9 +1909,6 @@ AC_SUBST([GNULIB_WARN_CFLAGS])
edit_cflags="
s,///*,/,g
s/^/ /
s/ -I/ $isystem/g
s/^ //
"
AC_ARG_ENABLE([link-time-optimization],
@ -2825,7 +2816,7 @@ fi
AC_SUBST([LD_SWITCH_X_SITE_RPATH])
if test "${x_includes}" != NONE && test -n "${x_includes}"; then
C_SWITCH_X_SITE=$isystem`AS_ECHO(["$x_includes"]) | sed -e "s/:/ $isystem/g"`
C_SWITCH_X_SITE=-I`AS_ECHO(["$x_includes"]) | sed -e "s/:/ -I/g"`
fi
if test x"${x_includes}" = x; then
@ -2891,8 +2882,8 @@ if test "${with_ns}" != no; then
GNUSTEP_LOCAL_HEADERS="-I${GNUSTEP_LOCAL_HEADERS}"
test "x${GNUSTEP_LOCAL_LIBRARIES}" != "x" && \
GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}"
CPPFLAGS="$CPPFLAGS -isystem ${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
CFLAGS="$CFLAGS -isystem ${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
CPPFLAGS="$CPPFLAGS -I ${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
CFLAGS="$CFLAGS -I ${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.
@ -5796,13 +5787,13 @@ if test "${with_xml2}" != "no"; then
xcsdkdir="" ;;
esac
fi
CPPFLAGS="$CPPFLAGS -isystem${xcsdkdir}/usr/include/libxml2"
CPPFLAGS="$CPPFLAGS -I${xcsdkdir}/usr/include/libxml2"
AC_CHECK_HEADER([libxml/HTMLparser.h],
[AC_CHECK_DECL([HTML_PARSE_RECOVER], [HAVE_LIBXML2=yes], [],
[#include <libxml/HTMLparser.h>])])
CPPFLAGS="$SAVE_CPPFLAGS"
if test "${HAVE_LIBXML2}" = "yes"; then
LIBXML2_CFLAGS="-isystem${xcsdkdir}/usr/include/libxml2"
LIBXML2_CFLAGS="-I${xcsdkdir}/usr/include/libxml2"
LIBXML2_LIBS="-lxml2"
fi
fi