123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- # 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_GLIBC
- 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_sh2a || \
- 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_powerpc64le || \
- BR2_riscv || BR2_s390x || BR2_sh || \
- BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \
- BR2_nios2 || (BR2_arc && BR2_ARC_ATOMIC_EXT) || BR2_csky
- 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/ kernel headers >= 3.2"
- depends on BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
- depends on !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
- comment "glibc on RISC-V 64-bit needs a toolchain w/ headers >= 5.0"
- depends on BR2_RISCV_64
- depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0
- comment "glibc on RISC-V 32-bit needs a toolchain w/ headers >= 5.4"
- depends on BR2_RISCV_32
- depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4
- comment "glibc on ARC needs a toolchain w/ headers >= 5.1"
- depends on BR2_arc
- depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1
- comment "glibc on or1k needs a toolchain w/ headers >= 5.4"
- depends on BR2_or1k
- depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4
- 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/
- config BR2_TOOLCHAIN_BUILDROOT_NONE
- bool "none"
- depends on !BR2_PACKAGE_UCLIBC_SUPPORTS && \
- !BR2_PACKAGE_GLIBC_SUPPORTS && \
- !BR2_PACKAGE_MUSL_SUPPORTS
- help
- This option is visible if no C library is available for the
- currently selected configuration. If you select this option,
- the build will refuse to start as Buildroot needs a C
- library to build a toolchain. Change your configuration
- settings to make sure one of the C libraries is selected.
- 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
|