summaryrefslogtreecommitdiff
blob: 460e73a6ace78e26030495551ff8ea576b102424 (plain)
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
77
78
79
80
From 4dc506066cf1727b021e6352535a8bb315c3f8dc Mon Sep 17 00:00:00 2001
From: Aleksey <rhash.admin@gmail.com>
Date: Sat, 17 Jul 2021 18:39:41 +0300
Subject: [PATCH] configure: fix clang detection on macOS

---
 configure | 58 +++++++++++++++++++++++++++----------------------------
 1 file changed, 28 insertions(+), 30 deletions(-)

diff --git a/configure b/configure
index 59d432b..111270a 100755
--- a/configure
+++ b/configure
@@ -519,38 +519,36 @@ else
     elif run_cmd "$CC --version"; then
       cc_name_tmp=$($CC --version 2>&1 | head -n 1 | cut -d ' ' -f 1)
     fi
-    if test -n "${cc_name_tmp}"; then
-      if echo "$cc_name_tmp" | grep -q "gcc"; then
-        cc_name=$cc_name_tmp
-        start_check "$CC version"
-        cc_vendor=gnu
-        cc_version=$($CC -dumpversion 2>&1)
-        if ! echo $cc_version | grep -q '^[0-9][0-9]*\.[0-9]'; then
-          cc_v2=$($CC -dumpfullversion -dumpversion 2>/dev/null)
-          if echo $cc_v2 | grep -q '^[0-9][0-9]*\.[0-9]'; then
-            cc_version=$cc_v2
-          fi
+    if echo "$cc_name_tmp" | grep -q "gcc"; then
+      cc_name=$cc_name_tmp
+      start_check "$CC version"
+      cc_vendor=gnu
+      cc_version=$($CC -dumpversion 2>&1)
+      if ! echo $cc_version | grep -q '^[0-9][0-9]*\.[0-9]'; then
+        cc_v2=$($CC -dumpfullversion -dumpversion 2>/dev/null)
+        if echo $cc_v2 | grep -q '^[0-9][0-9]*\.[0-9]'; then
+          cc_version=$cc_v2
         fi
-        case $cc_version in
-          2.96*)
-            cc_fail=yes
-            ;;
-          *)
-            _cc_major=$(echo $cc_version | cut -d '.' -f 1)
-            _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
-            _cc_mini=$(echo $cc_version | cut -d '.' -f 3)
-            ;;
-        esac
-        finish_check "$cc_name $cc_version"
-        break
-      fi
-      if echo "$cc_name_tmp" | grep -q "clang"; then
-        start_check "$CC version"
-        cc_vendor=clang
-        cc_version=$($CC -dumpversion 2>&1)
-        finish_check "clang $cc_version"
-        break
       fi
+      case $cc_version in
+        2.96*)
+          cc_fail=yes
+          ;;
+        *)
+          _cc_major=$(echo $cc_version | cut -d '.' -f 1)
+          _cc_minor=$(echo $cc_version | cut -d '.' -f 2)
+          _cc_mini=$(echo $cc_version | cut -d '.' -f 3)
+          ;;
+      esac
+      finish_check "$cc_name $cc_version"
+      break
+    elif $CC --version 2>&1 | grep -q "clang"; then
+      start_check "$CC version"
+      cc_vendor=clang
+      cc_version=$($CC -dumpversion 2>&1)
+      finish_check "clang $cc_version"
+      break
+    else
       cc_name_tmp=$($CC -V 2>&1 | head -n 1 | cut -d ' ' -f 2,3)
       if test "$cc_name_tmp" = "Sun C"; then
         start_check "$CC version"