summaryrefslogtreecommitdiff
path: root/toolchain/toolchain-buildroot/Config.in
blob: 9fdfb4282f9cf81e71627d3060bc608c4ff5d2ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Config entries for internal toolchain backend

if BR2_TOOLCHAIN_BUILDROOT

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.

source "package/linux-headers/Config.in.host"

choice
	prompt "C library"
	default BR2_TOOLCHAIN_UCLIBC
	default BR2_TOOLCHAIN_BUILDROOT_GLIBC if BR2_aarch64 || BR2_aarch64_be \
		|| BR2_powerpc64

config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
	bool "uClibc-ng"
	select BR2_TOOLCHAIN_USES_UCLIBC
	depends on BR2_arcle   || BR2_arceb  || BR2_arm    || BR2_armeb    || \
		   BR2_bfin    || BR2_i386   || BR2_m68k   || BR2_microblaze || \
		   BR2_mips    || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
		   BR2_powerpc || BR2_sh2a   || BR2_sh4	   || BR2_sh4eb    || \
		   BR2_sparc   || BR2_xtensa || BR2_x86_64
	# Unsupported for MIPS R6
	depends on !BR2_mips_32r6 && !BR2_mips_64r6
	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_sh          || BR2_sh64       || BR2_sparc64 || \
		   BR2_x86_64      || BR2_microblaze || BR2_nios2
	depends on BR2_USE_MMU
	depends on !BR2_STATIC_LIBS
	depends on !BR2_powerpc_SPE
	select BR2_TOOLCHAIN_USES_GLIBC
	# our glibc.mk enables RPC support
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	help
	  This option selects glibc as the C library for the
	  cross-compilation toolchain.

	  http://www.gnu.org/software/libc/

comment "glibc only available with shared lib support"
	depends on BR2_USE_MMU
	depends on BR2_STATIC_LIBS

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_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
		   BR2_sh         || BR2_x86_64
	depends on !BR2_powerpc_SPE # not supported, build breaks
	# Unsupported for MIPS R6
	depends on !BR2_mips_32r6 && !BR2_mips_64r6
	# 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.

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"
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