summaryrefslogtreecommitdiffstats
path: root/package/valgrind/valgrind-3.7.0-compiler-check.patch
blob: 4a9fcbac177bd9b6458b7828524e4e13b0522fba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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