summaryrefslogtreecommitdiff
path: root/toolchain/toolchain-common.in
blob: 4be55c3cdbeaeca77f90c5bcf95c14b213ee1368 (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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
# Generic toolchain options

# we want gdb config in the middle of both source and external
# toolchains, but mconf won't let us source the same file twice,
# so put it here instead
source "package/gdb/Config.in.host"

config BR2_TOOLCHAIN_HAS_GCC_BUG_58595
	bool

config BR2_TOOLCHAIN_HAS_GCC_BUG_58854
	bool

config BR2_TOOLCHAIN_HAS_NATIVE_RPC
	bool

config BR2_USE_WCHAR
	bool

config BR2_ENABLE_LOCALE
	bool

config BR2_INSTALL_LIBSTDCPP
	bool

config BR2_TOOLCHAIN_HAS_THREADS
	bool

config BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	bool

config BR2_TOOLCHAIN_HAS_THREADS_NPTL
	bool

config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
	bool

config BR2_TOOLCHAIN_HAS_SSP
	bool

config BR2_ENABLE_LOCALE_PURGE
	bool "Purge unwanted locales"
	help
	  Explicitly specify what locales to install on target. If N
	  then all locales supported by packages are installed.

config BR2_ENABLE_LOCALE_WHITELIST
	string "Locales to keep"
	default "C en_US de fr"
	depends on BR2_ENABLE_LOCALE_PURGE
	help
	  Whitespace seperated list of locales to allow on target.
	  Locales not listed here will be removed from the target.
	  See 'locale -a' on your host for a list of locales available
	  on your build host, or have a look in /usr/share/locale in
	  the target file system for available locales.

	  Notice that listing a locale here doesn't guarantee that it
	  will be available on the target - That purely depends on the
	  support for that locale in the selected packages.

config BR2_GENERATE_LOCALE
	string "Generate locale data"
	default ""
	depends on \
		(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && BR2_ENABLE_LOCALE) || \
		BR2_TOOLCHAIN_USES_GLIBC
	help
	  Generate support for a list of locales. Locales can be
	  specified with or without encoding, when no encoding is
	  specified, UTF-8 is assumed. Examples of locales: en_US,
	  fr_FR.UTF-8.

config BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY
	bool "Copy gconv libraries"
	depends on BR2_TOOLCHAIN_USES_GLIBC
	help
	  The gconv libraries are used to convert between different
	  character sets (charsets).

	  Say 'y' if you need to store and/or display different charsets.

config BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST
	string "Gconv libraries to copy"
	depends on BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY
	help
	  Set to the list of gconv libraries to copy.
	  Leave empty to copy all gconv libraries.

	  Specify only the basename of the libraries, leave
	  out the .so extension. Eg.:
	    IBM850 ISO8859-15 UNICODE

	  Note: the full set of gconv libs are ~8MiB (on ARM).

# glibc and eglibc directly include gettext, so a separatly compiled
# gettext isn't needed and shouldn't be built to avoid conflicts. Some
# packages always need gettext, other packages only need gettext when
# locale support is enabled. See the documentation for how packages
# should rely on the following two options.

config BR2_NEEDS_GETTEXT
	bool
	default y if BR2_TOOLCHAIN_USES_UCLIBC

config BR2_NEEDS_GETTEXT_IF_LOCALE
	bool
	default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)

config BR2_USE_MMU
	bool "Enable MMU support" if BR2_ARCH_HAS_MMU_OPTIONAL
	default y if BR2_ARCH_HAS_MMU_OPTIONAL || BR2_ARCH_HAS_MMU_MANDATORY
	help
	  If your target has a MMU, you should say Y here.  If you
	  are unsure, just say Y.

config BR2_TARGET_OPTIMIZATION
	string "Target Optimizations"
	default ""
	help
	  Optimizations to use when building for the target host.
	  NOTE: gcc optimization level is defined in build options.

config BR2_TARGET_LDFLAGS
	string "Target linker options"
	help
	  Extra options to pass to the linker when building for the target.

	  Note that options with a '$' sign (eg. -Wl,-rpath='$ORIGIN/../lib')
	  are not supported.

config BR2_ECLIPSE_REGISTER
	bool "Register toolchain within Eclipse Buildroot plug-in"
	help
	  This options tells Buildroot to generate the necessary
	  configuration files to make your toolchain appear within
	  Eclipse, through the Eclipse Buildroot plugin.

# Options for packages to depend on, if they require at least a
# specific version of the kernel headers.
# Toolchains should choose the adequate option (ie. the highest
# version, not all of them).
config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
	bool

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19

config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
	bool
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0

# This order guarantees that the highest version is set, as kconfig
# stops affecting a value on the first matching default.
config BR2_TOOLCHAIN_HEADERS_AT_LEAST
	string
	default "4.1"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
	default "4.0"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
	default "3.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
	default "3.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
	default "3.17" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
	default "3.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
	default "3.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
	default "3.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
	default "3.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
	default "3.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
	default "3.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
	default "3.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
	default "3.9"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
	default "3.8"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
	default "3.7"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
	default "3.6"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
	default "3.5"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
	default "3.4"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
	default "3.3"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
	default "3.2"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
	default "3.1"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
	default "3.0"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
	default "2.6"

config BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
	bool

config BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
	bool
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3

config BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
	bool
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4

config BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
	bool
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5

config BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
	bool
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6

config BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
	bool
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7

config BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
	bool
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

config BR2_TOOLCHAIN_GCC_AT_LEAST_5
	bool
	select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

# This order guarantees that the highest version is set, as kconfig
# stops affecting a value on the first matching default.
config BR2_TOOLCHAIN_GCC_AT_LEAST
	string
	default "5"	if BR2_TOOLCHAIN_GCC_AT_LEAST_5
	default "4.9"	if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
	default "4.8"	if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
	default "4.7"	if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
	default "4.6"	if BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
	default "4.5"	if BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
	default "4.4"	if BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
	default "4.3"	if BR2_TOOLCHAIN_GCC_AT_LEAST_4_3