[Buildroot] [PATCH 3/8] toolchain/external-custom: hide versions too old for the current arch
Yann E. MORIN
yann.morin.1998 at free.fr
Sat Oct 7 12:27:07 UTC 2017
Romain, All,
On 2017-10-07 11:27 +0200, Romain Naour spake thusly:
> Le 03/09/2017 à 11:44, Yann E. MORIN a écrit :
[--SNIP--]
> > Note: this implies that it is no longer possible to use a custom
> > external toolchain in which a specific core has been back-ported
> > Thus, this patch may cause regressions in very specific and rare
> > corner cases. Do we want to support those cases? If yes, then we
> > should drop this patch.
>
> This can be a problem for Linaro toolchains [1] where the GCC support for some
> new cpu are backported. (Ok this example is moot since Buildroot doesn't support
> these cpu).
On the other hand, we could get a non-working configuration for other
external toolchains.
And that is not nice to let the user generate a configuration we know if
invalid.
> Also since BR2_TOOLCHAIN_EXTERNAL_GCC_XXX is an user choice, we can print a
> warning instead of completely disabling the gcc version ?
I'll see if I can do something about that.
Regards,
Yann E. MORIN.
> Best regards,
> Romain
>
> [1] https://releases.linaro.org/components/toolchain/binaries/5.4-2017.05/
>
> > ---
> > .../toolchain-external-custom/Config.in.options | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
> >
> > diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> > index ae343ddad5..eb7c30f171 100644
> > --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> > +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
> > @@ -18,6 +18,11 @@ config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
> >
> > choice
> > bool "External toolchain gcc version"
> > + default BR2_TOOLCHAIN_EXTERNAL_GCC_7 if BR2_ARCH_NEEDS_GCC_AT_LEAST_7
> > + default BR2_TOOLCHAIN_EXTERNAL_GCC_6 if BR2_ARCH_NEEDS_GCC_AT_LEAST_6
> > + default BR2_TOOLCHAIN_EXTERNAL_GCC_5 if BR2_ARCH_NEEDS_GCC_AT_LEAST_5
> > + default BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
> > + default BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
> > help
> > Set to the gcc version that is used by your external
> > @@ -29,42 +34,52 @@ config BR2_TOOLCHAIN_EXTERNAL_GCC_7
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_6
> > bool "6.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_6
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_5
> > bool "5.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_5
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
> > bool "4.9.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
> > bool "4.8.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
> > bool "4.7.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
> > bool "4.6.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
> > bool "4.5.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
> > bool "4.4.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
> > bool "4.3.x"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
> >
> > config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
> > bool "older"
> > + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
> > help
> > Use this option if your GCC version is older than any of the
> > above.
> >
>
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list