build system: Test gccs that are actually used
Test that the compilers used for the target are built by our buildgcc utility. Users can override this test with the ANY_TOOLCHAIN Kconfig variable. Change-Id: I24adf2c9b83667fd34ce8eb103327c9376765f6d Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: http://review.coreboot.org/9055 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
parent
a7a3917d48
commit
1053f6571c
15
Makefile.inc
15
Makefile.inc
|
@ -25,21 +25,6 @@ export KERNELVERSION := $(strip $(if $(GIT),\
|
|||
$(shell git describe --dirty --always || git describe),\
|
||||
4.0$(KERNELREVISION)))
|
||||
|
||||
#######################################################################
|
||||
# Test for coreboot toolchain (except when explicitely not requested)
|
||||
ifneq ($(NOCOMPILE),1)
|
||||
# only run if we're doing a build (not for tests, kconfig, ...), using gcc
|
||||
# rationale: gcc versions by Linux distributions tend to be quite messed up
|
||||
ifeq ($(CONFIG_COMPILER_GCC),y)
|
||||
ifneq ($(CONFIG_ANY_TOOLCHAIN),y)
|
||||
_toolchain=$(shell $(CC_x86_32) -v 2>&1 |grep -q "gcc version .*coreboot toolchain" && echo coreboot)
|
||||
ifneq ($(_toolchain),coreboot)
|
||||
$(error Please use the coreboot toolchain (or prove that your toolchain works))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#######################################################################
|
||||
# Basic component discovery
|
||||
MAINBOARDDIR=$(call strip_quotes,$(CONFIG_MAINBOARD_DIR))
|
||||
|
|
|
@ -136,3 +136,20 @@ init_stages = \
|
|||
$(eval $(call toolchain_to_dir))
|
||||
|
||||
$(call init_stages)
|
||||
|
||||
# Test for coreboot toolchain (except when explicitely not requested)
|
||||
ifneq ($(NOCOMPILE),1)
|
||||
# only run if we're doing a build (not for tests, kconfig, ...), using gcc
|
||||
# rationale: gcc versions by Linux distributions tend to be quite messed up
|
||||
COMPILERFAIL:=0
|
||||
ifeq ($(CONFIG_COMPILER_GCC),y)
|
||||
ifneq ($(CONFIG_ANY_TOOLCHAIN),y)
|
||||
$(foreach arch,$(sort $(foreach stage,$(COREBOOT_STANDARD_STAGES),$(ARCH-$(stage)-y))), \
|
||||
$(if $(shell $(CC_$(arch)) -v 2>&1 |grep -q "gcc version .*coreboot toolchain" || echo not-coreboot), \
|
||||
$(eval COMPILERFAIL:=1)$(warning Please use the coreboot toolchain for '$(arch)' (or prove that your toolchain works))))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifeq ($(COMPILERFAIL),1)
|
||||
$(error consider building our compilers: make crossgcc)
|
||||
endif
|
||||
|
|
Loading…
Reference in New Issue