summaryrefslogtreecommitdiff
path: root/scripts/build/cc/100-gcc.sh
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-03-07 02:41:57 (GMT)
committerAlexey Neyman <stilor@att.net>2017-03-07 02:57:12 (GMT)
commitb3b94e4807f4048ce924c9f1776a1bd2df740d0b (patch)
tree5f60be321018836edf5b95a8ea467c46f41c7160 /scripts/build/cc/100-gcc.sh
parent6cdf0df01be9bd4befd9509df07354c0f4461a32 (diff)
Only add clang-specific flags to clang
I.e., only to CFLAGS_FOR_BUILD if the build is canadian. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts/build/cc/100-gcc.sh')
-rw-r--r--scripts/build/cc/100-gcc.sh36
1 files changed, 32 insertions, 4 deletions
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh
index 4dc7a69..56517d3 100644
--- a/scripts/build/cc/100-gcc.sh
+++ b/scripts/build/cc/100-gcc.sh
@@ -340,6 +340,7 @@ do_gcc_core_backend() {
local complibs
local lang_list
local cflags
+ local cflags_for_build
local ldflags
local build_step
local log_txt
@@ -579,17 +580,30 @@ do_gcc_core_backend() {
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
+ # We may need to modify host/build CFLAGS separately below
+ cflags_for_build="${cflags}"
+
# Clang's default bracket-depth is 256, and building GCC
# requires somewhere between 257 and 512.
- if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
- cflags="$cflags "-fbracket-depth=512
+ if [ "${host}" = "${CT_BUILD}" ]; then
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags="$cflags "-fbracket-depth=512
+ cflags_for_build="$cflags_for_build "-fbracket-depth=512
+ fi
+ else
+ # FIXME we currently don't support clang as host compiler, only as build
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags_for_build="$cflags_for_build "-fbracket-depth=512
+ fi
fi
# Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
CT_DoExecLog CFG \
CC_FOR_BUILD="${CT_BUILD}-gcc" \
CFLAGS="${cflags}" \
+ CFLAGS_FOR_BUILD="${cflags_for_build}" \
CXXFLAGS="${cflags}" \
+ CXXFLAGS_FOR_BUILD="${cflags_for_build}" \
LDFLAGS="${core_LDFLAGS[*]}" \
CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
@@ -867,6 +881,7 @@ do_gcc_backend() {
local complibs
local lang_list
local cflags
+ local cflags_for_build
local ldflags
local build_manuals
local -a host_libstdcxx_flags
@@ -1102,16 +1117,29 @@ do_gcc_backend() {
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
+ # We may need to modify host/build CFLAGS separately below
+ cflags_for_build="${cflags}"
+
# Clang's default bracket-depth is 256, and building GCC
# requires somewhere between 257 and 512.
- if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
- cflags="$cflags "-fbracket-depth=512
+ if [ "${host}" = "${CT_BUILD}" ]; then
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags="$cflags "-fbracket-depth=512
+ cflags_for_build="$cflags_for_build "-fbracket-depth=512
+ fi
+ else
+ # FIXME we currently don't support clang as host compiler, only as build
+ if ${CT_BUILD}-gcc --version 2>&1 | grep clang; then
+ cflags_for_build="$cflags_for_build "-fbracket-depth=512
+ fi
fi
CT_DoExecLog CFG \
CC_FOR_BUILD="${CT_BUILD}-gcc" \
CFLAGS="${cflags}" \
+ CFLAGS_FOR_BUILD="${cflags_for_build}" \
CXXFLAGS="${cflags}" \
+ CXXFLAGS_FOR_BUILD="${cflags_for_build}" \
LDFLAGS="${final_LDFLAGS[*]}" \
CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \