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>
72 lines
2.1 KiB
Plaintext
72 lines
2.1 KiB
Plaintext
config BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
|
|
bool
|
|
default y if BR2_arm
|
|
default y if BR2_armeb
|
|
default y if BR2_aarch64
|
|
default y if BR2_aarch64_be
|
|
default y if BR2_i386
|
|
default y if BR2_mips
|
|
default y if BR2_mipsel
|
|
default y if BR2_mips64
|
|
default y if BR2_mips64el
|
|
default y if BR2_or1k
|
|
default y if BR2_powerpc
|
|
default y if BR2_powerpc64
|
|
default y if BR2_powerpc_power8
|
|
default y if BR2_riscv
|
|
default y if BR2_s390x
|
|
default y if BR2_sh
|
|
default y if BR2_sparc64
|
|
default y if BR2_x86_64
|
|
default y if BR2_microblaze
|
|
default y if BR2_nios2
|
|
default y if BR2_arc && BR2_ARC_ATOMIC_EXT
|
|
default y if BR2_csky
|
|
depends on !BR2_powerpc_SPE
|
|
depends on BR2_RISCV_ISA_RVA || !BR2_riscv
|
|
depends on BR2_USE_MMU
|
|
|
|
config BR2_PACKAGE_GLIBC_SUPPORTS
|
|
bool
|
|
default y if BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
|
|
# Make sure to keep these dependencies in sync with the
|
|
# Config.in comments in
|
|
# toolchain/toolchain-buildroot/Config.in
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_RISCV_64
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 || !BR2_arc
|
|
|
|
if BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
|
|
|
comment "Glibc Options"
|
|
|
|
config BR2_PACKAGE_GLIBC
|
|
bool
|
|
default y
|
|
select BR2_PACKAGE_LINUX_HEADERS
|
|
select BR2_TOOLCHAIN_HAS_SSP if BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
|
|
help
|
|
https://www.gnu.org/software/libc/
|
|
|
|
config BR2_PACKAGE_GLIBC_KERNEL_COMPAT
|
|
bool "Enable compatibility shims to run on older kernels"
|
|
help
|
|
Say 'y' here if you plan on running your system on a kernel
|
|
older than the version used for the toolchain headers.
|
|
|
|
Enabling those compatibility shims may generate a slightly
|
|
bigger and slightly slower glibc library.
|
|
|
|
The oldest supported kernel version depends on the
|
|
architecture.
|
|
|
|
config BR2_PACKAGE_GLIBC_UTILS
|
|
bool "Install glibc utilities"
|
|
help
|
|
Enabling this option will compile and install the getconf,
|
|
ldconfig, ldd and locale glibc utilities for the target.
|
|
|
|
endif # BR2_TOOLCHAIN_BUILDROOT_GLIBC
|