3b3105328e
It is currently possible to select BR2_STATIC_LIBS while BR2_TOOLCHAIN_BUILDROOT is selected even when there are no buildroot toolchains that support BR2_STATIC_LIBS for the selected architecture. Add BR2_TOOLCHAIN_BUILDROOT_STATIC_LIBS_SUPPORTS so that we can disable the selection of BR2_STATIC_LIBS when using an unsupported architecture. Fixes: - http://autobuild.buildroot.net/results/4da59af8193376ec893321c4c2aaf1d25598502d - http://autobuild.buildroot.net/results/1950348218a4f097f078d158977c13f8b0a97d6e - http://autobuild.buildroot.net/results/2f03f2be32ad9898a990f6f0264d8c8d51991eb1 Signed-off-by: James Hilliard <james.hilliard1@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [yann.morin.1998@free.fr: add back James' SoB from: https://lore.kernel.org/buildroot/20220516210756.3093190-1-james.hilliard1@gmail.com/ ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
94 lines
2.9 KiB
Plaintext
94 lines
2.9 KiB
Plaintext
# Config entries for internal toolchain backend
|
|
|
|
if BR2_TOOLCHAIN_BUILDROOT
|
|
|
|
comment "Toolchain Buildroot Options"
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_VENDOR
|
|
string "custom toolchain vendor name"
|
|
default "buildroot"
|
|
help
|
|
This option allows to customize the "vendor" part of the
|
|
toolchain tuple, where the toolchain tuple has the form
|
|
<arch>-<vendor>-<os>-<libc>. The default value, "buildroot",
|
|
is fine for most cases, except in very specific situations
|
|
where gcc might make different decisions based on the vendor
|
|
part of the tuple. The value "unknown" is not allowed, as the
|
|
cross-compiling toolchain might then be confused with the
|
|
native toolchain when the target and host architecture are
|
|
identical. The value can not be empty either.
|
|
|
|
If you're not sure, just leave the default "buildroot" value.
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_STATIC_LIBS_SUPPORTS
|
|
bool
|
|
default y if BR2_PACKAGE_UCLIBC_SUPPORTS
|
|
default y if BR2_PACKAGE_MUSL_SUPPORTS
|
|
|
|
choice
|
|
prompt "C library"
|
|
default BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|
|
default BR2_TOOLCHAIN_BUILDROOT_GLIBC if BR2_powerpc64
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|
|
bool "uClibc-ng"
|
|
depends on BR2_PACKAGE_UCLIBC_SUPPORTS
|
|
select BR2_TOOLCHAIN_USES_UCLIBC
|
|
help
|
|
This option selects uClibc-ng as the C library for the
|
|
cross-compilation toolchain.
|
|
|
|
http://uclibc-ng.org
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
|
bool "glibc"
|
|
depends on BR2_PACKAGE_GLIBC_SUPPORTS
|
|
select BR2_TOOLCHAIN_USES_GLIBC
|
|
help
|
|
This option selects glibc as the C library for the
|
|
cross-compilation toolchain.
|
|
|
|
http://www.gnu.org/software/libc/
|
|
|
|
comment "glibc needs a toolchain w/ dynamic library, kernel headers >= 3.2"
|
|
depends on BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
|
|
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
|
|
|
|
# glibc >= 2.26 require kernel headers >= 3.10 on powerpc64le.
|
|
comment "glibc on powerpc64le needs a toolchain w/ headers >= 3.10"
|
|
depends on BR2_powerpc64le
|
|
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
|
|
|
|
# Support for MIPS NAN2008 needs headers >= 4.5
|
|
comment "glibc on MIPS w/ NAN2008 needs a toolchain w/ headers >= 4.5"
|
|
depends on BR2_MIPS_NAN_2008
|
|
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_MUSL
|
|
bool "musl"
|
|
depends on BR2_PACKAGE_MUSL_SUPPORTS
|
|
select BR2_TOOLCHAIN_USES_MUSL
|
|
help
|
|
This option selects musl as the C library for the
|
|
cross-compilation toolchain.
|
|
|
|
https://www.musl-libc.org/
|
|
|
|
endchoice
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_LIBC
|
|
string
|
|
default "uclibc" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|
|
default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
|
default "musl" if BR2_TOOLCHAIN_BUILDROOT_MUSL
|
|
|
|
source "package/linux-headers/Config.in.host"
|
|
source "package/linux-headers/Config.in"
|
|
source "package/musl/Config.in"
|
|
source "package/uclibc/Config.in"
|
|
source "package/glibc/Config.in"
|
|
source "package/binutils/Config.in.host"
|
|
source "package/gcc/Config.in.host"
|
|
source "package/elf2flt/Config.in.host"
|
|
endif
|