toolchain/toolchain-external/toolchain-external-custom: be more flexible on gcc version
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Fri, 2 Aug 2019 21:36:46 +0000 (23:36 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sat, 3 Aug 2019 14:19:08 +0000 (16:19 +0200)
commitb3ba26150d49dbc6b06ad402c5f6fbd398a71451
treecbbe6dc9f17fab7c8940f205da51dd15be00caeb
parent0273e2053b0a62f44f1e2e66a4b53524536dd88e
toolchain/toolchain-external/toolchain-external-custom: be more flexible on gcc version

The custom external toolchain logic asks the user to specify which gcc
version is provided by the toolchain. The list of gcc versions given
by Buildroot is restricted depending on the selected CPU architecture
using the BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz config options.

However, these config options generally indicate in which upstream gcc
version the support for the selected architecture was introduced. But
in practice, it is possible that an external toolchain uses some
non-upstream gcc code, providing support for a CPU architecture before
it was merged in upstream gcc.

A specific example is that there are pre-built external toolchains for
the C-SKY CPU architecture that are based on gcc 6.x, even if the
support for it was only added in upstream gcc 9.x.

Due to the BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz options, only gcc >= 9.x
can be selected for C-SKY, preventing the use of such a custom
toolchain.

In addition, those dependencies are in fact not really needed:
Buildroot will check that the gcc version provided matches what the
user declared in the configuration. And if the gcc provided by the
toolchain does support that CPU architecture, then well, so be it,
there's no need to restrict the gcc version selected.

So we simply get rid of these dependencies on
BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz, and also don't use them anymore to
chose a default value for the gcc version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
toolchain/toolchain-external/toolchain-external-custom/Config.in.options