diff options
author | Patrick Georgi <pgeorgi@google.com> | 2015-03-26 21:39:12 +0100 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2015-03-26 23:43:42 +0100 |
commit | 1053f6571c3487375b80a591fc3dd6c4355162eb (patch) | |
tree | b63e9082ddfc03000fcb51e59aac9175190fb412 | |
parent | a7a3917d4839dbb4e2bbc9d452a75fd974e1ac35 (diff) |
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>
-rw-r--r-- | Makefile.inc | 15 | ||||
-rw-r--r-- | toolchain.inc | 17 |
2 files changed, 17 insertions, 15 deletions
diff --git a/Makefile.inc b/Makefile.inc index 8d732ea3e0..2877a62c6c 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -26,21 +26,6 @@ export KERNELVERSION := $(strip $(if $(GIT),\ 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)) export MAINBOARDDIR diff --git a/toolchain.inc b/toolchain.inc index d69fe26e76..86dd89d57a 100644 --- a/toolchain.inc +++ b/toolchain.inc @@ -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 |