about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2011-10-15 20:08:45 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2011-10-15 20:44:10 +0200
commit7872cfb09feb6f4aabb62a8aea8035e6c3ce2ddb (patch)
tree667e8897c76c34d2826dfbf3f8cc54abda09c2a6
parent2d1f3a4db65d2731a695dee6b973accea8b9adc0 (diff)
downloadglibc-7872cfb09feb6f4aabb62a8aea8035e6c3ce2ddb.tar.gz
glibc-7872cfb09feb6f4aabb62a8aea8035e6c3ce2ddb.tar.xz
glibc-7872cfb09feb6f4aabb62a8aea8035e6c3ce2ddb.zip
Fix searching for C++ system headers for cross compilers
-rw-r--r--ChangeLog5
-rwxr-xr-xconfigure9
-rw-r--r--configure.in9
3 files changed, 19 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 414611a93c..2771cd39cc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-10-15  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* configure.in: Also look in $cxxmachine/include for C++ system
+	headers.
+
 2011-09-27  Liubov Dmitrieva  <liubov.dmitrieva@gmail.com>
 
 	* sysdeps/x86_64/multiarch/Makefile: (sysdep_routines): Add
diff --git a/configure b/configure
index b59049f639..ec1d6514a4 100755
--- a/configure
+++ b/configure
@@ -5372,11 +5372,16 @@ if test -n "$sysheaders"; then
   SYSINCLUDES="$SYSINCLUDES \
 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
   if test -n "$CXX"; then
+    CXX_SYSINCLUDES=
     cxxversion=`$CXX -dumpversion 2>&5` &&
     cxxmachine=`$CXX -dumpmachine 2>&5` &&
-    cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
-    CXX_SYSINCLUDES="-isystem $cxxheaders \
+    for d in include "$cxxmachine/include"; do
+      i=../../../../$d/c++/$cxxversion
+      cxxheaders=`$CXX -print-file-name="$i"` &&
+      test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
+      CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
 -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
+    done
   fi
 fi
 
diff --git a/configure.in b/configure.in
index b2949b4958..6977fe1015 100644
--- a/configure.in
+++ b/configure.in
@@ -1061,11 +1061,16 @@ if test -n "$sysheaders"; then
   SYSINCLUDES="$SYSINCLUDES \
 -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
   if test -n "$CXX"; then
+    CXX_SYSINCLUDES=
     cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
     cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
-    cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" &&
-    CXX_SYSINCLUDES="-isystem $cxxheaders \
+    for d in include "$cxxmachine/include"; do
+      i=../../../../$d/c++/$cxxversion
+      cxxheaders=`$CXX -print-file-name="$i"` &&
+      test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
+      CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
 -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
+    done
   fi
 fi
 AC_SUBST(SYSINCLUDES)