blob: ce2d91eb8323ae49d5220b597f9df636ea0a448e [file] [log] [blame]
Bernhard Reutner-Fischer4b0d5a82007-09-26 21:12:38 +00001if BR2_TOOLCHAIN_EXTERNAL
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +00002
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01003choice
4 prompt "Toolchain"
5
Thomas Petazzonied3f3e42013-11-11 18:57:32 +01006comment "(e)glibc toolchains only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +01007 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +01008
Yann E. MORIN87785ec2015-09-20 23:45:49 +02009comment "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
13
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010014# 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.
Thomas Petazzonibe2abf22014-06-01 12:47:40 +020017config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +010018 bool "Linaro ARM 2014.09"
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010019 depends on BR2_arm
Thomas Petazzoni29f68062014-10-21 22:27:06 +020020 depends on BR2_ARM_CPU_ARMV7A
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010021 depends on BR2_HOSTARCH = "x86"
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010022 depends on BR2_ARM_EABIHF
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010023 depends on !BR2_STATIC_LIBS
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010024 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
25 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
26 select BR2_INSTALL_LIBSTDCPP
Yann E. MORINb6f321b2014-03-01 15:52:58 +010027 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
Thomas Petazzonibd760c32015-08-04 20:00:35 +020028 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010029 help
30 Linaro toolchain for the ARM architecture. It uses Linaro
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +010031 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
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010033 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.
37
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010038# See the note above.
39config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Thomas Petazzoni292fa502016-04-30 14:43:02 +020040 bool "Linaro ARM 2016.02"
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010041 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
Thomas Petazzoni292fa502016-04-30 14:43:02 +020053 GCC 2016.02 (based on gcc 5.3), Linaro GDB 2016.02 (based on
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010054 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.
59
Yann E. MORIN997ef602015-10-27 00:49:40 +010060# See the note above.
Thomas Petazzonicd32da82014-03-05 23:23:40 +010061config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +010062 bool "Linaro armeb 2014.09"
Thomas Petazzonicd32da82014-03-05 23:23:40 +010063 depends on BR2_armeb
Thomas Petazzoni29f68062014-10-21 22:27:06 +020064 depends on BR2_ARM_CPU_ARMV7A
Yann E. MORIN997ef602015-10-27 00:49:40 +010065 depends on BR2_HOSTARCH = "x86"
Thomas Petazzonicd32da82014-03-05 23:23:40 +010066 depends on BR2_ARM_EABIHF
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010067 depends on !BR2_STATIC_LIBS
Thomas Petazzonicd32da82014-03-05 23:23:40 +010068 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
69 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
70 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzonicd32da82014-03-05 23:23:40 +010071 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
Thomas Petazzonibd760c32015-08-04 20:00:35 +020072 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzonicd32da82014-03-05 23:23:40 +010073 help
74 Linaro toolchain for the ARM big endian architecture. It
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +010075 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
Thomas Petazzonicd32da82014-03-05 23:23:40 +010077 (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.
81
Yann E. MORIN997ef602015-10-27 00:49:40 +010082# See the note above.
83config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Thomas Petazzonidf4f64c2016-04-30 14:43:03 +020084 bool "Linaro armeb 2016.02"
Yann E. MORIN997ef602015-10-27 00:49:40 +010085 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
Thomas Petazzonidf4f64c2016-04-30 14:43:03 +020097 uses Linaro GCC 2016.02 (based on gcc 5.3), Linaro GDB
98 2016.02 (based on GDB 7.10), glibc 2.21, Binutils 2015.10
Yann E. MORIN997ef602015-10-27 00:49:40 +010099 (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.
103
Romain Naoureb713cf2015-12-19 19:14:40 +0100104config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Thomas Petazzoni93f3c042014-09-15 23:49:35 +0200105 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
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100109 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93f3c042014-09-15 23:49:35 +0200110 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
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200115 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Thomas Petazzoni93f3c042014-09-15 23:49:35 +0200116 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
131
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200132comment "Sourcery CodeBench toolchains available for the EABI ABI"
133 depends on BR2_arm
134 depends on !BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100135 depends on !BR2_STATIC_LIBS
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200136
Romain Naour18206242015-12-19 19:14:46 +0100137config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200138 bool "Arago ARMv7 2011.09"
139 depends on BR2_arm
140 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +0200141 depends on BR2_ARM_CPU_ARMV7A
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200142 depends on BR2_ARM_EABI
Yann E. MORIN08ce1092015-12-26 17:05:45 +0100143 depends on BR2_ARM_CPU_HAS_VFPV3
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100144 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200145 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
146 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
147 select BR2_INSTALL_LIBSTDCPP
148 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200149 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100150 # kernel headers: 2.6.31
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200151 help
152 Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
153 binutils 2.20.1, glibc 2.12, gdb 7.2.
154
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200155 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.
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200160
Romain Naour18206242015-12-19 19:14:46 +0100161config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200162 bool "Arago ARMv5 2011.09"
163 depends on BR2_arm
164 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +0200165 depends on !BR2_ARM_CPU_ARMV4
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200166 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100167 depends on !BR2_STATIC_LIBS
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200168 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
169 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
170 select BR2_INSTALL_LIBSTDCPP
171 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200172 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100173 # kernel headers: 2.6.31
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200174 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.
177
178 This toolchain uses software-floating point.
179
Romain Naourd9306ad2015-11-21 17:36:19 +0100180config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naour230cfce2016-04-30 23:10:25 +0200181 bool "Sourcery CodeBench MIPS 2016.05"
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100182 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
Vicente Olivert Riera99f80842015-10-16 17:00:01 +0100183 depends on BR2_mips_32r2 || BR2_mips_64r2
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100184 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
Romain Naour230cfce2016-04-30 23:10:25 +0200191 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naour6278da12015-11-21 17:36:20 +0100192 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100193 help
194 Sourcery CodeBench toolchain for the MIPS architecture, from
Romain Naour230cfce2016-04-30 23:10:25 +0200195 Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
196 2.23, uClibc 0.9.30 and gdb 7.10.50, kernel headers 4.4.1. It
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100197 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
266
Markos Chandras6f70ba32013-08-13 09:45:44 +0100267comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
268 depends on BR2_MIPS_NABI32
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100269 depends on !BR2_STATIC_LIBS
Markos Chandras6f70ba32013-08-13 09:45:44 +0100270
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000271config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000272 bool "Codescape IMG GNU Linux Toolchain 2015.10"
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000273 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
274 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000275 depends on BR2_mips_32r6 || (BR2_mips_64r6 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000276 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
277 select BR2_INSTALL_LIBSTDCPP
278 select BR2_HOSTARCH_NEEDS_IA32_LIBS
279 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
280 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
281 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000282 Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000283 architecture, from Imagination Technologies. It uses gcc
284 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
285 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000286 - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000287 Select 'MIPS (big endian)' Target Architecture
288 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000289 Disable 'Use soft-float'
290 - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
291 Select 'MIPS (big endian)' Target Architecture
292 Select 'mips 32r6' Target Architecture Variant
293 Enable 'Use soft-float'
294 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000295 Select 'MIPS (little endian)' Target Architecture
296 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000297 Disable 'Use soft-float'
298 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000299 Select 'MIPS (little endian)' Target Architecture
300 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000301 Enable 'Use soft-float'
302 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
303 Select 'MIPS (little endian)' Target Architecture
304 Select 'mips 32r6' Target Architecture Variant
305 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000306 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000307 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS
308 Select 'MIPS (little endian)' Target Architecture
309 Select 'mips 32r6' Target Architecture Variant
310 Enable 'Use soft-float'
311 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
312 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000313 Select 'MIPS64 (big endian)' Target Architecture
314 Select 'mips 64r6' Target Architecture Variant
315 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000316 Disable 'Use soft-float'
317 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000318 Select 'MIPS64 (little endian)' Target Architecture
319 Select 'mips 64r6' Target Architecture Variant
320 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000321 Disable 'Use soft-float'
322 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000323 Select 'MIPS64 (big endian)' Target Architecture
324 Select 'mips 64r6' Target Architecture Variant
325 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000326 Disable 'Use soft-float'
327 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000328 Select 'MIPS64 (little endian)' Target Architecture
329 Select 'mips 64r6' Target Architecture Variant
330 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000331 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000332
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000333config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000334 bool "Codescape MTI GNU Linux Toolchain 2015.10"
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000335 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
336 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000337 depends on BR2_mips_32r2 || (BR2_mips_64r2 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000338 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
339 select BR2_INSTALL_LIBSTDCPP
340 select BR2_HOSTARCH_NEEDS_IA32_LIBS
341 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
342 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
343 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000344 Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000345 architecture, from Imagination Technologies. It uses gcc
346 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
347 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000348 - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000349 Select 'MIPS (big endian)' Target Architecture
350 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000351 Disable 'Use soft-float'
352 - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000353 Select 'MIPS (big endian)' Target Architecture
354 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000355 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000356 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000357 - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
358 Select 'MIPS (big endian)' Target Architecture
359 Select 'mips 32r2' Target Architecture Variant
360 Enable 'Use soft-float'
361 - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000362 Select 'MIPS (little endian)' Target Architecture
363 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000364 Disable 'Use soft-float'
365 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000366 Select 'MIPS (little endian)' Target Architecture
367 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000368 Disable 'Use soft-float'
369 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
370 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
371 Select 'MIPS (little endian)' Target Architecture
372 Select 'mips 32r2' Target Architecture Variant
373 Enable 'Use soft-float'
374 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
375 Select 'MIPS (little endian)' Target Architecture
376 Select 'mips 32r2' Target Architecture Variant
377 Enable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000378 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000379 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS
380 Select 'MIPS (little endian)' Target Architecture
381 Select 'mips 32r2' Target Architecture Variant
382 Disable 'Use soft-float'
383 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
384 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000385 Select 'MIPS64 (big endian)' Target Architecture
386 Select 'mips 64r2' Target Architecture Variant
387 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000388 Disable 'Use soft-float'
389 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000390 Select 'MIPS64 (little endian)' Target Architecture
391 Select 'mips 64r2' Target Architecture Variant
392 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000393 Disable 'Use soft-float'
394 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000395 Select 'MIPS64 (big endian)' Target Architecture
396 Select 'mips 64r2' Target Architecture Variant
397 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000398 Disable 'Use soft-float'
399 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000400 Select 'MIPS64 (little endian)' Target Architecture
401 Select 'mips 64r2' Target Architecture Variant
402 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000403 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000404
Romain Naourc785b1b2015-11-21 17:36:16 +0100405config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour04c9d652016-05-19 00:23:30 +0200406 bool "Sourcery CodeBench Nios-II 2016.05"
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300407 depends on BR2_nios2
408 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100409 depends on !BR2_STATIC_LIBS
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300410 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
411 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
412 select BR2_INSTALL_LIBSTDCPP
413 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour04c9d652016-05-19 00:23:30 +0200414 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naoure7e5a762015-11-21 17:36:17 +0100415 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Romain Naour5dce3c02016-02-20 13:42:46 +0100416 select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300417 help
418 Sourcery CodeBench toolchain for the Nios-II architecture,
Romain Naour04c9d652016-05-19 00:23:30 +0200419 from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51,
420 glibc 2.23, gdb 7.10.50 and kernel headers 4.4.
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300421
Romain Naour3e1ae892015-12-19 19:14:42 +0100422config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Thomas Petazzonie067a442012-11-04 07:34:21 +0000423 bool "Sourcery CodeBench SH 2012.09"
424 depends on BR2_sh4a || BR2_sh4aeb
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000425 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100426 depends on !BR2_STATIC_LIBS
Thomas Petazzonie067a442012-11-04 07:34:21 +0000427 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
428 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
429 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000430 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100431 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200432 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzonie067a442012-11-04 07:34:21 +0000433 help
434 Sourcery CodeBench toolchain for the SuperH architecture,
435 from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
436 glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
437 3.5.4. It has support for the following variants:
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100438 - SH4A, glibc, little endian
439 Default.
440 - SH4A, glibc, big endian
441 Add -mb to BR2_TARGET_OPTIMIZATION
442 - SH4A, uClibc, little endian
443 Not usable in Buildroot yet.
444 - SH4A, uClibc, big endian
445 Not usable in Buildroot yet.
Thomas Petazzonie067a442012-11-04 07:34:21 +0000446
Romain Naour23ba8182015-11-21 17:36:14 +0100447config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour09f1a3b2015-11-21 17:36:15 +0100448 bool "Sourcery CodeBench AMD64 2015.11"
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300449 depends on BR2_x86_64
450 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
451 depends on !BR2_STATIC_LIBS
452 depends on BR2_x86_jaguar || BR2_x86_steamroller
453 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
454 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
455 select BR2_INSTALL_LIBSTDCPP
456 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour09f1a3b2015-11-21 17:36:15 +0100457 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
458 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300459 help
460 Sourcery CodeBench toolchain for the amd64 (x86_64)
Romain Naour09f1a3b2015-11-21 17:36:15 +0100461 architectures, from Mentor Graphics. It uses gcc 5.2,
462 binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
463 4.2. It has support for the following variants:
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300464 - AMD Puma/Jaguar (family 16h), glibc
465 Default for x86_64, nothing special to do.
466 - AMD Steamroller (family 15h), glibc
467 Select a steamroller core.
468 No other architecture variants are supported since glibc
469 is optimized for one of these two baselines.
470
Romain Naourf4da09e2015-12-19 19:14:43 +0100471config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000472 bool "Sourcery CodeBench x86/x86_64 2012.09"
473 depends on BR2_i386 || BR2_x86_64
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000474 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100475 depends on !BR2_STATIC_LIBS
Adrien Bérauda20cb382014-01-15 17:17:10 -0500476 depends on !BR2_x86_jaguar
Gustavo Zacarias50451992015-03-03 12:52:30 -0300477 depends on !BR2_x86_steamroller
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000478 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
479 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
480 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000481 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100482 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200483 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000484 help
485 Sourcery CodeBench toolchain for the x86/x86_64
486 architectures, from Mentor Graphics. It uses gcc 4.7.2,
487 binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
488 3.5.4. It has support for the following variants:
489 - Intel Pentium 4, glibc, 32 bits
490 Default for x86, nothing special to do.
491 - Intel Atom, glibc, 32 bits
492 Select an Atom core
493 - Intel Xeon, glibc, 64 bits
494 Default for x86_64, nothing special to do.
495 - Intel Core 2, glibc, 64 bits
496 Select a Core 2 core
497 Other architecture variants (beyond Pentium-4/Xeon) are
498 supported as well, but glibc is not optimised for it.
499
Romain Naour063593b2015-12-19 19:14:44 +0100500config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
Thomas Petazzoni1cfeed12014-07-09 23:20:22 +0200501 bool "Blackfin.uclinux.org 2014R1"
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200502 depends on BR2_bfin
503 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
504 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
505 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200506 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
507 select BR2_USE_WCHAR
508 select BR2_TOOLCHAIN_HAS_THREADS
509 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
510 select BR2_HOSTARCH_NEEDS_IA32_LIBS
511 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200512 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200513 help
514 Toolchain for the Blackfin architecture, from
515 http://blackfin.uclinux.org.
516
Peter Korsgaardc0c3d7d2016-02-21 22:19:54 +0100517# See note about Linaro ARM/ARMEB toolchains, above.
Thomas Petazzonid51025d2014-06-01 12:47:41 +0200518config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +0100519 bool "Linaro AArch64 14.09"
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100520 depends on BR2_aarch64
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100521 depends on BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100522 depends on !BR2_STATIC_LIBS
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100523 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
524 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100525 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100526 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200527 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100528 help
529 Toolchain for the AArch64 architecture, from
530 http://www.linaro.org/engineering/armv8/
531
Peter Korsgaardc0c3d7d2016-02-21 22:19:54 +0100532# See note about Linaro ARM/ARMEB toolchains, above.
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100533config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Thomas Petazzoni31d1df02016-04-30 14:43:04 +0200534 bool "Linaro AArch64 2016.02"
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100535 depends on BR2_aarch64
536 depends on BR2_HOSTARCH = "x86_64"
537 depends on !BR2_STATIC_LIBS
538 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
539 select BR2_INSTALL_LIBSTDCPP
540 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
541 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
542 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
543 help
544 Toolchain for the AArch64 architecture, from
545 http://www.linaro.org/engineering/armv8/
546
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200547config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naoure7a682b2015-12-30 15:30:16 +0100548 bool "CodeSourcery AArch64 2014.11"
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200549 depends on BR2_aarch64
550 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100551 depends on !BR2_STATIC_LIBS
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200552 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
553 select BR2_INSTALL_LIBSTDCPP
554 select BR2_HOSTARCH_NEEDS_IA32_LIBS
555 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Romain Naoure7a682b2015-12-30 15:30:16 +0100556 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
557 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200558 help
559 Sourcery CodeBench toolchain for the AArch64 architecture,
Romain Naoure7a682b2015-12-30 15:30:16 +0100560 from Mentor Graphics. It uses gcc 4.9.1, binutils
561 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers
562 3.16.2.
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200563
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200564config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200565 bool "Musl 1.1.12 toolchain"
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200566 depends on (BR2_arm && BR2_ARM_EABI) || \
567 (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4) || \
Thomas Petazzoni6cb48142016-04-17 23:31:34 +0200568 (BR2_armeb && BR2_ARM_EABI) || BR2_i386 || \
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100569 (BR2_mips && !BR2_SOFT_FLOAT) || \
570 BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
571 BR2_sh4 || BR2_sh4eb || \
572 BR2_x86_64
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200573 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera99122d62015-10-12 11:08:06 +0100574 # Unsupported for MIPS R6
575 depends on !BR2_mips_32r6 && !BR2_mips_64r6
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200576 select BR2_TOOLCHAIN_EXTERNAL_MUSL
577 select BR2_INSTALL_LIBSTDCPP
578 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzoni5c852662014-06-01 12:47:45 +0200579 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100580 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200581 help
582 Toolchain based on the Musl C library, provided by the
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100583 musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
584 musl 1.1.12. It does not have a cross debugger included.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200585
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200586 The ARM soft-float toolchain is built for ARMv4t, while the
587 ARM hard-float toolchain is built for ARMv5t.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200588 The x86 toolchain is built for i486.
589
590 http://musl.codu.org/
591
Romain Naourd02fa922015-12-19 19:14:45 +0100592config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300593 bool "Synopsys ARC 2014.12 toolchain"
594 depends on BR2_arc
595 depends on BR2_HOSTARCH = "x86_64"
Thomas Petazzonicd3c00f2015-05-01 11:13:54 +0200596 # does not provide IPv6, and lacks many uClibc features
597 # expected by Buildroot. The next Synopsys toolchain version
598 # should fix those problems.
599 depends on BROKEN
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300600 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
601 select BR2_INSTALL_LIBSTDCPP
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300602 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
603 select BR2_ENABLE_LOCALE
604 select BR2_USE_WCHAR
605 select BR2_TOOLCHAIN_HAS_THREADS
606 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
607 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200608 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300609 help
610 Toolchain for the ARC cores, from
611 https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
612
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100613config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleire5022fa82012-06-22 07:42:37 +0200614 bool "Custom toolchain"
615 help
616 Use this option to use a custom toolchain pre-installed on
617 your system.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100618
619endchoice
620
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200621choice
622 prompt "Toolchain origin"
Thomas Petazzoni70194072012-07-22 20:57:26 +0200623 # Keep compatibility with old defconfig files that are using
624 # custom toolchains, and which are therefore assuming that
625 # "preinstalled" in the default choice.
626 default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200627
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100628config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200629 bool "Toolchain to be downloaded and installed"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100630 help
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200631 Select this option if you want Buildroot to download and install the
632 toolchain. If you have selected a custom toolchain, specify the URL
633 in BR2_TOOLCHAIN_EXTERNAL_URL.
634
635config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
636 bool "Pre-installed toolchain"
637 help
638 Select this option if you want to use a pre-installed toolchain.
639 Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
640
641endchoice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100642
643config BR2_TOOLCHAIN_EXTERNAL_PATH
644 string "Toolchain path"
645 default "/path/to/toolchain/usr"
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200646 depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100647 help
648 Path to where the external toolchain is installed.
649
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200650config BR2_TOOLCHAIN_EXTERNAL_URL
651 string "Toolchain URL"
652 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
653 help
654 URL of the custom toolchain tarball to download and install.
655
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100656config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
657 string "Toolchain prefix"
658 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
659 default "$(ARCH)-linux"
660
661config BR2_TOOLCHAIN_EXTERNAL_PREFIX
662 string
Romain Naourd02fa922015-12-19 19:14:45 +0100663 default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
664 default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
Thomas Petazzonibe2abf22014-06-01 12:47:40 +0200665 default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Thomas Petazzonicd32da82014-03-05 23:23:40 +0100666 default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Romain Naoureb713cf2015-12-19 19:14:40 +0100667 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Romain Naour18206242015-12-19 19:14:46 +0100668 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
669 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzonid51025d2014-06-01 12:47:41 +0200670 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Romain Naoure7a682b2015-12-30 15:30:16 +0100671 default "aarch64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naourd9306ad2015-11-21 17:36:19 +0100672 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naourc785b1b2015-11-21 17:36:16 +0100673 default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour3e1ae892015-12-19 19:14:42 +0100674 default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Romain Naourf4da09e2015-12-19 19:14:43 +0100675 default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Romain Naour23ba8182015-11-21 17:36:14 +0100676 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour063593b2015-12-19 19:14:44 +0100677 default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
678 default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200679 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
680 default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000681 default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000682 default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200683 default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
684 default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200685 default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200686 default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
687 default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
688 default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100689 default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
690 default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200691 default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
Thomas De Schampheleirefbc24942013-09-02 22:07:53 +0200692 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100693 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200694
695config BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100696 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200697 select BR2_TOOLCHAIN_USES_GLIBC
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200698
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100699config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
700 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200701 select BR2_TOOLCHAIN_USES_UCLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100702
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200703config BR2_TOOLCHAIN_EXTERNAL_MUSL
704 bool
705 select BR2_TOOLCHAIN_USES_MUSL
Thomas Petazzoni69e0d0e2015-12-30 10:03:27 +0100706 select BR2_PACKAGE_NETBSD_QUEUE
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200707
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100708if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
709
710choice
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200711 bool "External toolchain gcc version"
712 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
713 help
714 Set to the gcc version that is used by your external
715 toolchain.
716
Jörg Krause8f972c22016-05-01 09:29:35 +0200717config BR2_TOOLCHAIN_EXTERNAL_GCC_6
718 bool "6.x"
719 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
720
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200721config BR2_TOOLCHAIN_EXTERNAL_GCC_5
722 bool "5.x"
723 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
724
725config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
726 bool "4.9.x"
727 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
728
729config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
730 bool "4.8.x"
731 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
732
733config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
734 bool "4.7.x"
735 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
736
737config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
738 bool "4.6.x"
739 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
740
741config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
742 bool "4.5.x"
743 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
744
745config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
746 bool "4.4.x"
747 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
748
749config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
750 bool "4.3.x"
751 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
752
753endchoice
754
755choice
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100756 bool "External toolchain kernel headers series"
757 default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
758 help
759 Set to the kernel headers version that were used to build
760 this external toolchain.
761
762 This is used to hide/show some packages that have strict
763 requirements on the version of kernel headers.
764
765 If unsure what version your toolchain is using, you can look
766 at the value of LINUX_VERSION_CODE in linux/version.h in your
767 toolchain. The Linux version is M.m.p, with:
768 M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
769 m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
770 p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
771
Gustavo Zacarias51800d22016-05-16 08:58:12 -0300772config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
773 bool "4.6.x"
774 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
775
Gustavo Zacarias3ece3fa2016-03-14 07:14:10 -0300776config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
777 bool "4.5.x"
778 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
779
Gustavo Zacariasdf2ad612016-01-11 07:52:36 -0300780config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
781 bool "4.4.x"
782 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
783
Vicente Olivert Rieraaef2df82015-11-02 15:56:51 +0100784config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
785 bool "4.3.x"
786 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
787
Peter Korsgaard8dc68292015-09-01 10:05:20 +0200788config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
789 bool "4.2.x"
790 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
791
Gustavo Zacariasdae7d8a2015-06-22 10:11:03 -0300792config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
793 bool "4.1.x"
794 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
795
Gustavo Zacariase714ee92015-04-13 10:00:23 -0300796config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
797 bool "4.0.x"
798 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
799
Peter Korsgaard81366ed2015-02-09 13:31:23 +0100800config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
801 bool "3.19.x"
802 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
803
Gustavo Zacariasbf6f74d2014-12-08 08:10:39 -0300804config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
805 bool "3.18.x"
806 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
807
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300808config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
809 bool "3.17.x"
Karoly Kaszab8f9e572014-10-09 12:59:01 +0200810 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300811
Gustavo Zacarias911516f2014-08-03 23:29:22 -0300812config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
813 bool "3.16.x"
814 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
815
Gustavo Zacariasfb29afe2014-06-09 08:30:33 -0300816config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
817 bool "3.15.x"
818 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
819
Samuel Martin11547ca2014-04-06 18:27:49 +0200820config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
821 bool "3.14.x"
822 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
823
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100824config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
825 bool "3.13.x"
826 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
827
828config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
829 bool "3.12.x"
830 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
831
832config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
833 bool "3.11.x"
834 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
835
836config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
837 bool "3.10.x"
838 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
839
840config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
841 bool "3.9.x"
842 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
843
844config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
845 bool "3.8.x"
846 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
847
848config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
849 bool "3.7.x"
850 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
851
852config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
853 bool "3.6.x"
854 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
855
856config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
857 bool "3.5.x"
858 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
859
860config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
861 bool "3.4.x"
862 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
863
864config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
865 bool "3.3.x"
866 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
867
868config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
869 bool "3.2.x"
870 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
871
872config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
873 bool "3.1.x"
874 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
875
876config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
877 bool "3.0.x"
878 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
879
880config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
881 bool "2.6.x"
882
883endchoice
884
885choice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100886 prompt "External toolchain C library"
887 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
888
889config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
890 bool "uClibc"
891 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
Thomas Petazzonib9882922011-05-30 23:56:57 +0200892 # For the time being, we assume that all custom external
893 # toolchains have shadow password support.
894 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200895 help
896 Select this option if your external toolchain uses the
897 uClibc C library (available from http://www.uclibc.org/).
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100898
899config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000900 bool "glibc/eglibc"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100901 depends on !BR2_STATIC_LIBS
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100902 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000903 help
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200904 Select this option if your external toolchain uses the GNU C
905 library (available from https://www.gnu.org/software/libc/)
906 or its variant the eglibc library (http://www.eglibc.org/).
907
908 Note: eglibc is a variant of glibc that (among other things)
909 can be configured to exclude some of its features. Using a
910 toolchain with eglibc configured to exclude key features may
911 cause build failures to some packages.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100912
Thomas Petazzonied3f3e42013-11-11 18:57:32 +0100913comment "(e)glibc only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100914 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +0100915
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200916config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200917 bool "musl"
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200918 select BR2_TOOLCHAIN_EXTERNAL_MUSL
919 help
920 Select this option if your external toolchain uses the
921 'musl' C library, available from http://www.musl-libc.org/.
922
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200923endchoice
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +0000924
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100925if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Thomas Petazzonifff71172010-12-13 17:27:37 +0100926
Thomas Petazzonifff71172010-12-13 17:27:37 +0100927config BR2_TOOLCHAIN_EXTERNAL_WCHAR
928 bool "Toolchain has WCHAR support?"
929 select BR2_USE_WCHAR
930 help
931 Select this option if your external toolchain supports
932 WCHAR. If you don't know, leave the default value, Buildroot
933 will tell you if it's correct or not.
934
935config BR2_TOOLCHAIN_EXTERNAL_LOCALE
936 bool "Toolchain has locale support?"
937 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
938 select BR2_ENABLE_LOCALE
939 help
940 Select this option if your external toolchain has locale
941 support. If you don't know, leave the default value,
942 Buildroot will tell you if it's correct or not.
943
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100944config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
945 bool "Toolchain has threads support?"
946 select BR2_TOOLCHAIN_HAS_THREADS
Peter Korsgaard04d06892011-07-26 15:28:19 +0200947 default y
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100948 help
949 Select this option if your external toolchain has thread
950 support. If you don't know, leave the default value,
951 Buildroot will tell you if it's correct or not.
952
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100953if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
954
Peter Korsgaard5931db02011-11-24 14:26:52 +0100955config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
956 bool "Toolchain has threads debugging support?"
Peter Korsgaard5931db02011-11-24 14:26:52 +0100957 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
958 default y
959 help
960 Select this option if your external toolchain has thread
961 debugging support. If you don't know, leave the default
962 value, Buildroot will tell you if it's correct or not.
963
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100964config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
965 bool "Toolchain has NPTL threads support?"
966 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
967 default y
968 help
969 Select this option if your external toolchain uses the NPTL
970 (Native Posix Thread Library) implementation of Posix
971 threads. If you don't know, leave the default value,
972 Buildroot will tell you if it's correct or not.
973
974endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
975
Thomas Petazzonic5866be2013-09-02 18:06:36 +0200976config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
977 bool "Toolchain has SSP support?"
978 select BR2_TOOLCHAIN_HAS_SSP
979 help
980 Selection this option if your external toolchain has Stack
981 Smashing Protection support enabled. If you don't know,
982 leave the default value, Buildroot will tell you if it's
983 correct or not.
984
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100985endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
986
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100987config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
988 bool "Toolchain has RPC support?"
989 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200990 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzoni3a843a32012-11-04 07:34:29 +0000991 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100992 help
993 Select this option if your external toolchain supports
994 RPC. If you don't know, leave the default value, Buildroot
995 will tell you if it's correct or not.
996
Thomas Petazzoni6b578c82010-12-13 17:27:41 +0100997config BR2_TOOLCHAIN_EXTERNAL_CXX
998 bool "Toolchain has C++ support?"
999 select BR2_INSTALL_LIBSTDCPP
1000 help
1001 Select this option if your external toolchain has C++
1002 support. If you don't know, leave the default value,
1003 Buildroot will tell you if it's correct or not.
1004
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +02001005config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
1006 string "Extra toolchain libraries to be copied to target"
1007 help
1008 If your external toolchain provides extra libraries that
1009 need to be copied to the target filesystem, enter them
Thomas De Schampheleire919b4f92016-02-12 20:20:26 +01001010 here, separated by spaces.
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +02001011
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01001012endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzonifff71172010-12-13 17:27:37 +01001013
Thomas Petazzonia0b6faa2013-04-07 00:04:33 +00001014config 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.
1020
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001021# 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.
1024config BR2_BFIN_INSTALL_FDPIC_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +01001025 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.
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001033
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.
1037config BR2_BFIN_INSTALL_FLAT_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +01001038 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.
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001047
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01001048endif # BR2_TOOLCHAIN_EXTERNAL