blob: 1418fc1cad04ddf7179bfe816293750b5b35ab98 [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
40 bool "Linaro ARM 2015.08"
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.
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
84 bool "Linaro armeb 2015.08"
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.
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 Naour6278da12015-11-21 17:36:20 +0100181 bool "Sourcery CodeBench MIPS 2015.11"
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 Naour6278da12015-11-21 17:36:20 +0100191 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
192 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 Naour6278da12015-11-21 17:36:20 +0100195 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
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
Romain Naourc785b1b2015-11-21 17:36:16 +0100271config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naoure7e5a762015-11-21 17:36:17 +0100272 bool "Sourcery CodeBench Nios-II 2015.11"
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300273 depends on BR2_nios2
274 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100275 depends on !BR2_STATIC_LIBS
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300276 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
277 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
278 select BR2_INSTALL_LIBSTDCPP
279 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naoure7e5a762015-11-21 17:36:17 +0100280 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
281 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300282 help
283 Sourcery CodeBench toolchain for the Nios-II architecture,
Romain Naoure7e5a762015-11-21 17:36:17 +0100284 from Mentor Graphics. It uses gcc 5.2, binutils 2.25.51,
285 glibc 2.22, gdb 7.10.50 and kernel headers 4.2.
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300286
Romain Naourfa4214e2015-12-19 19:14:41 +0100287config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC
Thomas Petazzoni20d4ba92014-06-01 12:47:47 +0200288 bool "Sourcery CodeBench PowerPC 2012.03"
289 depends on BR2_powerpc
290 depends on BR2_powerpc_SPE
291 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100292 depends on !BR2_STATIC_LIBS
Thomas Petazzoni20d4ba92014-06-01 12:47:47 +0200293 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
294 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
295 select BR2_INSTALL_LIBSTDCPP
296 select BR2_HOSTARCH_NEEDS_IA32_LIBS
297 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200298 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
Thomas Petazzoni20d4ba92014-06-01 12:47:47 +0200299 help
300 Sourcery CodeBench toolchain for the PowerPC architecture,
301 from Mentor Graphics. It uses gcc 4.6.3, binutils 2.21.53,
302 glibc 2.15, gdb 7.2.50 and kernel headers 3.2.10. It has
303 support for the following variants:
304 - e500v2 glibc, SPE, 32 bits
305
Romain Naour3e1ae892015-12-19 19:14:42 +0100306config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Thomas Petazzonie067a442012-11-04 07:34:21 +0000307 bool "Sourcery CodeBench SH 2012.09"
308 depends on BR2_sh4a || BR2_sh4aeb
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000309 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100310 depends on !BR2_STATIC_LIBS
Thomas Petazzonie067a442012-11-04 07:34:21 +0000311 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
312 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
313 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000314 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100315 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200316 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzonie067a442012-11-04 07:34:21 +0000317 help
318 Sourcery CodeBench toolchain for the SuperH architecture,
319 from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
320 glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
321 3.5.4. It has support for the following variants:
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100322 - SH4A, glibc, little endian
323 Default.
324 - SH4A, glibc, big endian
325 Add -mb to BR2_TARGET_OPTIMIZATION
326 - SH4A, uClibc, little endian
327 Not usable in Buildroot yet.
328 - SH4A, uClibc, big endian
329 Not usable in Buildroot yet.
Thomas Petazzonie067a442012-11-04 07:34:21 +0000330
Romain Naour23ba8182015-11-21 17:36:14 +0100331config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour09f1a3b2015-11-21 17:36:15 +0100332 bool "Sourcery CodeBench AMD64 2015.11"
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300333 depends on BR2_x86_64
334 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
335 depends on !BR2_STATIC_LIBS
336 depends on BR2_x86_jaguar || BR2_x86_steamroller
337 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
338 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
339 select BR2_INSTALL_LIBSTDCPP
340 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour09f1a3b2015-11-21 17:36:15 +0100341 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
342 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300343 help
344 Sourcery CodeBench toolchain for the amd64 (x86_64)
Romain Naour09f1a3b2015-11-21 17:36:15 +0100345 architectures, from Mentor Graphics. It uses gcc 5.2,
346 binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
347 4.2. It has support for the following variants:
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300348 - AMD Puma/Jaguar (family 16h), glibc
349 Default for x86_64, nothing special to do.
350 - AMD Steamroller (family 15h), glibc
351 Select a steamroller core.
352 No other architecture variants are supported since glibc
353 is optimized for one of these two baselines.
354
Romain Naourf4da09e2015-12-19 19:14:43 +0100355config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000356 bool "Sourcery CodeBench x86/x86_64 2012.09"
357 depends on BR2_i386 || BR2_x86_64
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000358 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100359 depends on !BR2_STATIC_LIBS
Adrien Bérauda20cb382014-01-15 17:17:10 -0500360 depends on !BR2_x86_jaguar
Gustavo Zacarias50451992015-03-03 12:52:30 -0300361 depends on !BR2_x86_steamroller
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000362 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
363 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
364 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000365 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100366 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200367 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000368 help
369 Sourcery CodeBench toolchain for the x86/x86_64
370 architectures, from Mentor Graphics. It uses gcc 4.7.2,
371 binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
372 3.5.4. It has support for the following variants:
373 - Intel Pentium 4, glibc, 32 bits
374 Default for x86, nothing special to do.
375 - Intel Atom, glibc, 32 bits
376 Select an Atom core
377 - Intel Xeon, glibc, 64 bits
378 Default for x86_64, nothing special to do.
379 - Intel Core 2, glibc, 64 bits
380 Select a Core 2 core
381 Other architecture variants (beyond Pentium-4/Xeon) are
382 supported as well, but glibc is not optimised for it.
383
Romain Naour063593b2015-12-19 19:14:44 +0100384config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
Thomas Petazzoni1cfeed12014-07-09 23:20:22 +0200385 bool "Blackfin.uclinux.org 2014R1"
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200386 depends on BR2_bfin
387 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
388 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
389 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200390 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
391 select BR2_USE_WCHAR
392 select BR2_TOOLCHAIN_HAS_THREADS
393 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
394 select BR2_HOSTARCH_NEEDS_IA32_LIBS
395 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200396 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200397 help
398 Toolchain for the Blackfin architecture, from
399 http://blackfin.uclinux.org.
400
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100401# See note about Linar ARM/ARMEB toolchains, above.
Thomas Petazzonid51025d2014-06-01 12:47:41 +0200402config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +0100403 bool "Linaro AArch64 14.09"
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100404 depends on BR2_aarch64
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100405 depends on BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100406 depends on !BR2_STATIC_LIBS
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100407 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
408 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100409 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100410 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200411 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100412 help
413 Toolchain for the AArch64 architecture, from
414 http://www.linaro.org/engineering/armv8/
415
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100416# See note about Linar ARM/ARMEB toolchains, above.
417config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
418 bool "Linaro AArch64 2015.08"
419 depends on BR2_aarch64
420 depends on BR2_HOSTARCH = "x86_64"
421 depends on !BR2_STATIC_LIBS
422 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
423 select BR2_INSTALL_LIBSTDCPP
424 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
425 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
426 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
427 help
428 Toolchain for the AArch64 architecture, from
429 http://www.linaro.org/engineering/armv8/
430
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200431config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
432 bool "CodeSourcery AArch64 2014.05"
433 depends on BR2_aarch64
434 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100435 depends on !BR2_STATIC_LIBS
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200436 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
437 select BR2_INSTALL_LIBSTDCPP
438 select BR2_HOSTARCH_NEEDS_IA32_LIBS
439 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
440 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200441 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200442 help
443 Sourcery CodeBench toolchain for the AArch64 architecture,
444 from Mentor Graphics. It uses gcc 4.8.3, binutils 2.24,
445 glibc 2.18, gdb 7.7.50 and kernel headers 3.13.
446
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200447config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
Peter Korsgaard3ed34ff2015-05-04 16:01:37 +0200448 bool "Musl 1.1.6 toolchain (experimental)"
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200449 depends on (BR2_arm && BR2_ARM_EABI) || \
450 (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4) || \
451 (BR2_armeb && BR2_ARM_EABI) || \
Thomas Petazzoni77ef6a32014-05-30 22:24:39 +0200452 (BR2_i386 && !BR2_x86_i386) || BR2_microblazebe || BR2_mips || \
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200453 BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || BR2_x86_64
454 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera99122d62015-10-12 11:08:06 +0100455 # Unsupported for MIPS R6
456 depends on !BR2_mips_32r6 && !BR2_mips_64r6
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200457 select BR2_TOOLCHAIN_EXTERNAL_MUSL
458 select BR2_INSTALL_LIBSTDCPP
459 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzoni5c852662014-06-01 12:47:45 +0200460 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200461 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200462 help
463 Toolchain based on the Musl C library, provided by the
Will Wagner2e313e12015-04-23 14:27:10 +0100464 musl-cross project. It uses gcc 4.9.2, binutils 2.25 and
465 musl 1.1.6. It does not have a cross debugger included.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200466
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200467 The ARM soft-float toolchain is built for ARMv4t, while the
468 ARM hard-float toolchain is built for ARMv5t.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200469 The x86 toolchain is built for i486.
470
471 http://musl.codu.org/
472
Romain Naourd02fa922015-12-19 19:14:45 +0100473config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300474 bool "Synopsys ARC 2014.12 toolchain"
475 depends on BR2_arc
476 depends on BR2_HOSTARCH = "x86_64"
Thomas Petazzonicd3c00f2015-05-01 11:13:54 +0200477 # does not provide IPv6, and lacks many uClibc features
478 # expected by Buildroot. The next Synopsys toolchain version
479 # should fix those problems.
480 depends on BROKEN
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300481 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
482 select BR2_INSTALL_LIBSTDCPP
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300483 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
484 select BR2_ENABLE_LOCALE
485 select BR2_USE_WCHAR
486 select BR2_TOOLCHAIN_HAS_THREADS
487 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
488 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200489 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300490 help
491 Toolchain for the ARC cores, from
492 https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
493
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100494config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleire5022fa82012-06-22 07:42:37 +0200495 bool "Custom toolchain"
496 help
497 Use this option to use a custom toolchain pre-installed on
498 your system.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100499
500endchoice
501
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200502choice
503 prompt "Toolchain origin"
Thomas Petazzoni70194072012-07-22 20:57:26 +0200504 # Keep compatibility with old defconfig files that are using
505 # custom toolchains, and which are therefore assuming that
506 # "preinstalled" in the default choice.
507 default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200508
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100509config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200510 bool "Toolchain to be downloaded and installed"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100511 help
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200512 Select this option if you want Buildroot to download and install the
513 toolchain. If you have selected a custom toolchain, specify the URL
514 in BR2_TOOLCHAIN_EXTERNAL_URL.
515
516config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
517 bool "Pre-installed toolchain"
518 help
519 Select this option if you want to use a pre-installed toolchain.
520 Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
521
522endchoice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100523
524config BR2_TOOLCHAIN_EXTERNAL_PATH
525 string "Toolchain path"
526 default "/path/to/toolchain/usr"
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200527 depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100528 help
529 Path to where the external toolchain is installed.
530
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200531config BR2_TOOLCHAIN_EXTERNAL_URL
532 string "Toolchain URL"
533 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
534 help
535 URL of the custom toolchain tarball to download and install.
536
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100537config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
538 string "Toolchain prefix"
539 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
540 default "$(ARCH)-linux"
541
542config BR2_TOOLCHAIN_EXTERNAL_PREFIX
543 string
Romain Naourd02fa922015-12-19 19:14:45 +0100544 default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
545 default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
Thomas Petazzonibe2abf22014-06-01 12:47:40 +0200546 default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Thomas Petazzonicd32da82014-03-05 23:23:40 +0100547 default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Romain Naoureb713cf2015-12-19 19:14:40 +0100548 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Romain Naour18206242015-12-19 19:14:46 +0100549 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
550 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzonid51025d2014-06-01 12:47:41 +0200551 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200552 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naourd9306ad2015-11-21 17:36:19 +0100553 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naourc785b1b2015-11-21 17:36:16 +0100554 default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naourfa4214e2015-12-19 19:14:41 +0100555 default "powerpc-mentor-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC
Romain Naour3e1ae892015-12-19 19:14:42 +0100556 default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Romain Naourf4da09e2015-12-19 19:14:43 +0100557 default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Romain Naour23ba8182015-11-21 17:36:14 +0100558 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour063593b2015-12-19 19:14:44 +0100559 default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
560 default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200561 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
562 default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200563 default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
564 default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
Thomas Petazzoni77ef6a32014-05-30 22:24:39 +0200565 default "microblaze-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_microblazebe
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200566 default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
567 default "mips-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && BR2_SOFT_FLOAT)
568 default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
569 default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
570 default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
571 default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
Thomas De Schampheleirefbc24942013-09-02 22:07:53 +0200572 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100573 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200574
575config BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100576 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200577 select BR2_TOOLCHAIN_USES_GLIBC
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200578
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100579config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
580 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200581 select BR2_TOOLCHAIN_USES_UCLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100582
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200583config BR2_TOOLCHAIN_EXTERNAL_MUSL
584 bool
585 select BR2_TOOLCHAIN_USES_MUSL
Thomas Petazzoni69e0d0e2015-12-30 10:03:27 +0100586 select BR2_PACKAGE_NETBSD_QUEUE
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200587
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100588if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
589
590choice
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200591 bool "External toolchain gcc version"
592 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
593 help
594 Set to the gcc version that is used by your external
595 toolchain.
596
597config BR2_TOOLCHAIN_EXTERNAL_GCC_5
598 bool "5.x"
599 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
600
601config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
602 bool "4.9.x"
603 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
604
605config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
606 bool "4.8.x"
607 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
608
609config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
610 bool "4.7.x"
611 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
612
613config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
614 bool "4.6.x"
615 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
616
617config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
618 bool "4.5.x"
619 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
620
621config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
622 bool "4.4.x"
623 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
624
625config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
626 bool "4.3.x"
627 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
628
629endchoice
630
631choice
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100632 bool "External toolchain kernel headers series"
633 default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
634 help
635 Set to the kernel headers version that were used to build
636 this external toolchain.
637
638 This is used to hide/show some packages that have strict
639 requirements on the version of kernel headers.
640
641 If unsure what version your toolchain is using, you can look
642 at the value of LINUX_VERSION_CODE in linux/version.h in your
643 toolchain. The Linux version is M.m.p, with:
644 M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
645 m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
646 p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
647
Vicente Olivert Rieraaef2df82015-11-02 15:56:51 +0100648config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
649 bool "4.3.x"
650 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
651
Peter Korsgaard8dc68292015-09-01 10:05:20 +0200652config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
653 bool "4.2.x"
654 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
655
Gustavo Zacariasdae7d8a2015-06-22 10:11:03 -0300656config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
657 bool "4.1.x"
658 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
659
Gustavo Zacariase714ee92015-04-13 10:00:23 -0300660config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
661 bool "4.0.x"
662 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
663
Peter Korsgaard81366ed2015-02-09 13:31:23 +0100664config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
665 bool "3.19.x"
666 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
667
Gustavo Zacariasbf6f74d2014-12-08 08:10:39 -0300668config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
669 bool "3.18.x"
670 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
671
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300672config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
673 bool "3.17.x"
Karoly Kaszab8f9e572014-10-09 12:59:01 +0200674 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300675
Gustavo Zacarias911516f2014-08-03 23:29:22 -0300676config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
677 bool "3.16.x"
678 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
679
Gustavo Zacariasfb29afe2014-06-09 08:30:33 -0300680config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
681 bool "3.15.x"
682 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
683
Samuel Martin11547ca2014-04-06 18:27:49 +0200684config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
685 bool "3.14.x"
686 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
687
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100688config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
689 bool "3.13.x"
690 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
691
692config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
693 bool "3.12.x"
694 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
695
696config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
697 bool "3.11.x"
698 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
699
700config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
701 bool "3.10.x"
702 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
703
704config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
705 bool "3.9.x"
706 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
707
708config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
709 bool "3.8.x"
710 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
711
712config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
713 bool "3.7.x"
714 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
715
716config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
717 bool "3.6.x"
718 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
719
720config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
721 bool "3.5.x"
722 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
723
724config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
725 bool "3.4.x"
726 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
727
728config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
729 bool "3.3.x"
730 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
731
732config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
733 bool "3.2.x"
734 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
735
736config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
737 bool "3.1.x"
738 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
739
740config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
741 bool "3.0.x"
742 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
743
744config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
745 bool "2.6.x"
746
747endchoice
748
749choice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100750 prompt "External toolchain C library"
751 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
752
753config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
754 bool "uClibc"
755 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
Thomas Petazzonib9882922011-05-30 23:56:57 +0200756 # For the time being, we assume that all custom external
757 # toolchains have shadow password support.
758 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200759 help
760 Select this option if your external toolchain uses the
761 uClibc C library (available from http://www.uclibc.org/).
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100762
763config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000764 bool "glibc/eglibc"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100765 depends on !BR2_STATIC_LIBS
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100766 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000767 help
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200768 Select this option if your external toolchain uses the GNU C
769 library (available from https://www.gnu.org/software/libc/)
770 or its variant the eglibc library (http://www.eglibc.org/).
771
772 Note: eglibc is a variant of glibc that (among other things)
773 can be configured to exclude some of its features. Using a
774 toolchain with eglibc configured to exclude key features may
775 cause build failures to some packages.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100776
Thomas Petazzonied3f3e42013-11-11 18:57:32 +0100777comment "(e)glibc only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100778 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +0100779
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200780config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
Peter Korsgaard3ed34ff2015-05-04 16:01:37 +0200781 bool "musl (experimental)"
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200782 select BR2_TOOLCHAIN_EXTERNAL_MUSL
783 help
784 Select this option if your external toolchain uses the
785 'musl' C library, available from http://www.musl-libc.org/.
786
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200787endchoice
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +0000788
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100789if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Thomas Petazzonifff71172010-12-13 17:27:37 +0100790
Thomas Petazzonifff71172010-12-13 17:27:37 +0100791config BR2_TOOLCHAIN_EXTERNAL_WCHAR
792 bool "Toolchain has WCHAR support?"
793 select BR2_USE_WCHAR
794 help
795 Select this option if your external toolchain supports
796 WCHAR. If you don't know, leave the default value, Buildroot
797 will tell you if it's correct or not.
798
799config BR2_TOOLCHAIN_EXTERNAL_LOCALE
800 bool "Toolchain has locale support?"
801 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
802 select BR2_ENABLE_LOCALE
803 help
804 Select this option if your external toolchain has locale
805 support. If you don't know, leave the default value,
806 Buildroot will tell you if it's correct or not.
807
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100808config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
809 bool "Toolchain has threads support?"
810 select BR2_TOOLCHAIN_HAS_THREADS
Peter Korsgaard04d06892011-07-26 15:28:19 +0200811 default y
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100812 help
813 Select this option if your external toolchain has thread
814 support. If you don't know, leave the default value,
815 Buildroot will tell you if it's correct or not.
816
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100817if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
818
Peter Korsgaard5931db02011-11-24 14:26:52 +0100819config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
820 bool "Toolchain has threads debugging support?"
Peter Korsgaard5931db02011-11-24 14:26:52 +0100821 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
822 default y
823 help
824 Select this option if your external toolchain has thread
825 debugging support. If you don't know, leave the default
826 value, Buildroot will tell you if it's correct or not.
827
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100828config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
829 bool "Toolchain has NPTL threads support?"
830 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
831 default y
832 help
833 Select this option if your external toolchain uses the NPTL
834 (Native Posix Thread Library) implementation of Posix
835 threads. If you don't know, leave the default value,
836 Buildroot will tell you if it's correct or not.
837
838endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
839
Thomas Petazzonic5866be2013-09-02 18:06:36 +0200840config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
841 bool "Toolchain has SSP support?"
842 select BR2_TOOLCHAIN_HAS_SSP
843 help
844 Selection this option if your external toolchain has Stack
845 Smashing Protection support enabled. If you don't know,
846 leave the default value, Buildroot will tell you if it's
847 correct or not.
848
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100849endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
850
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100851config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
852 bool "Toolchain has RPC support?"
853 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200854 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzoni3a843a32012-11-04 07:34:29 +0000855 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100856 help
857 Select this option if your external toolchain supports
858 RPC. If you don't know, leave the default value, Buildroot
859 will tell you if it's correct or not.
860
Thomas Petazzoni6b578c82010-12-13 17:27:41 +0100861config BR2_TOOLCHAIN_EXTERNAL_CXX
862 bool "Toolchain has C++ support?"
863 select BR2_INSTALL_LIBSTDCPP
864 help
865 Select this option if your external toolchain has C++
866 support. If you don't know, leave the default value,
867 Buildroot will tell you if it's correct or not.
868
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +0200869config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
870 string "Extra toolchain libraries to be copied to target"
871 help
872 If your external toolchain provides extra libraries that
873 need to be copied to the target filesystem, enter them
874 here, separated by spaces. They will be copied to the
875 target's /lib directory.
876
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100877endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzonifff71172010-12-13 17:27:37 +0100878
Thomas Petazzonia0b6faa2013-04-07 00:04:33 +0000879config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
880 bool "Copy gdb server to the Target"
881 depends on BR2_TOOLCHAIN_EXTERNAL
882 help
883 Copy the gdbserver provided by the external toolchain to the
884 target.
885
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200886# When the FDPIC shared binary format is used, the corresponding libraries are
887# always installed. When a different binary format is used, we offer the option
888# of installing the FDPIC shared libraries.
889config BR2_BFIN_INSTALL_FDPIC_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100890 bool "Install FDPIC shared libraries"
891 depends on BR2_bfin && !BR2_BINFMT_FDPIC
892 help
893 The Linux kernel supports running both FDPIC and FLAT applications
894 concurrently if the binary format specific libraries are installed
895 properly. This option allows developer to install FDPIC libraries
896 into a buildroot rootfs image built with binary format that is not
897 FDPIC.
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200898
899# When the FLAT shared binary format is used, we force the installation
900# of the corresponding libraries. When a different binary format is
901# used, we offer the option of installing the FLAT shared libraries.
902config BR2_BFIN_INSTALL_FLAT_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100903 bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
904 depends on BR2_bfin
905 default y if BR2_BINFMT_FLAT_SHARED
906 help
907 The Linux kernel supports running both FDPIC and FLAT applications
908 concurrently if the binary format specific libraries are installed
909 properly. This option allows developer to install FLAT libraries
910 into a buildroot rootfs image built with binary format that is not
911 shared FLAT.
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200912
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100913endif # BR2_TOOLCHAIN_EXTERNAL