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