From: Adam Conrad Date: Sun, 25 Nov 2012 06:58:38 +0000 (-0700) Subject: Fix C++ header directory detection for non-standard paths. X-Git-Tag: glibc-2.17~112 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6706074627da7734d21f0024b6f7fb58b5629d6b;p=thirdparty%2Fglibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index b4f6e0686c6..bca890ac38a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-11-24 Adam Conrad + + * configure.in: Autodetect C++ header directories. + * configure: Regenerated. + 2012-11-23 Mike Frysinger * elf/Makefile ($(objpfx)ld.so): Change readelf to $(READELF). diff --git a/configure b/configure index ff2d34ca9cc..8799b7de785 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 a7f7198818c..d369382264e 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)