makefile: Fix gcc version detection so correct -std argument can be determined
This commit is contained in:
parent
fc001cad1f
commit
d1518e56a6
1 changed files with 7 additions and 15 deletions
22
makefile
22
makefile
|
@ -123,6 +123,9 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
|
||||||
ifeq (,$(shell $(GCC) -v /dev/null 2>&1 | grep 'clang'))
|
ifeq (,$(shell $(GCC) -v /dev/null 2>&1 | grep 'clang'))
|
||||||
GCC_VERSION = $(shell $(GCC) -v /dev/null 2>&1 | grep 'gcc version' | awk '{ print $$3 }')
|
GCC_VERSION = $(shell $(GCC) -v /dev/null 2>&1 | grep 'gcc version' | awk '{ print $$3 }')
|
||||||
COMPILER_NAME = GCC Version: $(GCC_VERSION)
|
COMPILER_NAME = GCC Version: $(GCC_VERSION)
|
||||||
|
GCC_VERSION_MAJOR = $(word 1,$(subst ., ,$(GCC_VERSION)))
|
||||||
|
GCC_VERSION_MINOR = $(word 2,$(subst ., ,$(GCC_VERSION)))
|
||||||
|
CC_STD = $(shell if $(TEST) \( $(GCC_VERSION_MAJOR) -ge 5 \) -o \( \( $(GCC_VERSION_MAJOR) -eq 4 \) -a \( $(GCC_VERSION_MINOR) -ge 7 \) \); then echo -std=c11; else echo -std=gnu99; fi)
|
||||||
ifeq (,$(GCC_VERSION))
|
ifeq (,$(GCC_VERSION))
|
||||||
ifeq (SunOS,$(OSTYPE))
|
ifeq (SunOS,$(OSTYPE))
|
||||||
ifneq (,$(shell $(GCC) -V 2>&1 | grep 'Sun C'))
|
ifneq (,$(shell $(GCC) -V 2>&1 | grep 'Sun C'))
|
||||||
|
@ -133,6 +136,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
|
||||||
ifeq (HP-UX,$(OSTYPE))
|
ifeq (HP-UX,$(OSTYPE))
|
||||||
ifneq (,$(shell what `which $(firstword $(GCC)) 2>&1`| grep -i compiler))
|
ifneq (,$(shell what `which $(firstword $(GCC)) 2>&1`| grep -i compiler))
|
||||||
COMPILER_NAME = $(strip $(shell what `which $(firstword $(GCC)) 2>&1` | grep -i compiler))
|
COMPILER_NAME = $(strip $(shell what `which $(firstword $(GCC)) 2>&1` | grep -i compiler))
|
||||||
|
CC_STD = -std=gnu99
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -690,6 +694,7 @@ else
|
||||||
endif
|
endif
|
||||||
GCC_VERSION = $(word 3,$(shell $(GCC) --version))
|
GCC_VERSION = $(word 3,$(shell $(GCC) --version))
|
||||||
COMPILER_NAME = GCC Version: $(GCC_VERSION)
|
COMPILER_NAME = GCC Version: $(GCC_VERSION)
|
||||||
|
CC_STD = -std=gnu99
|
||||||
LTO_EXCLUDE_VERSIONS = 4.5.2
|
LTO_EXCLUDE_VERSIONS = 4.5.2
|
||||||
ifeq (,$(PATH_SEPARATOR))
|
ifeq (,$(PATH_SEPARATOR))
|
||||||
PATH_SEPARATOR := ;
|
PATH_SEPARATOR := ;
|
||||||
|
@ -718,11 +723,13 @@ else
|
||||||
NETWORK_LDFLAGS =
|
NETWORK_LDFLAGS =
|
||||||
NETWORK_OPT = -DUSE_SHARED -I../windows-build/winpcap/Wpdpack/include
|
NETWORK_OPT = -DUSE_SHARED -I../windows-build/winpcap/Wpdpack/include
|
||||||
NETWORK_FEATURES = - dynamic networking support using windows-build provided libpcap components
|
NETWORK_FEATURES = - dynamic networking support using windows-build provided libpcap components
|
||||||
|
NETWORK_LAN_FEATURES += PCAP
|
||||||
else
|
else
|
||||||
ifneq (,$(call find_include,pcap))
|
ifneq (,$(call find_include,pcap))
|
||||||
NETWORK_LDFLAGS =
|
NETWORK_LDFLAGS =
|
||||||
NETWORK_OPT = -DUSE_SHARED
|
NETWORK_OPT = -DUSE_SHARED
|
||||||
NETWORK_FEATURES = - dynamic networking support using libpcap components found in the MinGW directories
|
NETWORK_FEATURES = - dynamic networking support using libpcap components found in the MinGW directories
|
||||||
|
NETWORK_LAN_FEATURES += PCAP
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
ifneq (,$(VIDEO_USEFUL))
|
ifneq (,$(VIDEO_USEFUL))
|
||||||
|
@ -898,21 +905,6 @@ ifneq ($(DONT_USE_READER_THREAD),)
|
||||||
NETWORK_OPT += -DDONT_USE_READER_THREAD
|
NETWORK_OPT += -DDONT_USE_READER_THREAD
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (HP-UX,$(OSTYPE))
|
|
||||||
CC_STD = -std=gnu99
|
|
||||||
else
|
|
||||||
ifeq (,$(SUNC_VERSION))
|
|
||||||
ifeq (,$(findstring error,$(shell $(GCC) -std=c11 --version 2>&1)))
|
|
||||||
CC_STD = -std=c11
|
|
||||||
else
|
|
||||||
ifeq (,$(findstring error,$(shell $(GCC) -std=gnu99 --version 2>&1)))
|
|
||||||
CC_STD = -std=gnu99
|
|
||||||
else
|
|
||||||
CC_STD = -std=c99 -fms-extensions
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
CC_OUTSPEC = -o $@
|
CC_OUTSPEC = -o $@
|
||||||
CC := $(GCC) $(CC_STD) -U__STRICT_ANSI__ $(CFLAGS_G) $(CFLAGS_O) $(CFLAGS_GIT) -DSIM_COMPILER="$(COMPILER_NAME)" -I . $(OS_CCDEFS) $(ROMS_OPT)
|
CC := $(GCC) $(CC_STD) -U__STRICT_ANSI__ $(CFLAGS_G) $(CFLAGS_O) $(CFLAGS_GIT) -DSIM_COMPILER="$(COMPILER_NAME)" -I . $(OS_CCDEFS) $(ROMS_OPT)
|
||||||
LDFLAGS := $(OS_LDFLAGS) $(NETWORK_LDFLAGS) $(LDFLAGS_O)
|
LDFLAGS := $(OS_LDFLAGS) $(NETWORK_LDFLAGS) $(LDFLAGS_O)
|
||||||
|
|
Loading…
Add table
Reference in a new issue