aboutsummaryrefslogtreecommitdiff
path: root/libgloss
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2022-02-12 01:59:13 -0500
committerMike Frysinger <vapier@gentoo.org>2022-02-16 20:29:08 -0500
commite0c0ad8268af60a2413edcab84320eef1e6ce5f9 (patch)
treea2a4500e032c15999570484ffc923a4c31aca437 /libgloss
parent5ca1f8c7ff79f9b9d139de379af2edc25f38ee01 (diff)
downloadnewlib-e0c0ad8268af60a2413edcab84320eef1e6ce5f9.zip
newlib-e0c0ad8268af60a2413edcab84320eef1e6ce5f9.tar.gz
newlib-e0c0ad8268af60a2413edcab84320eef1e6ce5f9.tar.bz2
libgloss: build with -nostdinc
We don't want libgloss building against C library headers that happened to be installed with the toolchain, so add -nostdinc to the build. We still need access to the compiler internal headers, so probe those and include them via -isystem. This uses a similar probing style as glibc, which has used it for over a decade, so it should be safe & stable. This should prevent any latent bugs due to testing with a toolchain that is fully configured & installed already.
Diffstat (limited to 'libgloss')
-rwxr-xr-xlibgloss/configure20
-rw-r--r--libgloss/configure.ac11
2 files changed, 31 insertions, 0 deletions
diff --git a/libgloss/configure b/libgloss/configure
index abe3a57..215a5c7 100755
--- a/libgloss/configure
+++ b/libgloss/configure
@@ -5104,6 +5104,26 @@ esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compiler search settings" >&5
+$as_echo_n "checking for compiler search settings... " >&6; }
+if ${libc_cv_compiler_isystem+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ for subdir in include include-fixed; do
+ if dir=`$CC -print-file-name=$subdir`; then :
+ if test -n "$dir"; then :
+ libc_cv_compiler_isystem="$libc_cv_compiler_isystem -isystem $dir"
+
+fi
+
+fi
+ done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_compiler_isystem" >&5
+$as_echo "$libc_cv_compiler_isystem" >&6; }
+CC="$CC -nostdinc $libc_cv_compiler_isystem"
+
host_makefile_frag_path=$host_makefile_frag
diff --git a/libgloss/configure.ac b/libgloss/configure.ac
index 78e92a0..06d17d8 100644
--- a/libgloss/configure.ac
+++ b/libgloss/configure.ac
@@ -336,6 +336,17 @@ m4_include([mcore/acinclude.m4])
m4_include([mn10300/acinclude.m4])
m4_include([moxie/acinclude.m4])
+AC_CACHE_CHECK([for compiler search settings], libc_cv_compiler_isystem, [dnl
+ for subdir in include include-fixed; do
+ AS_IF([dir=`$CC -print-file-name=$subdir`], [dnl
+ AS_IF([test -n "$dir"], [dnl
+ libc_cv_compiler_isystem="$libc_cv_compiler_isystem -isystem $dir"
+ ])
+ ])
+ done
+])
+CC="$CC -nostdinc $libc_cv_compiler_isystem"
+
dnl We have to assign the same value to other variables because autoconf
dnl doesn't provide a mechanism to substitute a replacement keyword with
dnl arbitrary data or pathnames.