From a7a5a56370db557a8d5f02a22de101939a0d3c0b Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Mon, 26 Jun 2017 07:21:46 +0200 Subject: [PATCH] crossgcc: Fix building with clang++ in the presence of gcc Some environments (cros_sdk) provide gcc as $CC and clang++ as $CXX. The latter needs the higher bracket-depth while the former has no idea what it means, so tell CC and CXX individually. Change-Id: I72b75fb9bb5df3a9b1561ee8821ec43ada29b24f Signed-off-by: Patrick Georgi Reviewed-on: https://review.coreboot.org/20365 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- util/crossgcc/buildgcc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc index 58403514cd..fdf8906151 100755 --- a/util/crossgcc/buildgcc +++ b/util/crossgcc/buildgcc @@ -645,7 +645,9 @@ bootstrap_GCC() { build_cross_GCC() { # Work around crazy code generator in GCC that confuses CLANG. $CC --version | grep clang >/dev/null 2>&1 && \ - HOSTCFLAGS="$HOSTCFLAGS -fbracket-depth=1024" + CLANGFLAGS="-fbracket-depth=1024" + $CXX --version | grep clang >/dev/null 2>&1 && \ + CLANGCXXFLAGS="-fbracket-depth=1024" # GCC does not honor HOSTCFLAGS at all. CFLAGS are used for # both target and host object files. @@ -655,9 +657,12 @@ build_cross_GCC() { # Also set the CXX version of the flags because GCC is now compiled # using C++. CC="$(hostcc target)" CXX="$(hostcxx target)" \ - CFLAGS_FOR_TARGET="-O2 -Dinhibit_libc" CFLAGS="$HOSTCFLAGS" \ - CFLAGS_FOR_BUILD="$HOSTCFLAGS" CXXFLAGS="$HOSTCFLAGS" \ - CXXFLAGS_FOR_BUILD="$HOSTCFLAGS" ../gcc-${GCC_VERSION}/configure \ + CFLAGS_FOR_TARGET="-O2 -Dinhibit_libc" + CFLAGS="$HOSTCFLAGS $CLANGFLAGS" \ + CFLAGS_FOR_BUILD="$HOSTCFLAGS $CLANGFLAGS" \ + CXXFLAGS="$HOSTCFLAGS $CLANGCXXFLAGS" \ + CXXFLAGS_FOR_BUILD="$HOSTCFLAGS $CLANGCXXFLAGS" \ + ../gcc-${GCC_VERSION}/configure \ --prefix=$TARGETDIR --libexecdir=$TARGETDIR/lib \ --target=${TARGETARCH} --disable-werror --disable-shared \ --enable-lto --enable-plugins --enable-gold --enable-ld=default \