From 4dc506066cf1727b021e6352535a8bb315c3f8dc Mon Sep 17 00:00:00 2001 From: Aleksey 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"