From c4e85184d2ded3f6a259948098a0c297a9cf0be6 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Thu, 6 Sep 2012 00:16:24 +1000 Subject: [PATCH] Improve C++ header location detection (bug 13966) --- ChangeLog | 7 +++++++ NEWS | 6 +++--- configure | 10 ++++------ configure.in | 10 ++++------ 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 73da793..366b3b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-09-05 Allan McRae + + [BS #13966] + * configure.in (CXX_SYSINCLUDES): Use compiler output to + determine header location. + * configure: Regenerated. + 2012-09-05 Andreas Schwab * stdlib/gen-tst-strtod-round.c (formats): Add Motorola extended diff --git a/NEWS b/NEWS index 9a58c6d..4d32679 100644 --- a/NEWS +++ b/NEWS @@ -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 diff --git a/configure b/configure index 6718bee..d159ce0 100755 --- a/configure +++ b/configure @@ -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) -- 2.7.4