aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Conrad <adconrad@0c3.net>2012-11-24 23:58:38 -0700
committerAdam Conrad <adconrad@0c3.net>2012-11-24 23:58:38 -0700
commit6706074627da7734d21f0024b6f7fb58b5629d6b (patch)
tree2778204c50c60008f0aae9e50ba1cefe42d8472c
parent800938a1268309932c20dc523bb226bcab4bfe18 (diff)
downloadglibc-6706074627da7734d21f0024b6f7fb58b5629d6b.zip
glibc-6706074627da7734d21f0024b6f7fb58b5629d6b.tar.gz
glibc-6706074627da7734d21f0024b6f7fb58b5629d6b.tar.bz2
Fix C++ header directory detection for non-standard paths.
Stop assuming specific path layouts for C++ headers, and instead use an autodetection method that looks for paths with '/[cg]++' in the g++ include list.
-rw-r--r--ChangeLog5
-rwxr-xr-xconfigure11
-rw-r--r--configure.in11
3 files changed, 15 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index b4f6e06..bca890a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-24 Adam Conrad <adconrad@0c3.net>
+
+ * configure.in: Autodetect C++ header directories.
+ * configure: Regenerated.
+
2012-11-23 Mike Frysinger <vapier@gentoo.org>
* elf/Makefile ($(objpfx)ld.so): Change readelf to $(READELF).
diff --git a/configure b/configure
index ff2d34c..8799b7d 100755
--- a/configure
+++ b/configure
@@ -5423,12 +5423,11 @@ if test -n "$sysheaders"; then
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
if test -n "$CXX"; then
CXX_SYSINCLUDES=
- cxxmachine=`$CXX -dumpmachine 2>&5` &&
- cxxheaders=`$CXX -v -S -x c++ /dev/null -o /dev/null 2>&1 \
- | sed -n -e '1,/#include/d' -e '/^ \//{p;q;}' | sed 's/ //'`
- test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
- CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
--isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
+ for cxxheaders in `$CXX -v -S -x c++ /dev/null -o /dev/null 2>&1 \
+ | sed -n -e '1,/#include/d' -e 's/^ \(\/.*\/[cg]++\)/\1/p'`; do
+ test "x$cxxheaders" != x &&
+ CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders"
+ done
fi
fi
diff --git a/configure.in b/configure.in
index a7f7198..d369382 100644
--- a/configure.in
+++ b/configure.in
@@ -995,12 +995,11 @@ if test -n "$sysheaders"; then
-isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
if test -n "$CXX"; then
CXX_SYSINCLUDES=
- cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
- cxxheaders=`$CXX -v -S -x c++ /dev/null -o /dev/null 2>&1 \
- | sed -n -e '1,/#include/d' -e '/^ \//{p;q;}' | sed 's/ //'`
- test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
- CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
--isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
+ for cxxheaders in `$CXX -v -S -x c++ /dev/null -o /dev/null 2>&1 \
+ | sed -n -e '1,/#include/d' -e 's/^ \(\/.*\/[cg]++\)/\1/p'`; do
+ test "x$cxxheaders" != x &&
+ CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders"
+ done
fi
fi
AC_SUBST(SYSINCLUDES)