kumquat-buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-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

95 lines
3.7 KiB
Plaintext

config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
bool "Sourcery CodeBench MIPS 2016.05"
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
# Unsupported MIPS cores
depends on !BR2_mips_interaptiv
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on !BR2_MIPS_NABI32
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_TOOLCHAIN_HAS_OPENMP
select BR2_INSTALL_LIBSTDCPP
select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
help
Sourcery CodeBench toolchain for the MIPS architecture, from
Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
has support for the following variants:
- MIPS32r2 - Big-Endian, 2008 NaN, O32
Select MIPS (big endian) core
Disable BR2_SOFT_FLOAT
Set BR2_TARGET_OPTIMIZATION to -mnan=2008
- MIPS32r2 - Big-Endian, O32
Select MIPS (big endian) core
Disable BR2_SOFT_FLOAT
- MIPS32r2 - Big-Endian, O32, MIPS16
Select MIPS (big endian) core
Disable BR2_SOFT_FLOAT
Set BR2_TARGET_OPTIMIZATION to -mips16
- MIPS32r2 - Big-Endian, Soft-Float, O32
Select MIPS (big endian) core
Select BR2_SOFT_FLOAT
- MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
Select MIPS (big endian) core
Select BR2_SOFT_FLOAT
Set BR2_TARGET_OPTIMIZATION to -mips16
- MIPS32r2 - Little-Endian, 2008 NaN, O32
Select MIPS (little endian) core
Disable BR2_SOFT_FLOAT
Set BR2_TARGET_OPTIMIZATION to -mnan=2008
- MIPS32r2 - Little-Endian, O32
Select MIPS (little endian) core
Disable BR2_SOFT_FLOAT
- MIPS32r2 - Little-Endian, O32, MIPS16
Select MIPS (little endian) core
Disable BR2_SOFT_FLOAT
Set BR2_TARGET_OPTIMIZATION to -mips16
- MIPS32r2 - Little-Endian, Soft-Float, O32
Select MIPS (little endian) core
Select BR2_SOFT_FLOAT
- MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
Select MIPS (little endian) core
Select BR2_SOFT_FLOAT
Set BR2_TARGET_OPTIMIZATION to -mips16
- MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
Select MIPS (little endian) core
Select BR2_SOFT_FLOAT
Set BR2_TARGET_OPTIMIZATION to -mmicromips
- MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
Not usable in Buildroot yet.
- MIPS32r2 - uClibc, Big-Endian, O32
Not usable in Buildroot yet.
- MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
Not usable in Buildroot yet.
- MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
Not usable in Buildroot yet.
- MIPS32r2 - uClibc, Little-Endian, O32
Not usable in Buildroot yet.
- MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
Not usable in Buildroot yet.
- MIPS64r2 - Big-Endian, N64
Select MIPS64 (big endian) core
Select the n64 ABI
Disable BR2_SOFT_FLOAT
- MIPS64r2 - Big-Endian, Soft-Float, N64
Select MIPS64 (big endian) core
Select the n64 ABI
Select BR2_SOFT_FLOAT
- MIPS64r2 - Little-Endian, N64
Select MIPS64 (little endian) core
Select the n64 ABI
Disable BR2_SOFT_FLOAT
- MIPS64r2 - Little-Endian, Soft-Float, N64
Select MIPS64 (little endian) core
Select the n64 ABI
Select BR2_SOFT_FLOAT
comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
depends on BR2_MIPS_NABI32