https://gcc.gnu.org/g:dff727b2c28c52e90e0bd61957d15f907494b245

commit r16-810-gdff727b2c28c52e90e0bd61957d15f907494b245
Author: Stephanos Ioannidis <r...@stephanos.io>
Date:   Wed May 21 17:28:36 2025 -0600

    [PATCH] configure: Always add pre-installed header directories to search 
path
    
    configure script was adding the target directory flags, including the
    '-B' flags for the executable prefix and the '-isystem' flags for the
    pre-installed header directories, to the target flags only for
    non-Canadian builds under the premise that the host binaries under the
    executable prefix will not be able to execute on the build system for
    Canadian builds.
    
    While that is true for the '-B' flags specifying the executable prefix,
    the '-isystem' flags specifying the pre-installed header directories are
    not affected by this and do not need special handling.
    
    This patch updates the configure script to always add the 'include' and
    'sys-include' pre-installed header directories to the target search
    path, in order to ensure that the availability of the pre-installed
    header directories in the search path is consistent across non-Canadian
    and Canadian builds.
    
    When '--with-headers' flag is specified, this effectively ensures that
    the libc headers, that are copied from the specified header directory to
    the sys-include directory, are used by libstdc++.
    
            * configure.ac: Always add pre-installed heades to search path.
            * configure: Regenerate.

Diff:
---
 configure    | 16 ++++++++++------
 configure.ac | 16 ++++++++++------
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/configure b/configure
index ebc44416b6c2..3f85b6ca49de 100755
--- a/configure
+++ b/configure
@@ -11595,13 +11595,17 @@ if test x"${build}" = x"${host}" ; then
   LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
 fi
 
-# On Canadian crosses, we'll be searching the right directories for
-# the previously-installed cross compiler, so don't bother to add
-# flags for directories within the install tree of the compiler
-# being built; programs in there won't even run.
-if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
+if test -d ${srcdir}/gcc; then
+  # On Canadian crosses, we'll be searching the right directories for the
+  # previously-installed cross compiler, so don't bother to add flags for
+  # executable directories within the install tree of the compiler being built;
+  # programs in there won't even run.
+  if test "${build}" = "${host}"; then
+    FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ 
-B$(build_tooldir)/lib/'
+  fi
+
   # Search for pre-installed headers if nothing else fits.
-  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ 
-B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem 
$(build_tooldir)/sys-include'
+  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $(build_tooldir)/include 
-isystem $(build_tooldir)/sys-include'
 fi
 
 if test "x${use_gnu_ld}" = x &&
diff --git a/configure.ac b/configure.ac
index 730db3c14024..d6c3fb54f08d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3822,13 +3822,17 @@ if test x"${build}" = x"${host}" ; then
   LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
 fi
 
-# On Canadian crosses, we'll be searching the right directories for
-# the previously-installed cross compiler, so don't bother to add
-# flags for directories within the install tree of the compiler
-# being built; programs in there won't even run.
-if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
+if test -d ${srcdir}/gcc; then
+  # On Canadian crosses, we'll be searching the right directories for the
+  # previously-installed cross compiler, so don't bother to add flags for
+  # executable directories within the install tree of the compiler being built;
+  # programs in there won't even run.
+  if test "${build}" = "${host}"; then
+    FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ 
-B$(build_tooldir)/lib/'
+  fi
+
   # Search for pre-installed headers if nothing else fits.
-  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ 
-B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem 
$(build_tooldir)/sys-include'
+  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $(build_tooldir)/include 
-isystem $(build_tooldir)/sys-include'
 fi
 
 if test "x${use_gnu_ld}" = x &&

Reply via email to