|
From: <sv...@va...> - 2012-06-17 05:53:10
|
bart 2012-06-17 06:53:02 +0100 (Sun, 17 Jun 2012)
New Revision: 12649
Log:
Recognize clang version correctly. Closes #301984.
Modified files:
trunk/configure.in
Modified: trunk/configure.in (+14 -12)
===================================================================
--- trunk/configure.in 2012-06-17 06:51:48 +01:00 (rev 12648)
+++ trunk/configure.in 2012-06-17 06:53:02 +01:00 (rev 12649)
@@ -110,21 +110,23 @@
# OS/X 10.6: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
# OS/X 10.7: i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
# Clang: clang version 2.9 (tags/RELEASE_29/final)
+# Apple clang: Apple clang version 3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn)
+# FreeBSD clang: FreeBSD clang version 3.1 (branches/release_31 156863) 20120523
#
[
- gcc_version=`${CC} -dumpversion 2>/dev/null`
- if test "x$gcc_version" = x; then
- gcc_version=`${CC} --version \
- | $SED -n -e 's/[^ ]*gcc[^ ]* ([^)]*) \([0-9.]*\).*$/\1/p' \
- -e 's/[^ ]*clang version \([0-9.]*\).*$/\1/p'`
- fi
+if test "x`${CC} --version | $SED -n -e 's/.*\(clang\) version.*/\1/p'`" = "xclang" ; then
+ is_clang="clang"
+ # Don't use -dumpversion with clang: it will always produce "4.2.1".
+ gcc_version=`${CC} --version | $SED -n -e 's/.*clang version \([0-9.]*\).*$/\1/p'`
+else
+ is_clang="notclang"
+ gcc_version=`${CC} -dumpversion 2>/dev/null`
+ if test "x$gcc_version" = x; then
+ gcc_version=`${CC} --version | $SED -n -e 's/[^ ]*gcc[^ ]* ([^)]*) \([0-9.]*\).*$/\1/p'`
+ fi
+fi
]
-is_clang="notclang"
-if test "x`${CC} --version | head -n 1 | $SED 's/\(clang\) version.*/\1/'`" = "xclang" ; then
- is_clang="clang"
-fi
-
case "${is_clang}-${gcc_version}" in
notclang-3.*)
AC_MSG_RESULT([ok (${gcc_version})])
@@ -132,7 +134,7 @@
notclang-4.*)
AC_MSG_RESULT([ok (${gcc_version})])
;;
- clang-2.9)
+ clang-2.9|clang-3.*)
AC_MSG_RESULT([ok (clang-${gcc_version})])
;;
*)
|