The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / toolchain / toolchain-external / Config.in
1 if BR2_TOOLCHAIN_EXTERNAL
2
3 choice
4         prompt "Toolchain"
5
6 comment "(e)glibc toolchains only available with shared lib support"
7         depends on BR2_STATIC_LIBS
8
9 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
10         bool "Linaro ARM 2014.09"
11         depends on BR2_arm
12         depends on BR2_ARM_CPU_ARMV7A
13         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
14         depends on BR2_ARM_EABIHF
15         depends on !BR2_STATIC_LIBS
16         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
17         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
18         select BR2_INSTALL_LIBSTDCPP
19         select BR2_HOSTARCH_NEEDS_IA32_LIBS
20         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
21         help
22           Linaro toolchain for the ARM architecture. It uses Linaro
23           GCC 2014.09 (based on gcc 4.9), Linaro GDB 2013.10 (based on
24           GDB 7.6), eglibc 2.19, Binutils 2014.09 (based on 2.24). It
25           generates code that runs on all Cortex-A profile devices,
26           but tuned for the Cortex-A9. The code generated is Thumb 2,
27           with the hard floating point calling convention, and uses
28           the VFPv3-D16 FPU instructions.
29
30 comment "Linaro toolchains available for Cortex-A + EABIhf"
31         depends on BR2_arm
32         depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
33         depends on !BR2_STATIC_LIBS
34
35 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
36         bool "Linaro armeb 2014.09"
37         depends on BR2_armeb
38         depends on BR2_ARM_CPU_ARMV7A
39         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
40         depends on BR2_ARM_EABIHF
41         depends on !BR2_STATIC_LIBS
42         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
43         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
44         select BR2_INSTALL_LIBSTDCPP
45         select BR2_HOSTARCH_NEEDS_IA32_LIBS
46         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
47         help
48           Linaro toolchain for the ARM big endian architecture. It
49           uses Linaro GCC 2014.09 (based on gcc 4.9), Linaro GDB
50           2013.10 (based on GDB 7.6), eglibc 2.19, Binutils 2014.09
51           (based on 2.24). It generates code that runs on all Cortex-A
52           profile devices, but tuned for the Cortex-A9. The code
53           generated is Thumb 2, with the hard floating point calling
54           convention, and uses the VFPv3-D16 FPU instructions.
55
56 comment "Linaro toolchains available for Cortex-A + EABIhf"
57         depends on BR2_armeb
58         depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
59         depends on !BR2_STATIC_LIBS
60
61 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201405
62         bool "Sourcery CodeBench ARM 2014.05"
63         depends on BR2_arm
64         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
65         depends on BR2_ARM_EABI
66         depends on !BR2_STATIC_LIBS
67         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
68         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
69         select BR2_INSTALL_LIBSTDCPP
70         select BR2_HOSTARCH_NEEDS_IA32_LIBS
71         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
72         help
73           Sourcery CodeBench toolchain for the ARM architecture, from
74           Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
75           2.18 and gdb 7.7.50, kernel headers 3.13. It has support
76           for the following variants:
77             - ARMv5TE, little endian, soft-float, glibc
78               Select ARM926T, ARM10T, XScale or another ARMv5 core
79               Select BR2_SOFT_FLOAT
80             - ARMv4T, little endian, soft-float, glibc
81               Select ARM720T, ARM920T, ARM922T or another ARMv4 core
82               Select BR2_SOFT_FLOAT
83             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
84               Select Cortex-A8, Cortex-A9 or another ARMv7-A core
85               Select BR2_SOFT_FLOAT
86               Set BR2_TARGET_OPTIMIZATION to -mthumb
87
88 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201311
89         bool "Sourcery CodeBench ARM 2013.11"
90         depends on BR2_arm
91         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
92         depends on BR2_ARM_EABI
93         depends on !BR2_STATIC_LIBS
94         select BR2_TOOLCHAIN_HAS_GCC_BUG_58595 # based-on gcc-4.8.1
95         select BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # based-on gcc-4.8.1
96         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
97         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
98         select BR2_INSTALL_LIBSTDCPP
99         select BR2_HOSTARCH_NEEDS_IA32_LIBS
100         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
101         help
102           Sourcery CodeBench toolchain for the ARM architecture, from
103           Mentor Graphics. It uses gcc 4.8.1, binutils 2.23.52, glibc
104           2.18 and gdb 7.6.50, kernel headers 3.11. It has support
105           for the following variants:
106             - ARMv5TE, little endian, soft-float, glibc
107               Select ARM926T, ARM10T, XScale or another ARMv5 core
108               Select BR2_SOFT_FLOAT
109             - ARMv4T, little endian, soft-float, glibc
110               Select ARM720T, ARM920T, ARM922T or another ARMv4 core
111               Select BR2_SOFT_FLOAT
112             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
113               Select Cortex-A8, Cortex-A9 or another ARMv7-A core
114               Select BR2_SOFT_FLOAT
115               Set BR2_TARGET_OPTIMIZATION to -mthumb
116
117 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305
118         bool "Sourcery CodeBench ARM 2013.05"
119         depends on BR2_arm
120         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
121         depends on BR2_ARM_EABI
122         depends on !BR2_STATIC_LIBS
123         select BR2_TOOLCHAIN_HAS_GCC_BUG_58595 # based-on gcc-4.7.3
124         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
125         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
126         select BR2_INSTALL_LIBSTDCPP
127         select BR2_HOSTARCH_NEEDS_IA32_LIBS
128         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
129         help
130           Sourcery CodeBench toolchain for the ARM architecture, from
131           Mentor Graphics. It uses gcc 4.7.3, binutils 2.23.52, glibc
132           2.17 and gdb 7.4.50, kernel headers 3.8.2. It has support
133           for the following variants:
134             - ARMv5TE, little endian, soft-float, glibc
135               Select ARM926T, ARM10T, XScale or another ARMv5 core
136               Select BR2_SOFT_FLOAT
137             - ARMv4T, little endian, soft-float, glibc
138               Select ARM720T, ARM920T, ARM922T or another ARMv4 core
139               Select BR2_SOFT_FLOAT
140             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
141               Select Cortex-A8, Cortex-A9 or another ARMv7-A core
142               Select BR2_SOFT_FLOAT
143               Set BR2_TARGET_OPTIMIZATION to -mthumb
144
145 comment "Sourcery CodeBench toolchains available for the EABI ABI"
146         depends on BR2_arm
147         depends on !BR2_ARM_EABI
148         depends on !BR2_STATIC_LIBS
149
150 config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109
151         bool "Arago ARMv7 2011.09"
152         depends on BR2_arm
153         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
154         depends on BR2_ARM_CPU_ARMV7A
155         depends on BR2_ARM_EABI
156         depends on BR2_ARM_CPU_HAS_VFPV3 || BR2_ARM_CPU_MAYBE_HAS_VFPV3
157         depends on !BR2_STATIC_LIBS
158         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
159         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
160         select BR2_INSTALL_LIBSTDCPP
161         select BR2_HOSTARCH_NEEDS_IA32_LIBS
162         # kernel headers: 2.6.31
163         help
164           Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
165           binutils 2.20.1, glibc 2.12, gdb 7.2.
166
167           This toolchain uses -mfloat-abi=softfp (i.e can use FPU
168           instructions, but passes floating point function arguments
169           in integer registers), and requires a VFPv3 floating point
170           unit to work properly. This unit is available on most
171           Cortex-A ARM processors, but not all.
172
173 config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE_201109
174         bool "Arago ARMv5 2011.09"
175         depends on BR2_arm
176         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
177         depends on !BR2_ARM_CPU_ARMV4
178         depends on BR2_ARM_EABI
179         depends on !BR2_STATIC_LIBS
180         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
181         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
182         select BR2_INSTALL_LIBSTDCPP
183         select BR2_HOSTARCH_NEEDS_IA32_LIBS
184         # kernel headers: 2.6.31
185         help
186           Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
187           4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
188
189           This toolchain uses software-floating point.
190
191 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201411
192         bool "Sourcery CodeBench MIPS 2014.11"
193         depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
194         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
195         depends on !BR2_MIPS_NABI32
196         depends on !BR2_STATIC_LIBS
197         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
198         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
199         select BR2_INSTALL_LIBSTDCPP
200         select BR2_HOSTARCH_NEEDS_IA32_LIBS
201         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
202         help
203           Sourcery CodeBench toolchain for the MIPS architecture, from
204           Mentor Graphics. It uses gcc 4.9.1, binutils 2.24.51, glibc
205           2.20, uClibc 0.9.30 and gdb 7.7.50, kernel headers 3.16.2. It
206           has support for the following variants:
207             - MIPS32r2 - Big-Endian, 2008 NaN, O32
208               Select MIPS (big endian) core
209               Disable BR2_SOFT_FLOAT
210               Set BR2_TARGET_OPTIMIZATION to -mnan=2008
211             - MIPS32r2 - Big-Endian, O32
212               Select MIPS (big endian) core
213               Disable BR2_SOFT_FLOAT
214             - MIPS32r2 - Big-Endian, O32, MIPS16
215               Select MIPS (big endian) core
216               Disable BR2_SOFT_FLOAT
217               Set BR2_TARGET_OPTIMIZATION to -mips16
218             - MIPS32r2 - Big-Endian, Soft-Float, O32
219               Select MIPS (big endian) core
220               Select BR2_SOFT_FLOAT
221             - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
222               Select MIPS (big endian) core
223               Select BR2_SOFT_FLOAT
224               Set BR2_TARGET_OPTIMIZATION to -mips16
225             - MIPS32r2 - Little-Endian, 2008 NaN, O32
226               Select MIPS (little endian) core
227               Disable BR2_SOFT_FLOAT
228               Set BR2_TARGET_OPTIMIZATION to -mnan=2008
229             - MIPS32r2 - Little-Endian, O32
230               Select MIPS (little endian) core
231               Disable BR2_SOFT_FLOAT
232             - MIPS32r2 - Little-Endian, O32, MIPS16
233               Select MIPS (little endian) core
234               Disable BR2_SOFT_FLOAT
235               Set BR2_TARGET_OPTIMIZATION to -mips16
236             - MIPS32r2 - Little-Endian, Soft-Float, O32
237               Select MIPS (little endian) core
238               Select BR2_SOFT_FLOAT
239             - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
240               Select MIPS (little endian) core
241               Select BR2_SOFT_FLOAT
242               Set BR2_TARGET_OPTIMIZATION to -mips16
243             - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
244               Select MIPS (little endian) core
245               Select BR2_SOFT_FLOAT
246               Set BR2_TARGET_OPTIMIZATION to -mmicromips
247             - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
248               Not usable in Buildroot yet.
249             - MIPS32r2 - uClibc, Big-Endian, O32
250               Not usable in Buildroot yet.
251             - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
252               Not usable in Buildroot yet.
253             - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
254               Not usable in Buildroot yet.
255             - MIPS32r2 - uClibc, Little-Endian, O32
256               Not usable in Buildroot yet.
257             - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
258               Not usable in Buildroot yet.
259             - MIPS64r2 - Big-Endian, N64
260               Select MIPS64 (big endian) core
261               Select the n64 ABI
262               Disable BR2_SOFT_FLOAT
263             - MIPS64r2 - Big-Endian, Soft-Float, N64
264               Select MIPS64 (big endian) core
265               Select the n64 ABI
266               Select BR2_SOFT_FLOAT
267             - MIPS64r2 - Little-Endian, N64
268               Select MIPS64 (little endian) core
269               Select the n64 ABI
270               Disable BR2_SOFT_FLOAT
271             - MIPS64r2 - Little-Endian, Soft-Float, N64
272               Select MIPS64 (little endian) core
273               Select the n64 ABI
274               Select BR2_SOFT_FLOAT
275
276 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201405
277         bool "Sourcery CodeBench MIPS 2014.05"
278         depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
279         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
280         depends on !BR2_MIPS_NABI32
281         depends on !BR2_STATIC_LIBS
282         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
283         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
284         select BR2_INSTALL_LIBSTDCPP
285         select BR2_HOSTARCH_NEEDS_IA32_LIBS
286         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
287         help
288           Sourcery CodeBench toolchain for the MIPS architecture, from
289           Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
290           2.18, uClibc 0.9.30 and gdb 7.7.50, kernel headers 3.13. It
291           has support for the following variants:
292             - MIPS32r2 - Big-Endian, 2008 NaN, O32
293               Select MIPS (big endian) core
294               Disable BR2_SOFT_FLOAT
295               Set BR2_TARGET_OPTIMIZATION to -mnan=2008
296             - MIPS32r2 - Big-Endian, O32
297               Select MIPS (big endian) core
298               Disable BR2_SOFT_FLOAT
299             - MIPS32r2 - Big-Endian, O32, MIPS16
300               Select MIPS (big endian) core
301               Disable BR2_SOFT_FLOAT
302               Set BR2_TARGET_OPTIMIZATION to -mips16
303             - MIPS32r2 - Big-Endian, Soft-Float, O32
304               Select MIPS (big endian) core
305               Select BR2_SOFT_FLOAT
306             - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
307               Select MIPS (big endian) core
308               Select BR2_SOFT_FLOAT
309               Set BR2_TARGET_OPTIMIZATION to -mips16
310             - MIPS32r2 - Little-Endian, 2008 NaN, O32
311               Select MIPS (little endian) core
312               Disable BR2_SOFT_FLOAT
313               Set BR2_TARGET_OPTIMIZATION to -mnan=2008
314             - MIPS32r2 - Little-Endian, O32
315               Select MIPS (little endian) core
316               Disable BR2_SOFT_FLOAT
317             - MIPS32r2 - Little-Endian, O32, MIPS16
318               Select MIPS (little endian) core
319               Disable BR2_SOFT_FLOAT
320               Set BR2_TARGET_OPTIMIZATION to -mips16
321             - MIPS32r2 - Little-Endian, Soft-Float, O32
322               Select MIPS (little endian) core
323               Select BR2_SOFT_FLOAT
324             - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
325               Select MIPS (little endian) core
326               Select BR2_SOFT_FLOAT
327               Set BR2_TARGET_OPTIMIZATION to -mips16
328             - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
329               Select MIPS (little endian) core
330               Select BR2_SOFT_FLOAT
331               Set BR2_TARGET_OPTIMIZATION to -mmicromips
332             - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
333               Not usable in Buildroot yet.
334             - MIPS32r2 - uClibc, Big-Endian, O32
335               Not usable in Buildroot yet.
336             - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
337               Not usable in Buildroot yet.
338             - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
339               Not usable in Buildroot yet.
340             - MIPS32r2 - uClibc, Little-Endian, O32
341               Not usable in Buildroot yet.
342             - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
343               Not usable in Buildroot yet.
344             - MIPS64r2 - Big-Endian, N64
345               Select MIPS64 (big endian) core
346               Select the n64 ABI
347               Disable BR2_SOFT_FLOAT
348             - MIPS64r2 - Big-Endian, Soft-Float, N64
349               Select MIPS64 (big endian) core
350               Select the n64 ABI
351               Select BR2_SOFT_FLOAT
352             - MIPS64r2 - Little-Endian, N64
353               Select MIPS64 (little endian) core
354               Select the n64 ABI
355               Disable BR2_SOFT_FLOAT
356             - MIPS64r2 - Little-Endian, Soft-Float, N64
357               Select MIPS64 (little endian) core
358               Select the n64 ABI
359               Select BR2_SOFT_FLOAT
360
361 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201311
362         bool "Sourcery CodeBench MIPS 2013.11"
363         depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
364         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
365         depends on !BR2_MIPS_NABI32
366         depends on !BR2_STATIC_LIBS
367         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
368         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
369         select BR2_INSTALL_LIBSTDCPP
370         select BR2_HOSTARCH_NEEDS_IA32_LIBS
371         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
372         help
373           Sourcery CodeBench toolchain for the MIPS architecture, from
374           Mentor Graphics. It uses gcc 4.8.1, binutils 2.23.52, glibc
375           2.18, uClibc 0.9.30 and gdb 7.6.50, kernel headers 3.11. It
376           has support for the following variants:
377             - MIPS32r2 - Big-Endian, 2008 NaN, O32
378               Select MIPS (big endian) core
379               Disable BR2_SOFT_FLOAT
380               Set BR2_TARGET_OPTIMIZATION to -mnan=2008
381             - MIPS32r2 - Big-Endian, O32
382               Select MIPS (big endian) core
383               Disable BR2_SOFT_FLOAT
384             - MIPS32r2 - Big-Endian, O32, MIPS16
385               Select MIPS (big endian) core
386               Disable BR2_SOFT_FLOAT
387               Set BR2_TARGET_OPTIMIZATION to -mips16
388             - MIPS32r2 - Big-Endian, Soft-Float, O32
389               Select MIPS (big endian) core
390               Select BR2_SOFT_FLOAT
391             - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
392               Select MIPS (big endian) core
393               Select BR2_SOFT_FLOAT
394               Set BR2_TARGET_OPTIMIZATION to -mips16
395             - MIPS32r2 - Little-Endian, 2008 NaN, O32
396               Select MIPS (little endian) core
397               Disable BR2_SOFT_FLOAT
398               Set BR2_TARGET_OPTIMIZATION to -mnan=2008
399             - MIPS32r2 - Little-Endian, O32
400               Select MIPS (little endian) core
401               Disable BR2_SOFT_FLOAT
402             - MIPS32r2 - Little-Endian, O32, MIPS16
403               Select MIPS (little endian) core
404               Disable BR2_SOFT_FLOAT
405               Set BR2_TARGET_OPTIMIZATION to -mips16
406             - MIPS32r2 - Little-Endian, Soft-Float, O32
407               Select MIPS (little endian) core
408               Select BR2_SOFT_FLOAT
409             - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
410               Select MIPS (little endian) core
411               Select BR2_SOFT_FLOAT
412               Set BR2_TARGET_OPTIMIZATION to -mips16
413             - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
414               Select MIPS (little endian) core
415               Select BR2_SOFT_FLOAT
416               Set BR2_TARGET_OPTIMIZATION to -mmicromips
417             - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
418               Not usable in Buildroot yet.
419             - MIPS32r2 - uClibc, Big-Endian, O32
420               Not usable in Buildroot yet.
421             - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
422               Not usable in Buildroot yet.
423             - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
424               Not usable in Buildroot yet.
425             - MIPS32r2 - uClibc, Little-Endian, O32
426               Not usable in Buildroot yet.
427             - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
428               Not usable in Buildroot yet.
429             - MIPS64r2 - Big-Endian, N64
430               Select MIPS64 (big endian) core
431               Select the n64 ABI
432               Disable BR2_SOFT_FLOAT
433             - MIPS64r2 - Big-Endian, Soft-Float, N64
434               Select MIPS64 (big endian) core
435               Select the n64 ABI
436               Select BR2_SOFT_FLOAT
437             - MIPS64r2 - Little-Endian, N64
438               Select MIPS64 (little endian) core
439               Select the n64 ABI
440               Disable BR2_SOFT_FLOAT
441             - MIPS64r2 - Little-Endian, Soft-Float, N64
442               Select MIPS64 (little endian) core
443               Select the n64 ABI
444               Select BR2_SOFT_FLOAT
445
446 comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
447         depends on BR2_MIPS_NABI32
448         depends on !BR2_STATIC_LIBS
449
450 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
451         bool "Sourcery CodeBench Nios-II 2014.05"
452         depends on BR2_nios2
453         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
454         depends on !BR2_STATIC_LIBS
455         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
456         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
457         select BR2_INSTALL_LIBSTDCPP
458         select BR2_HOSTARCH_NEEDS_IA32_LIBS
459         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
460         help
461           Sourcery CodeBench toolchain for the Nios-II architecture,
462           from Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51,
463           glibc 2.19.90, gdb 7.7.50 and kernel headers 3.12.
464
465 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
466         bool "Sourcery CodeBench Nios-II 2013.05"
467         depends on BR2_nios2
468         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
469         depends on !BR2_STATIC_LIBS
470         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
471         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
472         select BR2_INSTALL_LIBSTDCPP
473         select BR2_HOSTARCH_NEEDS_IA32_LIBS
474         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
475         help
476           Sourcery CodeBench toolchain for the Nios-II architecture,
477           from Mentor Graphics. It uses gcc 4.7.3, binutils 2.23.52,
478           glibc 2.17, gdb 7.4.50 and kernel headers 3.7.0.
479
480 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201203
481         bool "Sourcery CodeBench PowerPC 2012.03"
482         depends on BR2_powerpc
483         depends on BR2_powerpc_SPE
484         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
485         depends on !BR2_STATIC_LIBS
486         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
487         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
488         select BR2_INSTALL_LIBSTDCPP
489         select BR2_HOSTARCH_NEEDS_IA32_LIBS
490         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
491         help
492           Sourcery CodeBench toolchain for the PowerPC architecture,
493           from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53,
494           glibc 2.15, gdb 7.2.50 and kernel headers 3.2.10. It has
495           support for the following variants:
496             - e500v2 glibc, SPE, 32 bits
497
498 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
499         bool "Sourcery CodeBench PowerPC 2011.03"
500         depends on BR2_powerpc
501         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
502         depends on !BR2_STATIC_LIBS
503         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
504         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
505         select BR2_INSTALL_LIBSTDCPP
506         select BR2_HOSTARCH_NEEDS_IA32_LIBS
507         # kernel headers: 2.6.38
508         help
509           Sourcery CodeBench toolchain for the PowerPC architecture,
510           from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20.51,
511           glibc 2.13, gdb 7.2.50 and kernel headers 2.6.38. It has
512           support for the following variants:
513             - 603 glibc, 32 bits
514               Select a generic PowerPC core
515               Disable BR2_SOFT_FLOAT
516             - 603 soft float glibc, 32 bits
517               Select a generic PowerPC core
518               Enable BR2_SOFT_FLOAT
519             - e600 altivec glibc, 32 bits
520               Set BR2_TARGET_OPTIMIZATION to -te600
521             - e500v1 glibc, 32 bits
522               Set BR2_TARGET_OPTIMIZATION to -te500v1
523             - e500v2 glibc, 32 bits
524               Set BR2_TARGET_OPTIMIZATION to -te500v2
525             - e500mc glibc, 32 bits
526               Set BR2_TARGET_OPTIMIZATION to -te500mc
527             - 970 glibc hard-float, 64 bits
528               Set BR2_TARGET_OPTIMIZATION to -m64
529
530 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
531         bool "Sourcery CodeBench PowerPC 2010.09"
532         depends on BR2_powerpc
533         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
534         depends on !BR2_STATIC_LIBS
535         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
536         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
537         select BR2_INSTALL_LIBSTDCPP
538         select BR2_HOSTARCH_NEEDS_IA32_LIBS
539         # kernel headers: 2.6.35
540         help
541           Sourcery CodeBench toolchain for the PowerPC architecture,
542           from Mentor Graphics. It uses gcc 4.5.1, binutils 2.20,
543           glibc 2.11, gdb 7.2.50 and kernel headers 2.6.35.2. It has
544           support for the following variants:
545             - 603 glibc, 32 bits
546               Select a generic PowerPC core
547               Disable BR2_SOFT_FLOAT
548             - 603 soft float glibc, 32 bits
549               Select a generic PowerPC core
550               Enable BR2_SOFT_FLOAT
551             - e600 altivec glibc, 32 bits
552               Set BR2_TARGET_OPTIMIZATION to -te600
553             - e500v1 glibc, 32 bits
554               Set BR2_TARGET_OPTIMIZATION to -te500v1
555             - e500v2 glibc, 32 bits
556               Set BR2_TARGET_OPTIMIZATION to -te500v2
557             - e500mc glibc, 32 bits
558               Set BR2_TARGET_OPTIMIZATION to -te500mc
559             - 970 glibc hard-float, 64 bits
560               Set BR2_TARGET_OPTIMIZATION to -m64
561
562 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
563         bool "Sourcery CodeBench SH 2012.09"
564         depends on BR2_sh4a || BR2_sh4aeb
565         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
566         depends on !BR2_STATIC_LIBS
567         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
568         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
569         select BR2_INSTALL_LIBSTDCPP
570         select BR2_HOSTARCH_NEEDS_IA32_LIBS
571         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
572         help
573           Sourcery CodeBench toolchain for the SuperH architecture,
574           from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
575           glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
576           3.5.4. It has support for the following variants:
577             - SH4A, glibc, little endian
578               Default.
579             - SH4A, glibc, big endian
580               Add -mb to BR2_TARGET_OPTIMIZATION
581             - SH4A, uClibc, little endian
582               Not usable in Buildroot yet.
583             - SH4A, uClibc, big endian
584               Not usable in Buildroot yet.
585
586 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
587         bool "Sourcery CodeBench SH 2012.03"
588         depends on BR2_sh4a || BR2_sh4aeb
589         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
590         depends on !BR2_STATIC_LIBS
591         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
592         select BR2_INSTALL_LIBSTDCPP
593         select BR2_HOSTARCH_NEEDS_IA32_LIBS
594         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
595         help
596           Sourcery CodeBench toolchain for the SuperH architecture,
597           from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53,
598           glibc 2.15, uClibc 0.9.30, gdb 7.2.50 and kernel headers
599           3.2.10. It has support for the following variants:
600             - SH4A, glibc, little endian
601               Default.
602             - SH4A, glibc, big endian
603               Add -mb to BR2_TARGET_OPTIMIZATION
604             - SH4A, uClibc, little endian
605               Not usable in Buildroot yet.
606             - SH4A, uClibc, big endian
607               Not usable in Buildroot yet.
608
609 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
610         bool "Sourcery CodeBench SH 2011.03"
611         depends on BR2_sh4a || BR2_sh4aeb
612         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
613         depends on !BR2_STATIC_LIBS
614         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
615         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
616         select BR2_INSTALL_LIBSTDCPP
617         select BR2_HOSTARCH_NEEDS_IA32_LIBS
618         # kernel headers: 2.6.38
619         help
620           Sourcery CodeBench toolchain for the SuperH architecture,
621           from Mentor Graphics. It uses gcc 4.5.2, binutils 2.20,
622           glibc 2.13, uClibc 0.9.30, gdb 7.2.50 and kernel headers
623           2.6.38. It has support for the following variants:
624             - SH4A, glibc, little endian
625               Default.
626             - SH4A, glibc, big endian
627               Add -mb to BR2_TARGET_OPTIMIZATION
628             - SH4A, uClibc, little endian
629               Not usable in Buildroot yet.
630             - SH4A, uClibc, big endian
631               Not usable in Buildroot yet.
632
633 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_201405
634         bool "Sourcery CodeBench AMD64 2014.05"
635         depends on BR2_x86_64
636         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
637         depends on !BR2_STATIC_LIBS
638         depends on BR2_x86_jaguar || BR2_x86_steamroller
639         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
640         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
641         select BR2_INSTALL_LIBSTDCPP
642         select BR2_HOSTARCH_NEEDS_IA32_LIBS
643         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
644         help
645           Sourcery CodeBench toolchain for the amd64 (x86_64)
646           architectures, from Mentor Graphics. It uses gcc 4.8.3,
647           binutils 2.24.51, glibc 2.18, gdb 7.7.50 and kernel headers
648           3.13.0. It has support for the following variants:
649             - AMD Puma/Jaguar (family 16h), glibc
650             Default for x86_64, nothing special to do.
651             - AMD Steamroller (family 15h), glibc
652             Select a steamroller core.
653           No other architecture variants are supported since glibc
654           is optimized for one of these two baselines.
655
656 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
657         bool "Sourcery CodeBench x86/x86_64 2012.09"
658         depends on BR2_i386 || BR2_x86_64
659         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
660         depends on !BR2_STATIC_LIBS
661         depends on !BR2_x86_jaguar
662         depends on !BR2_x86_steamroller
663         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
664         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
665         select BR2_INSTALL_LIBSTDCPP
666         select BR2_HOSTARCH_NEEDS_IA32_LIBS
667         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
668         help
669           Sourcery CodeBench toolchain for the x86/x86_64
670           architectures, from Mentor Graphics. It uses gcc 4.7.2,
671           binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
672           3.5.4. It has support for the following variants:
673             - Intel Pentium 4, glibc, 32 bits
674               Default for x86, nothing special to do.
675             - Intel Atom, glibc, 32 bits
676               Select an Atom core
677             - Intel Xeon, glibc, 64 bits
678               Default for x86_64, nothing special to do.
679             - Intel Core 2, glibc, 64 bits
680               Select a Core 2 core
681           Other architecture variants (beyond Pentium-4/Xeon) are
682           supported as well, but glibc is not optimised for it.
683
684 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
685         bool "Sourcery CodeBench x86/x86_64 2012.03"
686         depends on BR2_i386 || BR2_x86_64
687         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
688         depends on !BR2_STATIC_LIBS
689         depends on !BR2_x86_jaguar
690         depends on !BR2_x86_steamroller
691         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
692         select BR2_INSTALL_LIBSTDCPP
693         select BR2_HOSTARCH_NEEDS_IA32_LIBS
694         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
695         help
696           Sourcery CodeBench toolchain for the x86/x86_64
697           architectures, from Mentor Graphics. It uses gcc 4.6.3,
698           binutils 2.21.53, glibc 2.15, gdb 7.2.50 and kernel headers
699           3.2.10. It has support for the following variants:
700             - Intel Pentium 4, glibc, 32 bits
701               Default for x86, nothing special to do.
702             - Intel Atom, glibc, 32 bits
703               Select an Atom core
704             - Intel Xeon, glibc, 64 bits
705               Default for x86_64, nothing special to do.
706             - Intel Core 2, glibc, 64 bits
707               Select a Core 2 core
708           Other architecture variants (beyond Pentium-4/Xeon) are
709           supported as well, but glibc is not optimised for it.
710
711 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
712         bool "Sourcery CodeBench x86/x86_64 2011.09"
713         depends on BR2_i386 || BR2_x86_64
714         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
715         depends on !BR2_STATIC_LIBS
716         depends on !BR2_x86_jaguar
717         depends on !BR2_x86_steamroller
718         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
719         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
720         select BR2_INSTALL_LIBSTDCPP
721         select BR2_HOSTARCH_NEEDS_IA32_LIBS
722         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
723         help
724           Sourcery CodeBench toolchain for the x86/x86_64
725           architectures, from Mentor Graphics. It uses gcc 4.6.1,
726           binutils 2.21.53, glibc 2.13, gdb 7.2.50 and kernel headers
727           3.0.1. It has support for the following variants:
728             - Intel Pentium 4, glibc, 32 bits
729               Default for x86, nothing special to do.
730             - Intel Atom, glibc, 32 bits
731               Select an Atom core
732             - Intel Xeon, glibc, 64 bits
733               Default for x86_64, nothing special to do.
734             - Intel Core 2, glibc, 64 bits
735               Select a Core 2 core
736           Other architecture variants (beyond Pentium-4/Xeon) are
737           supported as well, but glibc is not optimised for it.
738
739 config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2014R1
740         bool "Blackfin.uclinux.org 2014R1"
741         depends on BR2_bfin
742         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
743         select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
744         select BR2_INSTALL_LIBSTDCPP
745         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
746         select BR2_USE_WCHAR
747         select BR2_TOOLCHAIN_HAS_THREADS
748         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
749         select BR2_HOSTARCH_NEEDS_IA32_LIBS
750         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
751         help
752           Toolchain for the Blackfin architecture, from
753           http://blackfin.uclinux.org.
754
755 config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1
756         bool "Blackfin.uclinux.org 2013R1"
757         depends on BR2_bfin
758         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
759         select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
760         select BR2_INSTALL_LIBSTDCPP
761         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
762         select BR2_USE_WCHAR
763         select BR2_TOOLCHAIN_HAS_THREADS
764         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
765         select BR2_HOSTARCH_NEEDS_IA32_LIBS
766         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
767         help
768           Toolchain for the Blackfin architecture, from
769           http://blackfin.uclinux.org.
770
771 config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
772         bool "Blackfin.uclinux.org 2012R2-RC2"
773         depends on BR2_bfin
774         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
775         select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
776         select BR2_INSTALL_LIBSTDCPP
777         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
778         select BR2_USE_WCHAR
779         select BR2_TOOLCHAIN_HAS_THREADS
780         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
781         select BR2_HOSTARCH_NEEDS_IA32_LIBS
782         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
783         help
784           Toolchain for the Blackfin architecture, from
785           http://blackfin.uclinux.org.
786
787 config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
788         bool "Linaro AArch64 14.09"
789         depends on BR2_aarch64
790         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
791         depends on !BR2_STATIC_LIBS
792         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
793         select BR2_INSTALL_LIBSTDCPP
794         select BR2_HOSTARCH_NEEDS_IA32_LIBS
795         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
796         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
797         help
798           Toolchain for the AArch64 architecture, from
799           http://www.linaro.org/engineering/armv8/
800
801 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
802         bool "CodeSourcery AArch64 2014.05"
803         depends on BR2_aarch64
804         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
805         depends on !BR2_STATIC_LIBS
806         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
807         select BR2_INSTALL_LIBSTDCPP
808         select BR2_HOSTARCH_NEEDS_IA32_LIBS
809         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
810         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
811         help
812           Sourcery CodeBench toolchain for the AArch64 architecture,
813           from Mentor Graphics. It uses gcc 4.8.3, binutils 2.24,
814           glibc 2.18, gdb 7.7.50 and kernel headers 3.13.
815
816 config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
817         bool "Musl 1.1.6 toolchain (experimental)"
818         depends on (BR2_arm && BR2_ARM_EABI) || (BR2_armeb && BR2_ARM_EABI) || \
819                 (BR2_i386 && !BR2_x86_i386) || BR2_microblazebe || BR2_mips || \
820                 BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || BR2_x86_64
821         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
822         select BR2_TOOLCHAIN_EXTERNAL_MUSL
823         select BR2_INSTALL_LIBSTDCPP
824         select BR2_HOSTARCH_NEEDS_IA32_LIBS
825         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
826         help
827           Toolchain based on the Musl C library, provided by the
828           musl-cross project. It uses gcc 4.9.2, binutils 2.25 and
829           musl 1.1.6. It does not have a cross debugger included.
830
831           The ARM toolchain is built for ARMv4t, soft-float.
832           The x86 toolchain is built for i486.
833
834           http://musl.codu.org/
835
836 config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_2014_12
837         bool "Synopsys ARC 2014.12 toolchain"
838         depends on BR2_arc
839         depends on BR2_HOSTARCH = "x86_64"
840         # does not provide IPv6, and lacks many uClibc features
841         # expected by Buildroot. The next Synopsys toolchain version
842         # should fix those problems.
843         depends on BROKEN
844         select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
845         select BR2_INSTALL_LIBSTDCPP
846         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
847         select BR2_ENABLE_LOCALE
848         select BR2_USE_WCHAR
849         select BR2_TOOLCHAIN_HAS_THREADS
850         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
851         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
852         help
853           Toolchain for the ARC cores, from
854           https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
855
856 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
857         bool "Custom toolchain"
858         help
859           Use this option to use a custom toolchain pre-installed on
860           your system.
861
862 endchoice
863
864 choice
865         prompt "Toolchain origin"
866         # Keep compatibility with old defconfig files that are using
867         # custom toolchains, and which are therefore assuming that
868         # "preinstalled" in the default choice.
869         default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
870
871 config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
872         bool "Toolchain to be downloaded and installed"
873         help
874           Select this option if you want Buildroot to download and install the
875           toolchain. If you have selected a custom toolchain, specify the URL
876           in BR2_TOOLCHAIN_EXTERNAL_URL.
877
878 config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
879         bool "Pre-installed toolchain"
880         help
881           Select this option if you want to use a pre-installed toolchain.
882           Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
883
884 endchoice
885
886 config BR2_TOOLCHAIN_EXTERNAL_PATH
887         string "Toolchain path"
888         default "/path/to/toolchain/usr"
889         depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
890         help
891           Path to where the external toolchain is installed.
892
893 config BR2_TOOLCHAIN_EXTERNAL_URL
894         string "Toolchain URL"
895         depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
896         help
897           URL of the custom toolchain tarball to download and install.
898
899 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
900         string "Toolchain prefix"
901         depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
902         default "$(ARCH)-linux"
903
904 config BR2_TOOLCHAIN_EXTERNAL_PREFIX
905         string
906         default "arc-linux"              if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_2014_12 && BR2_arcle
907         default "arceb-linux"            if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_2014_12 && BR2_arceb
908         default "arm-linux-gnueabihf"    if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
909         default "armeb-linux-gnueabihf"  if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
910         default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305
911         default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201311
912         default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201405
913         default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109
914         default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE_201109
915         default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
916         default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
917         default "mips-linux-gnu"         if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201311
918         default "mips-linux-gnu"         if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201405
919         default "mips-linux-gnu"         if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201411
920         default "nios2-linux-gnu"        if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
921         default "nios2-linux-gnu"        if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
922         default "powerpc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
923         default "powerpc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103
924         default "powerpc-mentor-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201203
925         default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201103
926         default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201203
927         default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201209
928         default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201009
929         default "sh-uclinux"             if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH2A_201103
930         default "i686-pc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201109
931         default "i686-pc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201203
932         default "i686-pc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86_201209
933         default "x86_64-amd-linux-gnu"   if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64_201405
934         default "bfin-uclinux"           if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && BR2_BINFMT_FLAT
935         default "bfin-linux-uclibc"      if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 && BR2_BINFMT_FDPIC
936         default "bfin-uclinux"           if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1 && BR2_BINFMT_FLAT
937         default "bfin-linux-uclibc"      if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1 && BR2_BINFMT_FDPIC
938         default "bfin-uclinux"           if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2014R1 && BR2_BINFMT_FLAT
939         default "bfin-linux-uclibc"      if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2014R1 && BR2_BINFMT_FDPIC
940         default "arm-linux-musleabi"     if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm
941         default "armeb-linux-musleabi"   if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
942         default "i486-linux-musl"        if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
943         default "microblaze-linux-musl"  if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_microblazebe
944         default "mips-linux-musl"        if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
945         default "mips-sf-linux-musl"     if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && BR2_SOFT_FLOAT)
946         default "mipsel-linux-musl"      if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
947         default "mipsel-sf-linux-musl"   if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
948         default "powerpc-linux-musl"     if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
949         default "x86_64-linux-musl"      if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
950         default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
951                                          if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
952
953 config BR2_TOOLCHAIN_EXTERNAL_GLIBC
954         bool
955         select BR2_TOOLCHAIN_USES_GLIBC
956
957 config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
958         bool
959         select BR2_TOOLCHAIN_USES_UCLIBC
960
961 config BR2_TOOLCHAIN_EXTERNAL_MUSL
962         bool
963         select BR2_TOOLCHAIN_USES_MUSL
964
965 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
966
967 choice
968         bool "External toolchain kernel headers series"
969         default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
970         help
971           Set to the kernel headers version that were used to build
972           this external toolchain.
973
974           This is used to hide/show some packages that have strict
975           requirements on the version of kernel headers.
976
977           If unsure what version your toolchain is using, you can look
978           at the value of LINUX_VERSION_CODE in linux/version.h in your
979           toolchain. The Linux version is M.m.p, with:
980             M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
981             m = ( LINUX_VERSION_CODE >> 8  ) & 0xFF
982             p = ( LINUX_VERSION_CODE >> 0  ) & 0xFF
983
984 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
985         bool "4.0.x"
986         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
987
988 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
989         bool "3.19.x"
990         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
991
992 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
993         bool "3.18.x"
994         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
995
996 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
997         bool "3.17.x"
998         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
999
1000 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
1001         bool "3.16.x"
1002         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
1003
1004 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
1005         bool "3.15.x"
1006         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
1007
1008 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
1009         bool "3.14.x"
1010         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
1011
1012 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
1013         bool "3.13.x"
1014         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
1015
1016 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
1017         bool "3.12.x"
1018         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
1019
1020 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
1021         bool "3.11.x"
1022         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
1023
1024 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
1025         bool "3.10.x"
1026         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
1027
1028 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
1029         bool "3.9.x"
1030         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
1031
1032 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
1033         bool "3.8.x"
1034         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
1035
1036 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
1037         bool "3.7.x"
1038         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
1039
1040 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
1041         bool "3.6.x"
1042         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
1043
1044 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
1045         bool "3.5.x"
1046         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
1047
1048 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
1049         bool "3.4.x"
1050         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
1051
1052 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
1053         bool "3.3.x"
1054         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
1055
1056 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
1057         bool "3.2.x"
1058         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
1059
1060 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
1061         bool "3.1.x"
1062         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
1063
1064 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
1065         bool "3.0.x"
1066         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
1067
1068 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
1069         bool "2.6.x"
1070
1071 endchoice
1072
1073 choice
1074         prompt "External toolchain C library"
1075         default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
1076
1077 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
1078         bool "uClibc"
1079         select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
1080         # For the time being, we assume that all custom external
1081         # toolchains have shadow password support.
1082         select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
1083         help
1084           Select this option if your external toolchain uses the
1085           uClibc C library (available from http://www.uclibc.org/).
1086
1087 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
1088         bool "glibc/eglibc"
1089         depends on !BR2_STATIC_LIBS
1090         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
1091         help
1092           Select this option if your external toolchain uses the GNU C
1093           library (available from https://www.gnu.org/software/libc/)
1094           or its variant the eglibc library (http://www.eglibc.org/).
1095
1096           Note: eglibc is a variant of glibc that (among other things)
1097           can be configured to exclude some of its features. Using a
1098           toolchain with eglibc configured to exclude key features may
1099           cause build failures to some packages.
1100
1101 comment "(e)glibc only available with shared lib support"
1102         depends on BR2_STATIC_LIBS
1103
1104 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
1105         bool "musl (experimental)"
1106         select BR2_TOOLCHAIN_EXTERNAL_MUSL
1107         help
1108           Select this option if your external toolchain uses the
1109           'musl' C library, available from http://www.musl-libc.org/.
1110
1111 endchoice
1112
1113 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
1114
1115 config BR2_TOOLCHAIN_EXTERNAL_WCHAR
1116         bool "Toolchain has WCHAR support?"
1117         select BR2_USE_WCHAR
1118         help
1119           Select this option if your external toolchain supports
1120           WCHAR. If you don't know, leave the default value, Buildroot
1121           will tell you if it's correct or not.
1122
1123 config BR2_TOOLCHAIN_EXTERNAL_LOCALE
1124         bool "Toolchain has locale support?"
1125         select BR2_TOOLCHAIN_EXTERNAL_WCHAR
1126         select BR2_ENABLE_LOCALE
1127         help
1128           Select this option if your external toolchain has locale
1129           support. If you don't know, leave the default value,
1130           Buildroot will tell you if it's correct or not.
1131
1132 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
1133         bool "Toolchain has threads support?"
1134         select BR2_TOOLCHAIN_HAS_THREADS
1135         default y
1136         help
1137           Select this option if your external toolchain has thread
1138           support. If you don't know, leave the default value,
1139           Buildroot will tell you if it's correct or not.
1140
1141 if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
1142
1143 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
1144         bool "Toolchain has threads debugging support?"
1145         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
1146         default y
1147         help
1148           Select this option if your external toolchain has thread
1149           debugging support. If you don't know, leave the default
1150           value, Buildroot will tell you if it's correct or not.
1151
1152 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
1153         bool "Toolchain has NPTL threads support?"
1154         select BR2_TOOLCHAIN_HAS_THREADS_NPTL
1155         default y
1156         help
1157           Select this option if your external toolchain uses the NPTL
1158           (Native Posix Thread Library) implementation of Posix
1159           threads. If you don't know, leave the default value,
1160           Buildroot will tell you if it's correct or not.
1161
1162 endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
1163
1164 config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
1165         bool "Toolchain has SSP support?"
1166         select BR2_TOOLCHAIN_HAS_SSP
1167         help
1168           Selection this option if your external toolchain has Stack
1169           Smashing Protection support enabled. If you don't know,
1170           leave the default value, Buildroot will tell you if it's
1171           correct or not.
1172
1173 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
1174
1175 config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
1176         bool "Toolchain has RPC support?"
1177         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
1178         depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
1179         default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
1180         help
1181           Select this option if your external toolchain supports
1182           RPC. If you don't know, leave the default value, Buildroot
1183           will tell you if it's correct or not.
1184
1185 config BR2_TOOLCHAIN_EXTERNAL_CXX
1186         bool "Toolchain has C++ support?"
1187         select BR2_INSTALL_LIBSTDCPP
1188         help
1189           Select this option if your external toolchain has C++
1190           support. If you don't know, leave the default value,
1191           Buildroot will tell you if it's correct or not.
1192
1193 config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
1194         string "Extra toolchain libraries to be copied to target"
1195         help
1196           If your external toolchain provides extra libraries that
1197           need to be copied to the target filesystem, enter them
1198           here, separated by spaces. They will be copied to the
1199           target's /lib directory.
1200
1201 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
1202
1203 config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
1204         bool "Copy gdb server to the Target"
1205         depends on BR2_TOOLCHAIN_EXTERNAL
1206         help
1207           Copy the gdbserver provided by the external toolchain to the
1208           target.
1209
1210 # When the FDPIC shared binary format is used, the corresponding libraries are
1211 # always installed. When a different binary format is used, we offer the option
1212 # of installing the FDPIC shared libraries.
1213 config BR2_BFIN_INSTALL_FDPIC_SHARED
1214         bool "Install FDPIC shared libraries"
1215         depends on BR2_bfin && !BR2_BINFMT_FDPIC
1216         help
1217           The Linux kernel supports running both FDPIC and FLAT applications
1218           concurrently if the binary format specific libraries are installed
1219           properly. This option allows developer to install FDPIC libraries
1220           into a buildroot rootfs image built with binary format that is not
1221           FDPIC.
1222
1223 # When the FLAT shared binary format is used, we force the installation
1224 # of the corresponding libraries. When a different binary format is
1225 # used, we offer the option of installing the FLAT shared libraries.
1226 config BR2_BFIN_INSTALL_FLAT_SHARED
1227         bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
1228         depends on BR2_bfin
1229         default y if BR2_BINFMT_FLAT_SHARED
1230         help
1231           The Linux kernel supports running both FDPIC and FLAT applications
1232           concurrently if the binary format specific libraries are installed
1233           properly. This option allows developer to install FLAT libraries
1234           into a buildroot rootfs image built with binary format that is not
1235           shared FLAT.
1236
1237 endif # BR2_TOOLCHAIN_EXTERNAL