linux-headers: allow specifying 4.8 as kernel header version
[buildroot-gz.git] / toolchain / toolchain-external / Config.in
blobc3822edad5ea02612f18b65bb37dd971f0f98d52
1 if BR2_TOOLCHAIN_EXTERNAL
3 choice
4         prompt "Toolchain"
6 comment "glibc toolchains only available with shared lib support"
7         depends on BR2_STATIC_LIBS
9 comment "Linaro toolchains available for Cortex-A + EABIhf"
10         depends on BR2_arm || BR2_armeb
11         depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
12         depends on !BR2_STATIC_LIBS
14 # Note: we use the same symbol for both Linaro toolchains.
15 # Since they have different dependencies (the host), we can
16 # give them different prompts and different help texts.
17 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
18         bool "Linaro ARM 2014.09"
19         depends on BR2_arm
20         depends on BR2_ARM_CPU_ARMV7A
21         depends on BR2_HOSTARCH = "x86"
22         depends on BR2_ARM_EABIHF
23         depends on !BR2_STATIC_LIBS
24         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
25         select BR2_TOOLCHAIN_HAS_SSP
26         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
27         select BR2_INSTALL_LIBSTDCPP
28         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
29         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
30         select BR2_TOOLCHAIN_HAS_FORTRAN
31         help
32           Linaro toolchain for the ARM architecture. It uses Linaro
33           GCC 2014.09 (based on gcc 4.9), Linaro GDB 2013.10 (based on
34           GDB 7.6), eglibc 2.19, Binutils 2014.09 (based on 2.24). It
35           generates code that runs on all Cortex-A profile devices,
36           but tuned for the Cortex-A9. The code generated is Thumb 2,
37           with the hard floating point calling convention, and uses
38           the VFPv3-D16 FPU instructions.
40 # See the note above.
41 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
42         bool "Linaro ARM 2016.02"
43         depends on BR2_arm
44         depends on BR2_ARM_CPU_ARMV7A
45         depends on BR2_HOSTARCH = "x86_64"
46         depends on BR2_ARM_EABIHF
47         depends on !BR2_STATIC_LIBS
48         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
49         select BR2_TOOLCHAIN_HAS_SSP
50         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
51         select BR2_INSTALL_LIBSTDCPP
52         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
53         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
54         select BR2_TOOLCHAIN_HAS_FORTRAN
55         help
56           Linaro toolchain for the ARM architecture. It uses Linaro
57           GCC 2016.02 (based on gcc 5.3), Linaro GDB 2016.02 (based on
58           GDB 7.10), glibc 2.21, Binutils 2015.10 (based on 2.25). It
59           generates code that runs on all Cortex-A profile devices,
60           but tuned for the Cortex-A9. The code generated is Thumb 2,
61           with the hard floating point calling convention, and uses
62           the VFPv3-D16 FPU instructions.
64 # See the note above.
65 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
66         bool "Linaro armeb 2014.09"
67         depends on BR2_armeb
68         depends on BR2_ARM_CPU_ARMV7A
69         depends on BR2_HOSTARCH = "x86"
70         depends on BR2_ARM_EABIHF
71         depends on !BR2_STATIC_LIBS
72         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
73         select BR2_TOOLCHAIN_HAS_SSP
74         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
75         select BR2_INSTALL_LIBSTDCPP
76         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
77         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
78         select BR2_TOOLCHAIN_HAS_FORTRAN
79         help
80           Linaro toolchain for the ARM big endian architecture. It
81           uses Linaro GCC 2014.09 (based on gcc 4.9), Linaro GDB
82           2013.10 (based on GDB 7.6), eglibc 2.19, Binutils 2014.09
83           (based on 2.24). It generates code that runs on all Cortex-A
84           profile devices, but tuned for the Cortex-A9. The code
85           generated is Thumb 2, with the hard floating point calling
86           convention, and uses the VFPv3-D16 FPU instructions.
88 # See the note above.
89 config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
90         bool "Linaro armeb 2016.02"
91         depends on BR2_armeb
92         depends on BR2_ARM_CPU_ARMV7A
93         depends on BR2_HOSTARCH = "x86_64"
94         depends on BR2_ARM_EABIHF
95         depends on !BR2_STATIC_LIBS
96         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
97         select BR2_TOOLCHAIN_HAS_SSP
98         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
99         select BR2_INSTALL_LIBSTDCPP
100         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
101         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
102         help
103           Linaro toolchain for the ARM big endian architecture. It
104           uses Linaro GCC 2016.02 (based on gcc 5.3), Linaro GDB
105           2016.02 (based on GDB 7.10), glibc 2.21, Binutils 2015.10
106           (based on 2.25). It generates code that runs on all Cortex-A
107           profile devices, but tuned for the Cortex-A9. The code
108           generated is Thumb 2, with the hard floating point calling
109           convention, and uses the VFPv3-D16 FPU instructions.
111 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
112         bool "Sourcery CodeBench ARM 2014.05"
113         depends on BR2_arm
114         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
115         depends on BR2_ARM_EABI
116         depends on !BR2_STATIC_LIBS
117         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
118         select BR2_TOOLCHAIN_HAS_SSP
119         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
120         select BR2_INSTALL_LIBSTDCPP
121         select BR2_HOSTARCH_NEEDS_IA32_LIBS
122         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
123         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
124         help
125           Sourcery CodeBench toolchain for the ARM architecture, from
126           Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
127           2.18 and gdb 7.7.50, kernel headers 3.13. It has support
128           for the following variants:
129             - ARMv5TE, little endian, soft-float, glibc
130               Select ARM926T, ARM10T, XScale or another ARMv5 core
131               Select BR2_SOFT_FLOAT
132             - ARMv4T, little endian, soft-float, glibc
133               Select ARM720T, ARM920T, ARM922T or another ARMv4 core
134               Select BR2_SOFT_FLOAT
135             - ARMv7-A, Thumb 2, little endian, soft-float, glibc
136               Select Cortex-A8, Cortex-A9 or another ARMv7-A core
137               Select BR2_SOFT_FLOAT
138               Set BR2_TARGET_OPTIMIZATION to -mthumb
140 comment "Sourcery CodeBench toolchains available for the EABI ABI"
141         depends on BR2_arm
142         depends on !BR2_ARM_EABI
143         depends on !BR2_STATIC_LIBS
145 config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
146         bool "Arago ARMv7 2011.09"
147         depends on BR2_arm
148         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
149         depends on BR2_ARM_CPU_ARMV7A
150         depends on BR2_ARM_EABI
151         depends on BR2_ARM_CPU_HAS_VFPV3
152         depends on !BR2_STATIC_LIBS
153         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
154         select BR2_TOOLCHAIN_HAS_SSP
155         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
156         select BR2_INSTALL_LIBSTDCPP
157         select BR2_HOSTARCH_NEEDS_IA32_LIBS
158         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
159         # kernel headers: 2.6.31
160         help
161           Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
162           binutils 2.20.1, glibc 2.12, gdb 7.2.
164           This toolchain uses -mfloat-abi=softfp (i.e can use FPU
165           instructions, but passes floating point function arguments
166           in integer registers), and requires a VFPv3 floating point
167           unit to work properly. This unit is available on most
168           Cortex-A ARM processors, but not all.
170 config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
171         bool "Arago ARMv5 2011.09"
172         depends on BR2_arm
173         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
174         depends on !BR2_ARM_CPU_ARMV4
175         depends on BR2_ARM_EABI
176         depends on !BR2_STATIC_LIBS
177         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
178         select BR2_TOOLCHAIN_HAS_SSP
179         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
180         select BR2_INSTALL_LIBSTDCPP
181         select BR2_HOSTARCH_NEEDS_IA32_LIBS
182         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
183         # kernel headers: 2.6.31
184         help
185           Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
186           4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
188           This toolchain uses software-floating point.
190 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
191         bool "Sourcery CodeBench MIPS 2016.05"
192         depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
193         depends on BR2_mips_32r2 || BR2_mips_64r2
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_SSP
199         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
200         select BR2_INSTALL_LIBSTDCPP
201         select BR2_HOSTARCH_NEEDS_IA32_LIBS
202         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
203         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
204         help
205           Sourcery CodeBench toolchain for the MIPS architecture, from
206           Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
207           2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
208           has support for the following variants:
209             - MIPS32r2 - Big-Endian, 2008 NaN, O32
210               Select MIPS (big endian) core
211               Disable BR2_SOFT_FLOAT
212               Set BR2_TARGET_OPTIMIZATION to -mnan=2008
213             - MIPS32r2 - Big-Endian, O32
214               Select MIPS (big endian) core
215               Disable BR2_SOFT_FLOAT
216             - MIPS32r2 - Big-Endian, O32, MIPS16
217               Select MIPS (big endian) core
218               Disable BR2_SOFT_FLOAT
219               Set BR2_TARGET_OPTIMIZATION to -mips16
220             - MIPS32r2 - Big-Endian, Soft-Float, O32
221               Select MIPS (big endian) core
222               Select BR2_SOFT_FLOAT
223             - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
224               Select MIPS (big endian) core
225               Select BR2_SOFT_FLOAT
226               Set BR2_TARGET_OPTIMIZATION to -mips16
227             - MIPS32r2 - Little-Endian, 2008 NaN, O32
228               Select MIPS (little endian) core
229               Disable BR2_SOFT_FLOAT
230               Set BR2_TARGET_OPTIMIZATION to -mnan=2008
231             - MIPS32r2 - Little-Endian, O32
232               Select MIPS (little endian) core
233               Disable BR2_SOFT_FLOAT
234             - MIPS32r2 - Little-Endian, O32, MIPS16
235               Select MIPS (little endian) core
236               Disable BR2_SOFT_FLOAT
237               Set BR2_TARGET_OPTIMIZATION to -mips16
238             - MIPS32r2 - Little-Endian, Soft-Float, O32
239               Select MIPS (little endian) core
240               Select BR2_SOFT_FLOAT
241             - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
242               Select MIPS (little endian) core
243               Select BR2_SOFT_FLOAT
244               Set BR2_TARGET_OPTIMIZATION to -mips16
245             - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
246               Select MIPS (little endian) core
247               Select BR2_SOFT_FLOAT
248               Set BR2_TARGET_OPTIMIZATION to -mmicromips
249             - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
250               Not usable in Buildroot yet.
251             - MIPS32r2 - uClibc, Big-Endian, O32
252               Not usable in Buildroot yet.
253             - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
254               Not usable in Buildroot yet.
255             - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
256               Not usable in Buildroot yet.
257             - MIPS32r2 - uClibc, Little-Endian, O32
258               Not usable in Buildroot yet.
259             - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
260               Not usable in Buildroot yet.
261             - MIPS64r2 - Big-Endian, N64
262               Select MIPS64 (big endian) core
263               Select the n64 ABI
264               Disable BR2_SOFT_FLOAT
265             - MIPS64r2 - Big-Endian, Soft-Float, N64
266               Select MIPS64 (big endian) core
267               Select the n64 ABI
268               Select BR2_SOFT_FLOAT
269             - MIPS64r2 - Little-Endian, N64
270               Select MIPS64 (little endian) core
271               Select the n64 ABI
272               Disable BR2_SOFT_FLOAT
273             - MIPS64r2 - Little-Endian, Soft-Float, N64
274               Select MIPS64 (little endian) core
275               Select the n64 ABI
276               Select BR2_SOFT_FLOAT
278 comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
279         depends on BR2_MIPS_NABI32
280         depends on !BR2_STATIC_LIBS
282 config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
283         bool "Codescape IMG GNU Linux Toolchain 2016.05"
284         depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
285         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
286         depends on BR2_mips_32r6 || (BR2_mips_64r6 && !BR2_MIPS_SOFT_FLOAT)
287         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
288         select BR2_INSTALL_LIBSTDCPP
289         select BR2_HOSTARCH_NEEDS_IA32_LIBS
290         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
291         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
292         select BR2_TOOLCHAIN_HAS_FORTRAN
293         help
294           Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS
295           architecture, from Imagination Technologies. It uses gcc
296           4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
297           headers 4.0. It has support for the following variants:
298             - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
299               Select 'MIPS (big endian)' Target Architecture
300               Select 'mips 32r6' Target Architecture Variant
301               Disable 'Use soft-float'
302             - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
303               Select 'MIPS (big endian)' Target Architecture
304               Select 'mips 32r6' Target Architecture Variant
305               Enable 'Use soft-float'
306             - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
307               Select 'MIPS (little endian)' Target Architecture
308               Select 'mips 32r6' Target Architecture Variant
309               Disable 'Use soft-float'
310             - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
311               Select 'MIPS (little endian)' Target Architecture
312               Select 'mips 32r6' Target Architecture Variant
313               Enable 'Use soft-float'
314             - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
315               Select 'MIPS (little endian)' Target Architecture
316               Select 'mips 32r6' Target Architecture Variant
317               Disable 'Use soft-float'
318               Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
319             - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS
320               Select 'MIPS (little endian)' Target Architecture
321               Select 'mips 32r6' Target Architecture Variant
322               Enable 'Use soft-float'
323               Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
324             - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
325               Select 'MIPS64 (big endian)' Target Architecture
326               Select 'mips 64r6' Target Architecture Variant
327               Select 'n32' Target ABI
328               Disable 'Use soft-float'
329             - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
330               Select 'MIPS64 (little endian)' Target Architecture
331               Select 'mips 64r6' Target Architecture Variant
332               Select 'n32' Target ABI
333               Disable 'Use soft-float'
334             - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
335               Select 'MIPS64 (big endian)' Target Architecture
336               Select 'mips 64r6' Target Architecture Variant
337               Select 'n64' Target ABI
338               Disable 'Use soft-float'
339             - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
340               Select 'MIPS64 (little endian)' Target Architecture
341               Select 'mips 64r6' Target Architecture Variant
342               Select 'n64' Target ABI
343               Disable 'Use soft-float'
345 config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
346         bool "Codescape MTI GNU Linux Toolchain 2016.05"
347         depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
348         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
349         depends on BR2_mips_32r2 || (BR2_mips_64r2 && !BR2_MIPS_SOFT_FLOAT)
350         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
351         select BR2_INSTALL_LIBSTDCPP
352         select BR2_HOSTARCH_NEEDS_IA32_LIBS
353         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
354         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
355         select BR2_TOOLCHAIN_HAS_FORTRAN
356         help
357           Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS
358           architecture, from Imagination Technologies. It uses gcc
359           4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
360           headers 4.0. It has support for the following variants:
361             - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
362               Select 'MIPS (big endian)' Target Architecture
363               Select 'mips 32r2' Target Architecture Variant
364               Disable 'Use soft-float'
365             - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
366               Select 'MIPS (big endian)' Target Architecture
367               Select 'mips 32r2' Target Architecture Variant
368               Disable 'Use soft-float'
369               Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
370             - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
371               Select 'MIPS (big endian)' Target Architecture
372               Select 'mips 32r2' Target Architecture Variant
373               Enable 'Use soft-float'
374             - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
375               Select 'MIPS (little endian)' Target Architecture
376               Select 'mips 32r2' Target Architecture Variant
377               Disable 'Use soft-float'
378             - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
379               Select 'MIPS (little endian)' Target Architecture
380               Select 'mips 32r2' Target Architecture Variant
381               Disable 'Use soft-float'
382               Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
383             - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
384               Select 'MIPS (little endian)' Target Architecture
385               Select 'mips 32r2' Target Architecture Variant
386               Enable 'Use soft-float'
387             - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
388               Select 'MIPS (little endian)' Target Architecture
389               Select 'mips 32r2' Target Architecture Variant
390               Enable 'Use soft-float'
391               Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
392             - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS
393               Select 'MIPS (little endian)' Target Architecture
394               Select 'mips 32r2' Target Architecture Variant
395               Disable 'Use soft-float'
396               Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
397             - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
398               Select 'MIPS64 (big endian)' Target Architecture
399               Select 'mips 64r2' Target Architecture Variant
400               Select 'n32' Target ABI
401               Disable 'Use soft-float'
402             - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
403               Select 'MIPS64 (little endian)' Target Architecture
404               Select 'mips 64r2' Target Architecture Variant
405               Select 'n32' Target ABI
406               Disable 'Use soft-float'
407             - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
408               Select 'MIPS64 (big endian)' Target Architecture
409               Select 'mips 64r2' Target Architecture Variant
410               Select 'n64' Target ABI
411               Disable 'Use soft-float'
412             - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
413               Select 'MIPS64 (little endian)' Target Architecture
414               Select 'mips 64r2' Target Architecture Variant
415               Select 'n64' Target ABI
416               Disable 'Use soft-float'
418 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
419         bool "Sourcery CodeBench Nios-II 2016.05"
420         depends on BR2_nios2
421         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
422         depends on !BR2_STATIC_LIBS
423         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
424         select BR2_TOOLCHAIN_HAS_SSP
425         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
426         select BR2_INSTALL_LIBSTDCPP
427         select BR2_HOSTARCH_NEEDS_IA32_LIBS
428         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
429         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
430         select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1
431         help
432           Sourcery CodeBench toolchain for the Nios-II architecture,
433           from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51,
434           glibc 2.23, gdb 7.10.50 and kernel headers 4.4.
436 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
437         bool "Sourcery CodeBench SH 2012.09"
438         depends on BR2_sh4a || BR2_sh4aeb
439         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
440         depends on !BR2_STATIC_LIBS
441         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
442         select BR2_TOOLCHAIN_HAS_SSP
443         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
444         select BR2_INSTALL_LIBSTDCPP
445         select BR2_HOSTARCH_NEEDS_IA32_LIBS
446         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
447         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
448         help
449           Sourcery CodeBench toolchain for the SuperH architecture,
450           from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
451           glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
452           3.5.4. It has support for the following variants:
453             - SH4A, glibc, little endian
454               Default.
455             - SH4A, glibc, big endian
456               Add -mb to BR2_TARGET_OPTIMIZATION
457             - SH4A, uClibc, little endian
458               Not usable in Buildroot yet.
459             - SH4A, uClibc, big endian
460               Not usable in Buildroot yet.
462 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
463         bool "Sourcery CodeBench AMD64 2015.11"
464         depends on BR2_x86_64
465         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
466         depends on !BR2_STATIC_LIBS
467         depends on BR2_x86_jaguar || BR2_x86_steamroller
468         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
469         select BR2_TOOLCHAIN_HAS_SSP
470         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
471         select BR2_INSTALL_LIBSTDCPP
472         select BR2_HOSTARCH_NEEDS_IA32_LIBS
473         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
474         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
475         help
476           Sourcery CodeBench toolchain for the amd64 (x86_64)
477           architectures, from Mentor Graphics. It uses gcc 5.2,
478           binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
479           4.2. It has support for the following variants:
480             - AMD Puma/Jaguar (family 16h), glibc
481             Default for x86_64, nothing special to do.
482             - AMD Steamroller (family 15h), glibc
483             Select a steamroller core.
484           No other architecture variants are supported since glibc
485           is optimized for one of these two baselines.
487 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
488         bool "Sourcery CodeBench x86/x86_64 2012.09"
489         depends on BR2_i386 || BR2_x86_64
490         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
491         depends on !BR2_STATIC_LIBS
492         depends on !BR2_x86_jaguar
493         depends on !BR2_x86_steamroller
494         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
495         select BR2_TOOLCHAIN_HAS_SSP
496         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
497         select BR2_INSTALL_LIBSTDCPP
498         select BR2_HOSTARCH_NEEDS_IA32_LIBS
499         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
500         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
501         help
502           Sourcery CodeBench toolchain for the x86/x86_64
503           architectures, from Mentor Graphics. It uses gcc 4.7.2,
504           binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
505           3.5.4. It has support for the following variants:
506             - Intel Pentium 4, glibc, 32 bits
507               Default for x86, nothing special to do.
508             - Intel Atom, glibc, 32 bits
509               Select an Atom core
510             - Intel Xeon, glibc, 64 bits
511               Default for x86_64, nothing special to do.
512             - Intel Core 2, glibc, 64 bits
513               Select a Core 2 core
514           Other architecture variants (beyond Pentium-4/Xeon) are
515           supported as well, but glibc is not optimised for it.
517 config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
518         bool "Blackfin.uclinux.org 2014R1"
519         depends on BR2_bfin
520         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
521         select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
522         select BR2_INSTALL_LIBSTDCPP
523         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
524         select BR2_USE_WCHAR
525         select BR2_TOOLCHAIN_HAS_THREADS
526         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
527         select BR2_HOSTARCH_NEEDS_IA32_LIBS
528         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
529         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
530         select BR2_TOOLCHAIN_HAS_FORTRAN
531         help
532           Toolchain for the Blackfin architecture, from
533           http://blackfin.uclinux.org.
535 # See note about Linaro ARM/ARMEB toolchains, above.
536 config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
537         bool "Linaro AArch64 14.09"
538         depends on BR2_aarch64
539         depends on BR2_HOSTARCH = "x86"
540         depends on !BR2_STATIC_LIBS
541         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
542         select BR2_TOOLCHAIN_HAS_SSP
543         select BR2_INSTALL_LIBSTDCPP
544         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
545         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
546         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
547         select BR2_TOOLCHAIN_HAS_FORTRAN
548         help
549           Toolchain for the AArch64 architecture, from
550           http://www.linaro.org/engineering/armv8/
552 # See note about Linaro ARM/ARMEB toolchains, above.
553 config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
554         bool "Linaro AArch64 2016.02"
555         depends on BR2_aarch64
556         depends on BR2_HOSTARCH = "x86_64"
557         depends on !BR2_STATIC_LIBS
558         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
559         select BR2_TOOLCHAIN_HAS_SSP
560         select BR2_INSTALL_LIBSTDCPP
561         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
562         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
563         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
564         select BR2_TOOLCHAIN_HAS_FORTRAN
565         help
566           Toolchain for the AArch64 architecture, from
567           http://www.linaro.org/engineering/armv8/
569 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
570         bool "CodeSourcery AArch64 2014.11"
571         depends on BR2_aarch64
572         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
573         depends on !BR2_STATIC_LIBS
574         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
575         select BR2_TOOLCHAIN_HAS_SSP
576         select BR2_INSTALL_LIBSTDCPP
577         select BR2_HOSTARCH_NEEDS_IA32_LIBS
578         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
579         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
580         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
581         help
582           Sourcery CodeBench toolchain for the AArch64 architecture,
583           from Mentor Graphics. It uses gcc 4.9.1, binutils
584           2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers
585           3.16.2.
587 config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
588         bool "Musl 1.1.12 toolchain"
589         depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \
590                 (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4 && BR2_USE_MMU) || \
591                 (BR2_armeb && BR2_ARM_EABI && !BR2_ARM_CPU_ARMV7A && BR2_USE_MMU) || \
592                 BR2_i386 || (BR2_mips && !BR2_SOFT_FLOAT) || \
593                 BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
594                 BR2_sh4 || BR2_sh4eb || \
595                 BR2_x86_64
596         depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
597         # Unsupported for MIPS R6
598         depends on !BR2_mips_32r6 && !BR2_mips_64r6
599         select BR2_TOOLCHAIN_EXTERNAL_MUSL
600         select BR2_TOOLCHAIN_HAS_SSP
601         select BR2_INSTALL_LIBSTDCPP
602         select BR2_HOSTARCH_NEEDS_IA32_LIBS
603         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
604         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
605         help
606           Toolchain based on the Musl C library, provided by the
607           musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
608           musl 1.1.12. It does not have a cross debugger included.
610           The ARM soft-float toolchain is built for ARMv4t, while the
611           ARM hard-float toolchain is built for ARMv5t.
612           The x86 toolchain is built for i486.
614           http://musl.codu.org/
616 config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
617         bool "Synopsys ARC 2014.12 toolchain"
618         depends on BR2_arc
619         depends on BR2_HOSTARCH = "x86_64"
620         # does not provide IPv6, and lacks many uClibc features
621         # expected by Buildroot. The next Synopsys toolchain version
622         # should fix those problems.
623         depends on BROKEN
624         select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
625         select BR2_INSTALL_LIBSTDCPP
626         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
627         select BR2_ENABLE_LOCALE
628         select BR2_USE_WCHAR
629         select BR2_TOOLCHAIN_HAS_THREADS
630         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
631         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
632         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
633         help
634           Toolchain for the ARC cores, from
635           https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
637 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
638         bool "Custom toolchain"
639         help
640           Use this option to use a custom toolchain pre-installed on
641           your system.
643 endchoice
645 choice
646         prompt "Toolchain origin"
647         # Keep compatibility with old defconfig files that are using
648         # custom toolchains, and which are therefore assuming that
649         # "preinstalled" in the default choice.
650         default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
652 config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
653         bool "Toolchain to be downloaded and installed"
654         help
655           Select this option if you want Buildroot to download and install the
656           toolchain. If you have selected a custom toolchain, specify the URL
657           in BR2_TOOLCHAIN_EXTERNAL_URL.
659 config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
660         bool "Pre-installed toolchain"
661         help
662           Select this option if you want to use a pre-installed toolchain.
663           Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
665 endchoice
667 config BR2_TOOLCHAIN_EXTERNAL_PATH
668         string "Toolchain path"
669         default "/path/to/toolchain/usr"
670         depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
671         help
672           Path to where the external toolchain is installed.
674 config BR2_TOOLCHAIN_EXTERNAL_URL
675         string "Toolchain URL"
676         depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
677         help
678           URL of the custom toolchain tarball to download and install.
680 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
681         string "Toolchain prefix"
682         depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
683         default "$(ARCH)-linux"
685 config BR2_TOOLCHAIN_EXTERNAL_PREFIX
686         string
687         default "arc-linux"              if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
688         default "arceb-linux"            if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
689         default "arm-linux-gnueabihf"    if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
690         default "armeb-linux-gnueabihf"  if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
691         default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
692         default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
693         default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
694         default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
695         default "aarch64-amd-linux-gnu"  if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
696         default "mips-linux-gnu"         if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
697         default "nios2-linux-gnu"        if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
698         default "sh-linux-gnu"           if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
699         default "i686-pc-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
700         default "x86_64-amd-linux-gnu"   if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
701         default "bfin-uclinux"           if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
702         default "bfin-linux-uclibc"      if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
703         default "arm-linux-musleabi"     if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
704         default "arm-linux-musleabihf"   if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
705         default "mips-img-linux-gnu"     if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
706         default "mips-mti-linux-gnu"     if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
707         default "armeb-linux-musleabi"   if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
708         default "i486-linux-musl"        if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
709         default "mips-linux-musl"        if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
710         default "mipsel-linux-musl"      if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
711         default "mipsel-sf-linux-musl"   if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
712         default "powerpc-linux-musl"     if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
713         default "sh4-linux-musl"         if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
714         default "sh4eb-linux-musl"       if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
715         default "x86_64-linux-musl"      if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
716         default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
717                                          if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
719 config BR2_TOOLCHAIN_EXTERNAL_GLIBC
720         bool
721         select BR2_TOOLCHAIN_USES_GLIBC
723 config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
724         bool
725         select BR2_TOOLCHAIN_USES_UCLIBC
727 config BR2_TOOLCHAIN_EXTERNAL_MUSL
728         bool
729         select BR2_TOOLCHAIN_USES_MUSL
730         # Compatibility headers: cdefs.h, queue.h
731         select BR2_PACKAGE_MUSL_COMPAT_HEADERS
733 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
735 choice
736         bool "External toolchain gcc version"
737         default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
738         help
739           Set to the gcc version that is used by your external
740           toolchain.
742 config BR2_TOOLCHAIN_EXTERNAL_GCC_6
743         bool "6.x"
744         select BR2_TOOLCHAIN_GCC_AT_LEAST_6
746 config BR2_TOOLCHAIN_EXTERNAL_GCC_5
747         bool "5.x"
748         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
750 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
751         bool "4.9.x"
752         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
754 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
755         bool "4.8.x"
756         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
758 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
759         bool "4.7.x"
760         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
762 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
763         bool "4.6.x"
764         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
766 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
767         bool "4.5.x"
768         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
770 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
771         bool "4.4.x"
772         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
774 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
775         bool "4.3.x"
776         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
778 endchoice
780 choice
781         bool "External toolchain kernel headers series"
782         default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
783         help
784           Set to the kernel headers version that were used to build
785           this external toolchain.
787           This is used to hide/show some packages that have strict
788           requirements on the version of kernel headers.
790           If unsure what version your toolchain is using, you can look
791           at the value of LINUX_VERSION_CODE in linux/version.h in your
792           toolchain. The Linux version is M.m.p, with:
793             M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
794             m = ( LINUX_VERSION_CODE >> 8  ) & 0xFF
795             p = ( LINUX_VERSION_CODE >> 0  ) & 0xFF
797 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
798         bool "4.8.x"
799         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
801 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
802         bool "4.7.x"
803         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
805 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
806         bool "4.6.x"
807         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
809 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
810         bool "4.5.x"
811         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
813 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
814         bool "4.4.x"
815         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
817 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
818         bool "4.3.x"
819         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
821 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
822         bool "4.2.x"
823         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
825 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
826         bool "4.1.x"
827         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
829 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
830         bool "4.0.x"
831         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
833 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
834         bool "3.19.x"
835         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
837 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
838         bool "3.18.x"
839         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
841 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
842         bool "3.17.x"
843         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
845 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
846         bool "3.16.x"
847         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
849 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
850         bool "3.15.x"
851         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
853 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
854         bool "3.14.x"
855         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
857 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
858         bool "3.13.x"
859         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
861 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
862         bool "3.12.x"
863         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
865 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
866         bool "3.11.x"
867         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
869 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
870         bool "3.10.x"
871         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
873 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
874         bool "3.9.x"
875         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
877 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
878         bool "3.8.x"
879         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
881 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
882         bool "3.7.x"
883         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
885 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
886         bool "3.6.x"
887         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
889 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
890         bool "3.5.x"
891         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
893 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
894         bool "3.4.x"
895         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
897 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
898         bool "3.3.x"
899         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
901 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
902         bool "3.2.x"
903         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
905 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
906         bool "3.1.x"
907         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
909 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
910         bool "3.0.x"
911         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
913 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
914         bool "2.6.x"
916 endchoice
918 choice
919         prompt "External toolchain C library"
920         default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
922 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
923         bool "uClibc"
924         select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
925         # For the time being, we assume that all custom external
926         # toolchains have shadow password support.
927         select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
928         help
929           Select this option if your external toolchain uses the
930           uClibc C library (available from http://www.uclibc.org/).
932 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
933         bool "glibc/eglibc"
934         depends on !BR2_STATIC_LIBS
935         select BR2_TOOLCHAIN_EXTERNAL_GLIBC
936         help
937           Select this option if your external toolchain uses the GNU C
938           library (available from https://www.gnu.org/software/libc/)
939           or its variant the eglibc library (http://www.eglibc.org/).
941           Note: eglibc is a variant of glibc that (among other things)
942           can be configured to exclude some of its features. Using a
943           toolchain with eglibc configured to exclude key features may
944           cause build failures to some packages.
946 comment "glibc only available with shared lib support"
947         depends on BR2_STATIC_LIBS
949 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
950         bool "musl"
951         select BR2_TOOLCHAIN_EXTERNAL_MUSL
952         help
953           Select this option if your external toolchain uses the
954           'musl' C library, available from http://www.musl-libc.org/.
956 endchoice
958 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
960 config BR2_TOOLCHAIN_EXTERNAL_WCHAR
961         bool "Toolchain has WCHAR support?"
962         select BR2_USE_WCHAR
963         help
964           Select this option if your external toolchain supports
965           WCHAR. If you don't know, leave the default value, Buildroot
966           will tell you if it's correct or not.
968 config BR2_TOOLCHAIN_EXTERNAL_LOCALE
969         bool "Toolchain has locale support?"
970         select BR2_TOOLCHAIN_EXTERNAL_WCHAR
971         select BR2_ENABLE_LOCALE
972         help
973           Select this option if your external toolchain has locale
974           support. If you don't know, leave the default value,
975           Buildroot will tell you if it's correct or not.
977 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
978         bool "Toolchain has threads support?"
979         select BR2_TOOLCHAIN_HAS_THREADS
980         default y
981         help
982           Select this option if your external toolchain has thread
983           support. If you don't know, leave the default value,
984           Buildroot will tell you if it's correct or not.
986 if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
988 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
989         bool "Toolchain has threads debugging support?"
990         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
991         default y
992         help
993           Select this option if your external toolchain has thread
994           debugging support. If you don't know, leave the default
995           value, Buildroot will tell you if it's correct or not.
997 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
998         bool "Toolchain has NPTL threads support?"
999         select BR2_TOOLCHAIN_HAS_THREADS_NPTL
1000         default y
1001         help
1002           Select this option if your external toolchain uses the NPTL
1003           (Native Posix Thread Library) implementation of Posix
1004           threads. If you don't know, leave the default value,
1005           Buildroot will tell you if it's correct or not.
1007 endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
1009 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
1011 config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
1012         bool "Toolchain has SSP support?"
1013         select BR2_TOOLCHAIN_HAS_SSP
1014         default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
1015         default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
1016         help
1017           Selection this option if your external toolchain has Stack
1018           Smashing Protection support enabled. If you don't know,
1019           leave the default value, Buildroot will tell you if it's
1020           correct or not.
1022 config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
1023         bool "Toolchain has RPC support?"
1024         select BR2_TOOLCHAIN_HAS_NATIVE_RPC
1025         depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
1026         default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
1027         help
1028           Select this option if your external toolchain supports
1029           RPC. If you don't know, leave the default value, Buildroot
1030           will tell you if it's correct or not.
1032 config BR2_TOOLCHAIN_EXTERNAL_CXX
1033         bool "Toolchain has C++ support?"
1034         select BR2_INSTALL_LIBSTDCPP
1035         help
1036           Select this option if your external toolchain has C++
1037           support. If you don't know, leave the default value,
1038           Buildroot will tell you if it's correct or not.
1040 config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
1041         bool "Toolchain has Fortran support?"
1042         select BR2_TOOLCHAIN_HAS_FORTRAN
1043         help
1044           Select this option if your external toolchain has Fortran
1045           support. If you don't know, leave the default value,
1046           Buildroot will tell you if it's correct or not.
1048 config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
1049         string "Extra toolchain libraries to be copied to target"
1050         help
1051           If your external toolchain provides extra libraries that
1052           need to be copied to the target filesystem, enter them
1053           here, separated by spaces.
1055 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
1057 config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
1058         bool "Copy gdb server to the Target"
1059         depends on BR2_TOOLCHAIN_EXTERNAL
1060         help
1061           Copy the gdbserver provided by the external toolchain to the
1062           target.
1064 # When the FDPIC shared binary format is used, the corresponding libraries are
1065 # always installed. When a different binary format is used, we offer the option
1066 # of installing the FDPIC shared libraries.
1067 config BR2_BFIN_INSTALL_FDPIC_SHARED
1068         bool "Install FDPIC shared libraries"
1069         depends on BR2_bfin && !BR2_BINFMT_FDPIC
1070         help
1071           The Linux kernel supports running both FDPIC and FLAT applications
1072           concurrently if the binary format specific libraries are installed
1073           properly. This option allows developer to install FDPIC libraries
1074           into a buildroot rootfs image built with binary format that is not
1075           FDPIC.
1077 # When the FLAT shared binary format is used, we force the installation
1078 # of the corresponding libraries. When a different binary format is
1079 # used, we offer the option of installing the FLAT shared libraries.
1080 config BR2_BFIN_INSTALL_FLAT_SHARED
1081         bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
1082         depends on BR2_bfin
1083         default y if BR2_BINFMT_FLAT_SHARED
1084         help
1085           The Linux kernel supports running both FDPIC and FLAT applications
1086           concurrently if the binary format specific libraries are installed
1087           properly. This option allows developer to install FLAT libraries
1088           into a buildroot rootfs image built with binary format that is not
1089           shared FLAT.
1091 endif # BR2_TOOLCHAIN_EXTERNAL