kumquat-buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in
Arnout Vandecappelle (Essensium/Mind) 90932b407c toolchain: invert glibc <-> !static dependency
Currently, glibc depends on !BR2_STATIC_LIBS in all the toolchain
variants.

However, for some architectures, glibc is the only supported libc. In
commit 3b3105328e ("Config.in: only
allow BR2_STATIC_LIBS on supported libc/arch"), we implemented a fix
to avoid configurations were BR2_STATIC_LIBS=y with an architecture
already supported by glibc, because these configurations are
impossible. This commit 3b3105328e
prevents from selecting BR2_STATIC_LIBS=y when the C library used for
the internal toolchain backend is glibc.

However, it introduces a discrepency between how this topic is handled
for internal and external toolchains:

 - For internal toolchains, we prevent BR2_STATIC_LIBS=y if glibc is
   chosen.

 - For external toolchains, we allow BR2_STATIC_LIBS=y in all cases,
   and it's each glibc toolchain that has !BR2_STATIC_LIBS

This commit addresses this discrepency by preventing BR2_STATIC_LIBS=y
if glibc is chosen in all cases.

Thanks to this, we can remove the !BR2_STATIC_LIBS dependency on both
the glibc package, and all glibc external toolchains.

Fixes: https://bugs.busybox.net/show_bug.cgi?id=14256

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas: update to master, fix the gen-bootlin-toolchains script, add
a comment in the static/shared choice to indicate that static is
supported only with uclibc or musl]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-07-27 11:11:19 +02:00

66 lines
3.0 KiB
Plaintext

config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
bool "Codescape IMG GNU Linux Toolchain 2018.09"
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT)
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
select BR2_TOOLCHAIN_HAS_FORTRAN
select BR2_TOOLCHAIN_HAS_OPENMP
help
Codescape IMG GNU Linux Toolchain 2018.09 for the MIPS
architecture, from MIPS Tech LLC. It uses gcc 6.3.0,
binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers
4.7. It has support for the following variants:
- MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Select 'MIPS (big endian)' Target Architecture
Select 'mips 32r6' Target Architecture Variant
Disable 'Use soft-float'
- MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
Select 'MIPS (big endian)' Target Architecture
Select 'mips 32r6' Target Architecture Variant
Enable 'Use soft-float'
- MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Select 'MIPS (little endian)' Target Architecture
Select 'mips 32r6' Target Architecture Variant
Disable 'Use soft-float'
- MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
Select 'MIPS (little endian)' Target Architecture
Select 'mips 32r6' Target Architecture Variant
Enable 'Use soft-float'
- MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI,
microMIPS
Select 'MIPS (little endian)' Target Architecture
Select 'mips 32r6' Target Architecture Variant
Disable 'Use soft-float'
Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
- MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI,
microMIPS
Select 'MIPS (little endian)' Target Architecture
Select 'mips 32r6' Target Architecture Variant
Enable 'Use soft-float'
Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
- MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
Select 'MIPS64 (big endian)' Target Architecture
Select 'mips 64r6' Target Architecture Variant
Select 'n32' Target ABI
Disable 'Use soft-float'
- MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
Select 'MIPS64 (little endian)' Target Architecture
Select 'mips 64r6' Target Architecture Variant
Select 'n32' Target ABI
Disable 'Use soft-float'
- MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
Select 'MIPS64 (big endian)' Target Architecture
Select 'mips 64r6' Target Architecture Variant
Select 'n64' Target ABI
Disable 'Use soft-float'
- MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
Select 'MIPS64 (little endian)' Target Architecture
Select 'mips 64r6' Target Architecture Variant
Select 'n64' Target ABI
Disable 'Use soft-float'