build system: only do the compiler test for gcc
There isn't a history of broken clang compilers yet
so let's give it a chance.
Change-Id: Iddb63700e3850116313c1ddee69111f936191055
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: http://review.coreboot.org/7607
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
diff --git a/Makefile.inc b/Makefile.inc
index 3719dd5..a925d67 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -26,17 +26,17 @@
#######################################################################
# Test for coreboot toolchain (except when explicitely not requested)
ifneq ($(NOCOMPILE),1)
-# only run if we're doing a build (not for tests, kconfig, ...)
+# 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)
-ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
-_toolchain=$(shell $(CC_x86_32) -v 2>&1 |grep -q "clang version" && echo coreboot)
-endif
ifneq ($(_toolchain),coreboot)
$(error Please use the coreboot toolchain (or prove that your toolchain works))
endif
endif
endif
+endif
#######################################################################
# Basic component discovery
diff --git a/util/abuild/abuild b/util/abuild/abuild
index ac516f7..a6b96c0 100755
--- a/util/abuild/abuild
+++ b/util/abuild/abuild
@@ -506,7 +506,7 @@
;;
-L|--clang) shift
customizing="${customizing}, clang"
- configoptions="${configoptions}CONFIG_COMPILER_LLVM_CLANG=y\n"
+ configoptions="${configoptions}CONFIG_COMPILER_LLVM_CLANG=y\n# CONFIG_COMPILER_GCC is not set\n"
;;
-z|--clean) shift
customizing="${customizing}, clean"
@@ -563,17 +563,17 @@
{
# seed shared utils
TMPCFG=`mktemp`
- if [ "$enable_blobs" = "true" ]; then
- echo "CONFIG_USE_BLOBS=y" > $TMPCFG
- fi
+ printf "$configoptions" > $TMPCFG
$MAKE -j $cpus DOTCONFIG=$TMPCFG obj=$TARGET/temp objutil=$TARGET/sharedutils allnoconfig
+ printf "$configoptions" >> $TMPCFG
+ $MAKE -j $cpus DOTCONFIG=$TMPCFG obj=$TARGET/temp objutil=$TARGET/sharedutils oldconfig 2>/dev/null |head > /dev/null
BUILDPREFIX=
if [ "$scanbuild" = "true" ]; then
scanbuild_out=$TARGET/sharedutils-scanbuild
rm -rf ${scanbuild_out}
BUILDPREFIX="scan-build -o ${scanbuild_out}tmp"
fi
- $BUILDPREFIX $MAKE -j $cpus DOTCONFIG=$TMPCFG obj=$TARGET/temp objutil=$TARGET/sharedutils `printf $configoptions` tools || exit 1
+ $BUILDPREFIX $MAKE -j $cpus DOTCONFIG=$TMPCFG obj=$TARGET/temp objutil=$TARGET/sharedutils tools || exit 1
if [ "$scanbuild" = "true" ]; then
mv ${scanbuild_out}tmp/* ${scanbuild_out}
rmdir ${scanbuild_out}tmp