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