diff options
author | Allan McRae <allan@archlinux.org> | 2012-09-06 00:16:24 +1000 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2012-09-06 00:16:24 +1000 |
commit | c4e85184d2ded3f6a259948098a0c297a9cf0be6 (patch) | |
tree | b762d78d613fe19594b52dfbba31b2b8d6631b74 | |
parent | a0070b7e7054df5f2a8da0467f15496ef8a3662f (diff) | |
download | glibc-c4e85184d2ded3f6a259948098a0c297a9cf0be6.zip glibc-c4e85184d2ded3f6a259948098a0c297a9cf0be6.tar.gz glibc-c4e85184d2ded3f6a259948098a0c297a9cf0be6.tar.bz2 |
Improve C++ header location detection (bug 13966)
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | NEWS | 6 | ||||
-rwxr-xr-x | configure | 10 | ||||
-rw-r--r-- | configure.in | 10 |
4 files changed, 18 insertions, 15 deletions
@@ -1,3 +1,10 @@ +2012-09-05 Allan McRae <allan@archlinux.org> + + [BS #13966] + * configure.in (CXX_SYSINCLUDES): Use compiler output to + determine header location. + * configure: Regenerated. + 2012-09-05 Andreas Schwab <schwab@linux-m68k.org> * stdlib/gen-tst-strtod-round.c (formats): Add Motorola extended @@ -10,9 +10,9 @@ Version 2.17 * The following bugs are resolved with this release: 3479, 5400, 6778, 6808, 9685, 9914, 11607, 13412, 13717, 13696, 13939, - 14042, 14090, 14166, 14150, 14151, 14154, 14157, 14166, 14173, 14195, - 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347, - 14349, 14459, 14476, 14505, 14516, 14519, 14532, 14538 + 13966, 14042, 14090, 14166, 14150, 14151, 14154, 14157, 14166, 14173, + 14195, 14252, 14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337, + 14347, 14349, 14459, 14476, 14505, 14516, 14519, 14532, 14538 * Support for STT_GNU_IFUNC symbols added for s390 and s390x. Optimized versions of memcpy, memset, and memcmp added for System z10 and @@ -5345,13 +5345,11 @@ if test -n "$sysheaders"; then CXX_SYSINCLUDES= cxxversion=`$CXX -dumpversion 2>&5` && cxxmachine=`$CXX -dumpmachine 2>&5` && - 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 \ + cxxplus=`$CXX -print-prog-name=cc1plus` + cxxheaders=`$cxxplus -v /dev/null 2>&1 | sed -n '/ \//{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" - done fi fi diff --git a/configure.in b/configure.in index 7de4b09..a174646 100644 --- a/configure.in +++ b/configure.in @@ -975,13 +975,11 @@ if test -n "$sysheaders"; then CXX_SYSINCLUDES= cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` && cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` && - 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 \ + cxxplus=`$CXX -print-prog-name=cc1plus` + cxxheaders=`$cxxplus -v /dev/null 2>&1 | sed -n '/ \//{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" - done fi fi AC_SUBST(SYSINCLUDES) |