toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards
Previously, it was possible to select an external toolchain that did not support the GCC arch tuning the user had selected. This is problematic because it can lead to confusing error messages during builds [0]. Now, external toolchain selections will be filtered to only those that support the required GCC version specified by the target arch tuning. Note: this patch does not touch the Bootlin toolchain config file as it is generated by a script. Additional note: there is "soft" support for toolchains prior to GCC 4.8 but there are no accompanying BR2_ARCH_NEEDS_GCC_AT_LEAST_X symbols. Instead of adding those, just use BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 which is the minimum GCC version with claimed support [1]. [0]: https://lists.buildroot.org/pipermail/buildroot/2023-August/671877.html [1]: https://buildroot.org/downloads/manual/manual.html#requirement-mandatory Signed-off-by: Vincent Fazio <vfazio@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
f3fab0defe
commit
eed1670d8a
@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE
|
|||||||
bool "Arm AArch64 BE 12.2.rel1"
|
bool "Arm AArch64 BE 12.2.rel1"
|
||||||
depends on BR2_aarch64_be
|
depends on BR2_aarch64_be
|
||||||
depends on BR2_HOSTARCH = "x86_64"
|
depends on BR2_HOSTARCH = "x86_64"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
||||||
select BR2_TOOLCHAIN_HAS_SSP
|
select BR2_TOOLCHAIN_HAS_SSP
|
||||||
select BR2_INSTALL_LIBSTDCPP
|
select BR2_INSTALL_LIBSTDCPP
|
||||||
|
@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64
|
|||||||
bool "Arm AArch64 12.2.rel1"
|
bool "Arm AArch64 12.2.rel1"
|
||||||
depends on BR2_aarch64
|
depends on BR2_aarch64
|
||||||
depends on BR2_HOSTARCH = "x86_64"
|
depends on BR2_HOSTARCH = "x86_64"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
||||||
select BR2_TOOLCHAIN_HAS_SSP
|
select BR2_TOOLCHAIN_HAS_SSP
|
||||||
select BR2_INSTALL_LIBSTDCPP
|
select BR2_INSTALL_LIBSTDCPP
|
||||||
|
@ -9,6 +9,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
|
|||||||
depends on BR2_ARM_CPU_HAS_NEON
|
depends on BR2_ARM_CPU_HAS_NEON
|
||||||
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "aarch64"
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "aarch64"
|
||||||
depends on BR2_ARM_EABIHF
|
depends on BR2_ARM_EABIHF
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
||||||
select BR2_TOOLCHAIN_HAS_SSP
|
select BR2_TOOLCHAIN_HAS_SSP
|
||||||
select BR2_INSTALL_LIBSTDCPP
|
select BR2_INSTALL_LIBSTDCPP
|
||||||
|
@ -52,66 +52,82 @@ config BR2_TOOLCHAIN_EXTERNAL_GCC_13
|
|||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_12
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_12
|
||||||
bool "12.x"
|
bool "12.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_12
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_12
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_11
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_11
|
||||||
bool "11.x"
|
bool "11.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_11
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_11
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_10
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_10
|
||||||
bool "10.x"
|
bool "10.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_11
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_10
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_10
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_9
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_9
|
||||||
bool "9.x"
|
bool "9.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_9
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_9
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_8
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_8
|
||||||
bool "8.x"
|
bool "8.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_7
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_7
|
||||||
bool "7.x"
|
bool "7.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_6
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_6
|
||||||
bool "6.x"
|
bool "6.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_5
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_5
|
||||||
bool "5.x"
|
bool "5.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
|
||||||
bool "4.9.x"
|
bool "4.9.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
|
||||||
bool "4.8.x"
|
bool "4.8.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
|
||||||
bool "4.7.x"
|
bool "4.7.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
|
||||||
bool "4.6.x"
|
bool "4.6.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
|
||||||
bool "4.5.x"
|
bool "4.5.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
|
||||||
bool "4.4.x"
|
bool "4.4.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
|
||||||
bool "4.3.x"
|
bool "4.3.x"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
||||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
|
||||||
|
|
||||||
config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
|
||||||
bool "older"
|
bool "older"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
||||||
help
|
help
|
||||||
Use this option if your GCC version is older than any of the
|
Use this option if your GCC version is older than any of the
|
||||||
above.
|
above.
|
||||||
|
@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE
|
|||||||
bool "Linaro AArch64 BE 2018.05"
|
bool "Linaro AArch64 BE 2018.05"
|
||||||
depends on BR2_aarch64_be
|
depends on BR2_aarch64_be
|
||||||
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
||||||
select BR2_TOOLCHAIN_HAS_SSP
|
select BR2_TOOLCHAIN_HAS_SSP
|
||||||
select BR2_INSTALL_LIBSTDCPP
|
select BR2_INSTALL_LIBSTDCPP
|
||||||
|
@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
|
|||||||
bool "Linaro AArch64 2018.05"
|
bool "Linaro AArch64 2018.05"
|
||||||
depends on BR2_aarch64
|
depends on BR2_aarch64
|
||||||
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
||||||
select BR2_TOOLCHAIN_HAS_SSP
|
select BR2_TOOLCHAIN_HAS_SSP
|
||||||
select BR2_INSTALL_LIBSTDCPP
|
select BR2_INSTALL_LIBSTDCPP
|
||||||
|
@ -8,6 +8,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
|
|||||||
depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
|
depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
|
||||||
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
||||||
depends on BR2_ARM_EABIHF
|
depends on BR2_ARM_EABIHF
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
||||||
select BR2_TOOLCHAIN_HAS_SSP
|
select BR2_TOOLCHAIN_HAS_SSP
|
||||||
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
||||||
|
@ -8,6 +8,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
|
|||||||
depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
|
depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
|
||||||
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
||||||
depends on BR2_ARM_EABIHF
|
depends on BR2_ARM_EABIHF
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
||||||
select BR2_TOOLCHAIN_HAS_SSP
|
select BR2_TOOLCHAIN_HAS_SSP
|
||||||
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
||||||
|
@ -2,6 +2,7 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
|
|||||||
bool "Synopsys ARC 2019.09 toolchain"
|
bool "Synopsys ARC 2019.09 toolchain"
|
||||||
depends on BR2_arc
|
depends on BR2_arc
|
||||||
depends on BR2_HOSTARCH = "x86_64"
|
depends on BR2_HOSTARCH = "x86_64"
|
||||||
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
||||||
select BR2_INSTALL_LIBSTDCPP
|
select BR2_INSTALL_LIBSTDCPP
|
||||||
select BR2_ENABLE_LOCALE
|
select BR2_ENABLE_LOCALE
|
||||||
|
Loading…
Reference in New Issue
Block a user