From 53613eefec901bc0578087f8b23f85dd3f0acedb Mon Sep 17 00:00:00 2001 From: Pietro Incardona <incardon@mpi-cbg.de> Date: Wed, 25 Sep 2019 10:42:35 +0200 Subject: [PATCH] Fixing gcc detection --- script/detect_gcc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/script/detect_gcc b/script/detect_gcc index c9e712327..0b8ecfcc8 100755 --- a/script/detect_gcc +++ b/script/detect_gcc @@ -56,19 +56,31 @@ function detect_compiler() # First we try to understand if g++ command line is linked to clang if haveProg g++; then + is_apple_llvm=no + prefix_search="" g++ --version | grep "Apple LLVM" >/dev/null 2>&1 if [ $? == 0 ]; then + is_apple_llvm=yes + prefix_search="LLVM" + fi + g++ --version | grep "Apple clang" >/dev/null 2>&1 + if [ $? == 0 ]; then + is_apple_llvm=yes + prefix_search="clang" + fi + + if [ x"$is_apple_llvm" == x"yes" ]; then echo "Apple LLVM based g++" # we try the detect the version - major=$(g++ --version | grep LLVM | sed 's/.*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\1/g') + major=$(g++ --version | grep $prefix_search | sed 's/.*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\1/g') # we check if the detection is garbage echo "$major" | egrep -q '^[0-9]+$' if [ $? == 0 ]; then - dgc_major=$(g++ --version | grep LLVM | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\1/g') - dgc_middle=$(g++ --version | grep LLVM | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\2/g') - dgc_minor=$(g++ --version | grep LLVM | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\3/g') + dgc_major=$(g++ --version | grep $prefix_search | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\1/g') + dgc_middle=$(g++ --version | grep $prefix_search | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\2/g') + dgc_minor=$(g++ --version | grep $prefix_search | sed 's/.* \([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*(clang.*/\3/g') if [ $dgc_major -gt 6 ]; then echo -e "clang++ $dgc_major.$dgc_middle.$dgc_minor \033[92;1m SUCCESS \033[0m" -- GitLab