e59b3acc36
Glibc restricts ppc64le support to Power8 (or later): https://sourceware.org/git/?p=glibc.git;a=commit;h=a27d2c19355a15569dfcdd5da741b57acf1a106a The autobuilder has been attempting combiations of BR2_powerpc64le, BR2_TOOLCHAIN_USES_GLIBC and BR2_powerpc_970: http://autobuild.buildroot.net/results/89eae4c6e28658444ca5bc67caa2644358de97b7 BR2_powerpc_power6: http://autobuild.buildroot.net/results/bee990c9c34d391cfc4a351a30abc1a0a53a2415 BR2_powerpc_620: http://autobuild.buildroot.net/results/a0557172757d3bba2b5fc6244c7b9b17ef6be0db When Power9, Power10, etc support is added to buildroot we may require a BR2_PPC64LE_AT_LEAST_POWER8 or similar. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
119 lines
4.4 KiB
Plaintext
119 lines
4.4 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.
|
|
|
|
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_aarch64 || BR2_aarch64_be || BR2_arcle || BR2_arceb || \
|
|
BR2_arm || BR2_armeb || \
|
|
BR2_i386 || BR2_m68k || BR2_microblaze || \
|
|
BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
|
|
BR2_or1k || BR2_powerpc || BR2_RISCV_64 || \
|
|
BR2_sh4 || BR2_sh4eb || BR2_sparc || BR2_xtensa || \
|
|
BR2_x86_64
|
|
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_arm || BR2_armeb || BR2_aarch64 || \
|
|
BR2_aarch64_be || BR2_i386 || BR2_mips || \
|
|
BR2_mipsel || BR2_mips64 || BR2_mips64el|| \
|
|
BR2_powerpc || BR2_powerpc64 || BR2_powerpc_power8 || \
|
|
BR2_riscv || BR2_s390x || BR2_sh || \
|
|
BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \
|
|
BR2_nios2 || (BR2_arc && BR2_ARC_ATOMIC_EXT) || \
|
|
BR2_csky || BR2_or1k
|
|
depends on BR2_USE_MMU
|
|
depends on !BR2_STATIC_LIBS
|
|
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
|
|
depends on !BR2_powerpc_SPE
|
|
depends on BR2_RISCV_ISA_RVA || !BR2_riscv
|
|
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_USE_MMU
|
|
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_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \
|
|
BR2_microblaze || BR2_mips || BR2_mipsel || BR2_mips64 || \
|
|
BR2_mips64el || BR2_or1k || BR2_powerpc || BR2_powerpc64 || \
|
|
BR2_powerpc64le || BR2_RISCV_64 || BR2_sh || BR2_x86_64
|
|
depends on !BR2_powerpc_SPE # not supported, build breaks
|
|
depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC
|
|
# sh2 nommu is supported by musl, but we don't have support
|
|
# for it in Buildroot.
|
|
depends on BR2_USE_MMU
|
|
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
|