1 # Config entries for internal toolchain backend
3 if BR2_TOOLCHAIN_BUILDROOT
5 config BR2_TOOLCHAIN_BUILDROOT_VENDOR
6 string "custom toolchain vendor name"
9 This option allows to customize the "vendor" part of the
10 toolchain tuple, where the toolchain tuple has the form
11 <arch>-<vendor>-<os>-<libc>. The default value, "buildroot",
12 is fine for most cases, except in very specific situations
13 where gcc might make different decisions based on the vendor
14 part of the tuple. The value "unknown" is not allowed, as the
15 cross-compiling toolchain might then be confused with the
16 native toolchain when the target and host architecture are
17 identical. The value can not be empty either.
19 If you're not sure, just leave the default "buildroot" value.
21 source "package/linux-headers/Config.in.host"
25 default BR2_TOOLCHAIN_UCLIBC
26 default BR2_TOOLCHAIN_BUILDROOT_GLIBC if BR2_aarch64 || BR2_aarch64_be \
29 config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
31 select BR2_TOOLCHAIN_USES_UCLIBC
32 depends on BR2_arcle || BR2_arceb || BR2_arm || BR2_armeb || \
33 BR2_bfin || BR2_i386 || BR2_m68k || BR2_microblaze || \
34 BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
35 BR2_powerpc || BR2_sh2a || BR2_sh4 || BR2_sh4eb || \
36 BR2_sparc || BR2_xtensa || BR2_x86_64
37 # Unsupported for MIPS R6
38 depends on !BR2_mips_32r6 && !BR2_mips_64r6
40 This option selects uClibc-ng as the C library for the
41 cross-compilation toolchain.
45 config BR2_TOOLCHAIN_BUILDROOT_GLIBC
47 depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
48 BR2_aarch64_be || BR2_i386 || BR2_mips || \
49 BR2_mipsel || BR2_mips64 || BR2_mips64el|| \
50 BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
51 BR2_sh || BR2_sh64 || BR2_sparc64 || \
52 BR2_x86_64 || BR2_microblaze || BR2_nios2
53 depends on BR2_USE_MMU
54 depends on !BR2_STATIC_LIBS
55 depends on !BR2_powerpc_SPE
56 select BR2_TOOLCHAIN_USES_GLIBC
57 # our glibc.mk enables RPC support
58 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
60 This option selects glibc as the C library for the
61 cross-compilation toolchain.
63 http://www.gnu.org/software/libc/
65 comment "glibc only available with shared lib support"
66 depends on BR2_USE_MMU
67 depends on BR2_STATIC_LIBS
69 config BR2_TOOLCHAIN_BUILDROOT_MUSL
71 depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \
72 BR2_microblaze || BR2_mips || BR2_mipsel || BR2_mips64 || \
73 BR2_mips64el || BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
75 depends on !BR2_powerpc_SPE # not supported, build breaks
76 # Unsupported for MIPS R6
77 depends on !BR2_mips_32r6 && !BR2_mips_64r6
78 # sh2 nommu is supported by musl, but we don't have support
79 # for it in Buildroot.
80 depends on BR2_USE_MMU
81 select BR2_TOOLCHAIN_USES_MUSL
83 This option selects musl as the C library for the
84 cross-compilation toolchain.
88 config BR2_TOOLCHAIN_BUILDROOT_LIBC
90 default "uclibc" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
91 default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC
92 default "musl" if BR2_TOOLCHAIN_BUILDROOT_MUSL
94 source "package/linux-headers/Config.in"
95 source "package/musl/Config.in"
96 source "package/uclibc/Config.in"
97 source "package/glibc/Config.in"
98 source "package/binutils/Config.in.host"
99 source "package/gcc/Config.in.host"
100 source "package/elf2flt/Config.in.host"