Message ID | 20140511123938.GC3428@free.fr |
---|---|
State | Not Applicable |
Headers | show |
Yep, that looks like that is actually what I was looking for. On Sun, May 11, 2014 at 5:39 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > Cody, All, > > On 2014-05-11 13:07 +0200, Yann E. MORIN spake thusly: >> On 2014-05-09 19:14 -0700, Cody Schafer spake thusly: >> > # HG changeset patch >> > # User Cody Schafer <dev@codyps.com> >> > # Date 1399688029 25200 >> > # Fri May 09 19:13:49 2014 -0700 >> > # Node ID 22181e546ba746202489cda96887be0356be19c1 >> > # Parent 2cc5b5a97e93a0f28a5801b3da34dc00aea74bba >> > Allow CC_EXTRA_CONFIG_ARRAY on baremetal >> > >> > diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 >> > --- a/config/cc/gcc.in.2 >> > +++ b/config/cc/gcc.in.2 >> > @@ -29,7 +29,6 @@ >> > string >> > prompt "gcc extra config" >> > default "" >> > - depends on ! BARE_METAL >> > help >> > Extra flags to pass onto ./configure when configuring gcc. >> >> Although I understand the idea behind this change, I'm afraid it will >> not do what you expect it to do. >> >> The bare-metal compiler is built using the core backend, not the final >> backend. Thus it uses the CC_CORE_EXTRA_CONFIG_ARRAY variable. >> >> Setting the CC_EXTRA_CONFIG_ARRAY variable will thus havve no impact on >> the bare-metal compiler. >> >> I'll see what we can do, but it will be a bit more involved than just >> enabling this variable in the menuconfig. > > What about this? > > diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 > --- a/config/cc/gcc.in.2 > +++ b/config/cc/gcc.in.2 > @@ -15,6 +15,7 @@ > 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 @@ > 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 > --- a/scripts/build/cc/gcc.sh > +++ b/scripts/build/cc/gcc.sh > @@ -188,6 +188,7 @@ > 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 @@ > 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 @@ > ${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 > > It seems to be doing what you expected, right? > > Regards, > Yann e. MORIN. > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | > '------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -15,6 +15,7 @@ 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 @@ 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 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -188,6 +188,7 @@ 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 @@ 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 ;;