core/buildsystem: check the actual compiler being version
Make compiler check use the output of the actual compiler being used as reported by the CC variable, instead of unconditionally running the "gcc" binary. Also only run the check if the compiler is gcc or a cross-compile gcc. ASTERISK-28374 Change-Id: Icaacf6d93686ad21076878aa1504a23b4fc9d0f4
This commit is contained in:
parent
3c106814d5
commit
8b7324ed3f
|
@ -70,11 +70,16 @@ ifneq ($(findstring darwin,$(OSARCH)),)
|
|||
endif
|
||||
endif
|
||||
|
||||
# gcc version 8.2.1 and above must have partial-inlining disabled to avoid documented bug
|
||||
GCC_VER_GTE821:=$(shell expr `gcc --version | grep ^gcc | cut -d ' ' -f 3 | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 80201)
|
||||
# gcc version 8.2.1 and above must have partial-inlining disabled to avoid documented bug.
|
||||
# We must handle cross-compiling and clang so make sure the compiler version string has "gcc"
|
||||
# somewhere in it before testing the version.
|
||||
CC_VERS_STRING=$(shell $(CC) --version | grep -i gcc)
|
||||
ifneq ($(CC_VERS_STRING),)
|
||||
GCC_VER_GTE821:=$(shell expr `echo '$(CC_VERS_STRING)' | cut -d ' ' -f 3 | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 80201)
|
||||
ifeq ($(GCC_VER_GTE821),1)
|
||||
OPTIMIZE+=-fno-partial-inlining
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_CODE_COVERAGE),no)
|
||||
_ASTCFLAGS+=$(OPTIMIZE)
|
||||
|
|
Loading…
Reference in New Issue