summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2012-09-06 00:16:24 +1000
committerAllan McRae <allan@archlinux.org>2012-09-06 00:16:24 +1000
commitc4e85184d2ded3f6a259948098a0c297a9cf0be6 (patch)
treeb762d78d613fe19594b52dfbba31b2b8d6631b74
parenta0070b7e7054df5f2a8da0467f15496ef8a3662f (diff)
Improve C++ header location detection (bug 13966)
-rw-r--r--ChangeLog7
-rw-r--r--NEWS6
-rwxr-xr-xconfigure10
-rw-r--r--configure.in10
4 files changed, 18 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 73da793cfa..366b3b4f40 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/NEWS b/NEWS
index 9a58c6db21..4d32679095 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 6718bee0da..d159ce0e7b 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 7de4b093d4..a174646fab 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)