90932b407c
Currently, glibc depends on !BR2_STATIC_LIBS in all the toolchain variants. However, for some architectures, glibc is the only supported libc. In commit3b3105328e
("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 commit3b3105328e
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>
95 lines
3.7 KiB
Plaintext
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
|