summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/cc/gcc.in.22
-rw-r--r--scripts/build/cc/gcc.sh6
2 files changed, 6 insertions, 2 deletions
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
index 822cfd7..ef97698 100644
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -15,6 +15,7 @@ config CC_CORE_EXTRA_CONFIG_ARRAY
string
prompt "Core gcc extra config"
default ""
+ depends on CC_CORE_PASS_1_NEEDED || CC_CORE_PASS_2_NEEDED
help
Extra flags to pass onto ./configure when configuring the core gcc.
@@ -29,7 +30,6 @@ config CC_EXTRA_CONFIG_ARRAY
string
prompt "gcc extra config"
default ""
- depends on ! BARE_METAL
help
Extra flags to pass onto ./configure when configuring gcc.
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index 29eaabe..8a428a2 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -188,6 +188,7 @@ do_cc_core_backend() {
local -a extra_config
local -a core_LDFLAGS
local -a core_targets
+ local -a extra_user_config
local arg
for arg in "$@"; do
@@ -201,17 +202,20 @@ do_cc_core_backend() {
extra_config+=("--with-newlib")
extra_config+=("--enable-threads=no")
extra_config+=("--disable-shared")
+ extra_user_config=( "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
copy_headers=y # For baremetal, as there's no headers to copy,
# we copy an empty directory. So, who cares?
;;
shared)
extra_config+=("--enable-shared")
+ extra_user_config=( "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
copy_headers=y
;;
baremetal)
extra_config+=("--with-newlib")
extra_config+=("--enable-threads=no")
extra_config+=("--disable-shared")
+ extra_user_config=( "${CT_CC_EXTRA_CONFIG_ARRAY[@]}" )
copy_headers=n
;;
*)
@@ -391,7 +395,7 @@ do_cc_core_backend() {
${CC_CORE_SYSROOT_ARG} \
"${extra_config[@]}" \
--enable-languages="${lang_list}" \
- "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}"
+ "${extra_user_config[@]}"
if [ "${build_libgcc}" = "yes" ]; then
# HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or