浏览代码

Makefile.defs: get clang version only from --version output

- the full version with stderr output included has a different first
line on MacOS, making head -n 1 not extract the version number line

(cherry picked from commit bff689cfedca70149e17b6ec3584ca9ecab71418)
Daniel-Constantin Mierla 5 年之前
父节点
当前提交
36a3c1f47f
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/Makefile.defs

+ 2 - 2
src/Makefile.defs

@@ -272,7 +272,7 @@ MKTAGS=ctags
 ifneq (,$(findstring gcc, $(CC_LONGVER)))
 ifneq (,$(findstring gcc, $(CC_LONGVER)))
 	CC_NAME=gcc
 	CC_NAME=gcc
 	RPAREN=)
 	RPAREN=)
-	CC_VER:=$(word 1,$(CC)) $(shell $(CC) - --version|head -n 1|\
+	CC_VER:=$(word 1,$(CC)) $(shell $(CC) - --version 2>/dev/null|head -n 1|\
 				sed  -e 's/([^$(RPAREN)]*)//g' \
 				sed  -e 's/([^$(RPAREN)]*)//g' \
 					 -e 's/^.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/'\
 					 -e 's/^.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/'\
 					 -e 's/^[^0-9].*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/')
 					 -e 's/^[^0-9].*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/')
@@ -334,7 +334,7 @@ endif
 ifneq (, $(findstring clang, $(CC_LONGVER)))
 ifneq (, $(findstring clang, $(CC_LONGVER)))
 	#clang should be gcc compatible
 	#clang should be gcc compatible
 	CC_NAME=clang
 	CC_NAME=clang
-	CC_FULLVER:=$(shell echo "$(CC_LONGVER)" | head -n 1 |  sed -e 's/.*version \([0-9]\.[0-9]\).*/\1/g' )
+	CC_FULLVER:=$(shell $(CC) --version 2>/dev/null | head -n 1 | sed -e 's/.*version \([0-9]\.[0-9]\).*/\1/g' )
 	CC_SHORTVER:=$(shell echo "$(CC_FULLVER)" | cut -d. -f1,2 )
 	CC_SHORTVER:=$(shell echo "$(CC_FULLVER)" | cut -d. -f1,2 )
 	CC_VER=$(CC) $(CC_FULLVER)
 	CC_VER=$(CC) $(CC_FULLVER)
 	CC_OPT=-O3
 	CC_OPT=-O3