1# Config entries for internal toolchain backend 2 3if BR2_TOOLCHAIN_BUILDROOT 4 5comment "Toolchain Buildroot Options" 6 7config BR2_TOOLCHAIN_BUILDROOT_VENDOR 8 string "custom toolchain vendor name" 9 default "buildroot" 10 help 11 This option allows to customize the "vendor" part of the 12 toolchain tuple, where the toolchain tuple has the form 13 <arch>-<vendor>-<os>-<libc>. The default value, "buildroot", 14 is fine for most cases, except in very specific situations 15 where gcc might make different decisions based on the vendor 16 part of the tuple. The value "unknown" is not allowed, as the 17 cross-compiling toolchain might then be confused with the 18 native toolchain when the target and host architecture are 19 identical. The value can not be empty either. 20 21 If you're not sure, just leave the default "buildroot" value. 22 23choice 24 prompt "C library" 25 default BR2_TOOLCHAIN_BUILDROOT_UCLIBC 26 default BR2_TOOLCHAIN_BUILDROOT_GLIBC if BR2_powerpc64 27 28config BR2_TOOLCHAIN_BUILDROOT_UCLIBC 29 bool "uClibc-ng" 30 depends on BR2_aarch64 || BR2_aarch64_be || BR2_arcle || BR2_arceb || \ 31 BR2_arm || BR2_armeb || \ 32 BR2_i386 || BR2_m68k || BR2_microblaze || \ 33 BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ 34 BR2_or1k || BR2_powerpc || BR2_RISCV_64 || BR2_sh2a || \ 35 BR2_sh4 || BR2_sh4eb || BR2_sparc || BR2_xtensa || \ 36 BR2_x86_64 37 select BR2_TOOLCHAIN_USES_UCLIBC 38 help 39 This option selects uClibc-ng as the C library for the 40 cross-compilation toolchain. 41 42 http://uclibc-ng.org 43 44config BR2_TOOLCHAIN_BUILDROOT_GLIBC 45 bool "glibc" 46 depends on BR2_arm || BR2_armeb || BR2_aarch64 || \ 47 BR2_aarch64_be || BR2_i386 || BR2_mips || \ 48 BR2_mipsel || BR2_mips64 || BR2_mips64el|| \ 49 BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ 50 BR2_riscv || BR2_s390x || BR2_sh || \ 51 BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \ 52 BR2_nios2 || (BR2_arc && BR2_ARC_ATOMIC_EXT) || BR2_csky 53 depends on BR2_USE_MMU 54 depends on !BR2_STATIC_LIBS 55 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 56 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le 57 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008 58 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_RISCV_64 59 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 || !BR2_arc 60 depends on !BR2_powerpc_SPE 61 depends on BR2_RISCV_ISA_RVA || !BR2_riscv 62 select BR2_TOOLCHAIN_USES_GLIBC 63 help 64 This option selects glibc as the C library for the 65 cross-compilation toolchain. 66 67 http://www.gnu.org/software/libc/ 68 69comment "glibc needs a toolchain w/ dynamic library, kernel headers >= 3.2" 70 depends on BR2_USE_MMU 71 depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 72 73# glibc >= 2.26 require kernel headers >= 3.10 on powerpc64le. 74comment "glibc on powerpc64le needs a toolchain w/ headers >= 3.10" 75 depends on BR2_powerpc64le 76 depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 77 78# Support for MIPS NAN2008 needs headers >= 4.5 79comment "glibc on MIPS w/ NAN2008 needs a toolchain w/ headers >= 4.5" 80 depends on BR2_MIPS_NAN_2008 81 depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 82 83config BR2_TOOLCHAIN_BUILDROOT_MUSL 84 bool "musl" 85 depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \ 86 BR2_microblaze || BR2_mips || BR2_mipsel || BR2_mips64 || \ 87 BR2_mips64el || BR2_or1k || BR2_powerpc || BR2_powerpc64 || \ 88 BR2_powerpc64le || BR2_RISCV_64 || BR2_sh || BR2_x86_64 89 depends on !BR2_powerpc_SPE # not supported, build breaks 90 depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC 91 # sh2 nommu is supported by musl, but we don't have support 92 # for it in Buildroot. 93 depends on BR2_USE_MMU 94 select BR2_TOOLCHAIN_USES_MUSL 95 help 96 This option selects musl as the C library for the 97 cross-compilation toolchain. 98 99 https://www.musl-libc.org/ 100 101endchoice 102 103config BR2_TOOLCHAIN_BUILDROOT_LIBC 104 string 105 default "uclibc" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC 106 default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC 107 default "musl" if BR2_TOOLCHAIN_BUILDROOT_MUSL 108 109source "package/linux-headers/Config.in.host" 110source "package/linux-headers/Config.in" 111source "package/musl/Config.in" 112source "package/uclibc/Config.in" 113source "package/glibc/Config.in" 114source "package/binutils/Config.in.host" 115source "package/gcc/Config.in.host" 116source "package/elf2flt/Config.in.host" 117endif 118