Fix the compiler version check so that it doesn't misdetect the version when the compiler version contains parenthesis. Taken from upstream r12274. Index: valgrind-3.7.0/configure.in =================================================================== --- valgrind-3.7.0.orig/configure.in 2011-12-22 15:21:22.269669307 +0100 +++ valgrind-3.7.0/configure.in 2011-12-22 15:21:54.029135051 +0100 @@ -98,18 +98,21 @@ # We don't want gcc < 3.0 AC_MSG_CHECKING([for a supported version of gcc]) -# Try to get the gcc version, sed-ing out some unexpected stuff -# that appears with the default gcc on OSX 10.6 and 10.7 respectively. -# Without this, the version number comes out as 686, 10 or 11 :-( +# Obtain the compiler version. # -# i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) -# i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00) +# A few examples of how the ${CC} --version output looks like: +# +# Arch Linux: i686-pc-linux-gnu-gcc (GCC) 4.6.2 +# Debian Linux: gcc (Debian 4.3.2-1.1) 4.3.2 +# openSUSE: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585] +# Exherbo Linux: x86_64-pc-linux-gnu-gcc (Exherbo gcc-4.6.2) 4.6.2 +# 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) # [gcc_version=`${CC} --version \ - | head -n 1 \ - | $SED 's/i686-apple-darwin10//' \ - | $SED 's/i686-apple-darwin11//' \ - | $SED 's/^[^0-9]*\([0-9.]*\).*$/\1/'`] + | $SED -n -e 's/[^ ]*gcc[^ ]* ([^)]*) \([0-9.]*\).*$/\1/p' \ + -e 's/[^ ]*clang version \([0-9.]*\).*$/\1/p'`] is_clang="notclang" if test "x`${CC} --version | head -n 1 | $SED 's/\(clang\) version.*/\1/'`" = "xclang" ; then Index: valgrind-3.7.0/configure =================================================================== --- valgrind-3.7.0.orig/configure 2011-12-22 15:22:05.138948143 +0100 +++ valgrind-3.7.0/configure 2011-12-22 15:23:34.807439246 +0100 @@ -5122,18 +5122,22 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a supported version of gcc" >&5 $as_echo_n "checking for a supported version of gcc... " >&6; } -# Try to get the gcc version, sed-ing out some unexpected stuff -# that appears with the default gcc on OSX 10.6 and 10.7 respectively. -# Without this, the version number comes out as 686, 10 or 11 :-( +# Obtain the compiler version. +# +# A few examples of how the ${CC} --version output looks like: # -# i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) -# i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00) +# Arch Linux: i686-pc-linux-gnu-gcc (GCC) 4.6.2 +# Debian Linux: gcc (Debian 4.3.2-1.1) 4.3.2 +# openSUSE: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585] +# Exherbo Linux: x86_64-pc-linux-gnu-gcc (Exherbo gcc-4.6.2) 4.6.2 +# 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) # gcc_version=`${CC} --version \ - | head -n 1 \ - | $SED 's/i686-apple-darwin10//' \ - | $SED 's/i686-apple-darwin11//' \ - | $SED 's/^[^0-9]*\([0-9.]*\).*$/\1/'` + | $SED -n -e 's/[^ ]*gcc[^ ]* ([^)]*) \([0-9.]*\).*$/\1/p' \ + -e 's/[^ ]*clang version \([0-9.]*\).*$/\1/p'` + is_clang="notclang" if test "x`${CC} --version | head -n 1 | $SED 's/\(clang\) version.*/\1/'`" = "xclang" ; then