toolchain: Rework external toolchain libc selection
Make it a choice menu which offers the 3 C libraries we know about: glibc, uClibc and musl. While at it, make it possible for the external toolchain libc to select USE_GLIBC, USE_UCLIBC or USE_MUSL which is used by several packages to conditionally include specific CFLAGS (e.g: iproute2). Because USE_GLIBC et al. can now be selected by external toolchains, we need to restrict the per-libc menus to check on !EXTERNAL_TOOLCHAIN. While at it, make musl the default C library for external toolchain to match the internal toolchain. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
fb586939cc
commit
c8e68150bf
3 changed files with 26 additions and 5 deletions
|
@ -96,17 +96,38 @@ menuconfig EXTERNAL_TOOLCHAIN
|
|||
default "/opt/cross/powerpc-unknown-linux-gnu" if powerpc
|
||||
default "/opt/cross/x86_64-unknown-linux-gnu" if x86_64
|
||||
|
||||
config TOOLCHAIN_LIBC
|
||||
string
|
||||
choice TOOLCHAIN_LIBC_TYPE
|
||||
prompt "Toolchain libc" if DEVEL
|
||||
depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
|
||||
default "uclibc"
|
||||
default EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
|
||||
help
|
||||
Specify the libc type used by the external toolchain. The given value
|
||||
is passed as -m flag to all gcc and g++ invocations. This is mainly
|
||||
intended for multilib toolchains which support glibc and uclibc at
|
||||
the same time. If no value is specified, no -m flag is passed.
|
||||
|
||||
config EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC
|
||||
bool "glibc"
|
||||
select USE_GLIBC
|
||||
|
||||
config EXTERNAL_TOOLCHAIN_LIBC_USE_UCLIBC
|
||||
bool "uClibc"
|
||||
select USE_UCLIBC
|
||||
depends on !(aarch64 || aarch64_be)
|
||||
|
||||
config EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
|
||||
bool "musl"
|
||||
select USE_MUSL
|
||||
|
||||
endchoice
|
||||
|
||||
config TOOLCHAIN_LIBC
|
||||
string
|
||||
depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
|
||||
default "glibc" if EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC
|
||||
default "uclibc" if EXTERNAL_TOOLCHAIN_LIBC_USE_UCLIBC
|
||||
default "musl" if EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
|
||||
|
||||
config TOOLCHAIN_BIN_PATH
|
||||
string
|
||||
prompt "Toolchain program path" if DEVEL
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
choice
|
||||
prompt "glibc version"
|
||||
depends on TOOLCHAINOPTS && USE_GLIBC
|
||||
depends on TOOLCHAINOPTS && USE_GLIBC && !EXTERNAL_TOOLCHAIN
|
||||
default GLIBC_USE_VERSION_2_24
|
||||
help
|
||||
Select the version of glibc you wish to use.
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
|
||||
config UCLIBC_ENABLE_DEBUG
|
||||
bool "Build with debug information"
|
||||
depends on TOOLCHAINOPTS && USE_UCLIBC
|
||||
depends on TOOLCHAINOPTS && USE_UCLIBC && !EXTERNAL_TOOLCHAIN
|
||||
default n
|
||||
|
|
Loading…
Reference in a new issue