blob: 096f435d0282c72ebb1b42ce8ac893fbefbfacf5 [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
Petri Gynther8218ab82016-08-08 11:34:59 -07003comment "Toolchain External Options"
4
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01005choice
6 prompt "Toolchain"
7
Thomas Petazzoni416fd9c2016-06-08 23:40:54 +02008comment "glibc toolchains only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +01009 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +010010
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +010011# Kept toolchains sorted by architecture in order to use some toolchain
12# as default choice
13
14# Aarch64 (use Linaro toolchain by default)
15source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
16
Yann E. MORIN87785ec2015-09-20 23:45:49 +020017comment "Linaro toolchains available for Cortex-A + EABIhf"
18 depends on BR2_arm || BR2_armeb
19 depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF
20 depends on !BR2_STATIC_LIBS
21
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010022config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Romain Naour227553b2016-09-24 11:37:51 +020023 bool "Linaro ARM 2016.05"
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010024 depends on BR2_arm
25 depends on BR2_ARM_CPU_ARMV7A
Romain Naour3411db02016-10-11 23:04:57 +020026 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010027 depends on BR2_ARM_EABIHF
28 depends on !BR2_STATIC_LIBS
29 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000030 select BR2_TOOLCHAIN_HAS_SSP
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010031 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
32 select BR2_INSTALL_LIBSTDCPP
33 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
34 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Samuel Martin01756842016-07-03 15:47:48 +020035 select BR2_TOOLCHAIN_HAS_FORTRAN
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010036 help
37 Linaro toolchain for the ARM architecture. It uses Linaro
Romain Naour227553b2016-09-24 11:37:51 +020038 GCC 2016.05 (based on gcc 5.3.1), Linaro GDB 2016.05 (based on
39 GDB 7.11.1), glibc 2.21, Binutils 2016.05 (based on 2.25). It
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010040 generates code that runs on all Cortex-A profile devices,
41 but tuned for the Cortex-A9. The code generated is Thumb 2,
42 with the hard floating point calling convention, and uses
43 the VFPv3-D16 FPU instructions.
44
Yann E. MORIN997ef602015-10-27 00:49:40 +010045config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Romain Naour93e82b62016-09-24 11:37:52 +020046 bool "Linaro armeb 2016.05"
Yann E. MORIN997ef602015-10-27 00:49:40 +010047 depends on BR2_armeb
48 depends on BR2_ARM_CPU_ARMV7A
Romain Naour9c9ddc42016-10-11 23:04:58 +020049 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Yann E. MORIN997ef602015-10-27 00:49:40 +010050 depends on BR2_ARM_EABIHF
51 depends on !BR2_STATIC_LIBS
52 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000053 select BR2_TOOLCHAIN_HAS_SSP
Yann E. MORIN997ef602015-10-27 00:49:40 +010054 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
55 select BR2_INSTALL_LIBSTDCPP
56 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
57 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
58 help
59 Linaro toolchain for the ARM big endian architecture. It
Romain Naour93e82b62016-09-24 11:37:52 +020060 uses Linaro GCC 2016.05 (based on gcc 5.3.1), Linaro GDB
61 2016.05 (based on GDB 7.11.1), glibc 2.21, Binutils 2016.05
Yann E. MORIN997ef602015-10-27 00:49:40 +010062 (based on 2.25). It generates code that runs on all Cortex-A
63 profile devices, but tuned for the Cortex-A9. The code
64 generated is Thumb 2, with the hard floating point calling
65 convention, and uses the VFPv3-D16 FPU instructions.
66
Romain Naoureb713cf2015-12-19 19:14:40 +010067config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Thomas Petazzoni93f3c042014-09-15 23:49:35 +020068 bool "Sourcery CodeBench ARM 2014.05"
69 depends on BR2_arm
70 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
71 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010072 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93f3c042014-09-15 23:49:35 +020073 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000074 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni93f3c042014-09-15 23:49:35 +020075 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
76 select BR2_INSTALL_LIBSTDCPP
77 select BR2_HOSTARCH_NEEDS_IA32_LIBS
78 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +020079 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Thomas Petazzoni93f3c042014-09-15 23:49:35 +020080 help
81 Sourcery CodeBench toolchain for the ARM architecture, from
82 Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
83 2.18 and gdb 7.7.50, kernel headers 3.13. It has support
84 for the following variants:
85 - ARMv5TE, little endian, soft-float, glibc
86 Select ARM926T, ARM10T, XScale or another ARMv5 core
87 Select BR2_SOFT_FLOAT
88 - ARMv4T, little endian, soft-float, glibc
89 Select ARM720T, ARM920T, ARM922T or another ARMv4 core
90 Select BR2_SOFT_FLOAT
91 - ARMv7-A, Thumb 2, little endian, soft-float, glibc
92 Select Cortex-A8, Cortex-A9 or another ARMv7-A core
93 Select BR2_SOFT_FLOAT
94 Set BR2_TARGET_OPTIMIZATION to -mthumb
95
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020096comment "Sourcery CodeBench toolchains available for the EABI ABI"
97 depends on BR2_arm
98 depends on !BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010099 depends on !BR2_STATIC_LIBS
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200100
Romain Naour18206242015-12-19 19:14:46 +0100101config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200102 bool "Arago ARMv7 2011.09"
103 depends on BR2_arm
104 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +0200105 depends on BR2_ARM_CPU_ARMV7A
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200106 depends on BR2_ARM_EABI
Yann E. MORIN08ce1092015-12-26 17:05:45 +0100107 depends on BR2_ARM_CPU_HAS_VFPV3
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100108 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200109 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000110 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200111 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
112 select BR2_INSTALL_LIBSTDCPP
113 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200114 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100115 # kernel headers: 2.6.31
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200116 help
117 Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
118 binutils 2.20.1, glibc 2.12, gdb 7.2.
119
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200120 This toolchain uses -mfloat-abi=softfp (i.e can use FPU
121 instructions, but passes floating point function arguments
122 in integer registers), and requires a VFPv3 floating point
123 unit to work properly. This unit is available on most
124 Cortex-A ARM processors, but not all.
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200125
Romain Naour18206242015-12-19 19:14:46 +0100126config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200127 bool "Arago ARMv5 2011.09"
128 depends on BR2_arm
129 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +0200130 depends on !BR2_ARM_CPU_ARMV4
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200131 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100132 depends on !BR2_STATIC_LIBS
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200133 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000134 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200135 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
136 select BR2_INSTALL_LIBSTDCPP
137 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200138 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100139 # kernel headers: 2.6.31
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200140 help
141 Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
142 4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
143
144 This toolchain uses software-floating point.
145
Romain Naourd9306ad2015-11-21 17:36:19 +0100146config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naour230cfce2016-04-30 23:10:25 +0200147 bool "Sourcery CodeBench MIPS 2016.05"
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100148 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100149 depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
Vicente Olivert Rieraef3e7322016-09-30 10:36:54 +0100150 # Unsupported MIPS cores
151 depends on !BR2_mips_interaptiv
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100152 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
153 depends on !BR2_MIPS_NABI32
154 depends on !BR2_STATIC_LIBS
155 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000156 select BR2_TOOLCHAIN_HAS_SSP
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100157 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
158 select BR2_INSTALL_LIBSTDCPP
159 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour230cfce2016-04-30 23:10:25 +0200160 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naour6278da12015-11-21 17:36:20 +0100161 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100162 help
163 Sourcery CodeBench toolchain for the MIPS architecture, from
Romain Naour230cfce2016-04-30 23:10:25 +0200164 Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
165 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 +0100166 has support for the following variants:
167 - MIPS32r2 - Big-Endian, 2008 NaN, O32
168 Select MIPS (big endian) core
169 Disable BR2_SOFT_FLOAT
170 Set BR2_TARGET_OPTIMIZATION to -mnan=2008
171 - MIPS32r2 - Big-Endian, O32
172 Select MIPS (big endian) core
173 Disable BR2_SOFT_FLOAT
174 - MIPS32r2 - Big-Endian, O32, MIPS16
175 Select MIPS (big endian) core
176 Disable BR2_SOFT_FLOAT
177 Set BR2_TARGET_OPTIMIZATION to -mips16
178 - MIPS32r2 - Big-Endian, Soft-Float, O32
179 Select MIPS (big endian) core
180 Select BR2_SOFT_FLOAT
181 - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
182 Select MIPS (big endian) core
183 Select BR2_SOFT_FLOAT
184 Set BR2_TARGET_OPTIMIZATION to -mips16
185 - MIPS32r2 - Little-Endian, 2008 NaN, O32
186 Select MIPS (little endian) core
187 Disable BR2_SOFT_FLOAT
188 Set BR2_TARGET_OPTIMIZATION to -mnan=2008
189 - MIPS32r2 - Little-Endian, O32
190 Select MIPS (little endian) core
191 Disable BR2_SOFT_FLOAT
192 - MIPS32r2 - Little-Endian, O32, MIPS16
193 Select MIPS (little endian) core
194 Disable BR2_SOFT_FLOAT
195 Set BR2_TARGET_OPTIMIZATION to -mips16
196 - MIPS32r2 - Little-Endian, Soft-Float, O32
197 Select MIPS (little endian) core
198 Select BR2_SOFT_FLOAT
199 - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
200 Select MIPS (little endian) core
201 Select BR2_SOFT_FLOAT
202 Set BR2_TARGET_OPTIMIZATION to -mips16
203 - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
204 Select MIPS (little endian) core
205 Select BR2_SOFT_FLOAT
206 Set BR2_TARGET_OPTIMIZATION to -mmicromips
207 - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
208 Not usable in Buildroot yet.
209 - MIPS32r2 - uClibc, Big-Endian, O32
210 Not usable in Buildroot yet.
211 - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
212 Not usable in Buildroot yet.
213 - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
214 Not usable in Buildroot yet.
215 - MIPS32r2 - uClibc, Little-Endian, O32
216 Not usable in Buildroot yet.
217 - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
218 Not usable in Buildroot yet.
219 - MIPS64r2 - Big-Endian, N64
220 Select MIPS64 (big endian) core
221 Select the n64 ABI
222 Disable BR2_SOFT_FLOAT
223 - MIPS64r2 - Big-Endian, Soft-Float, N64
224 Select MIPS64 (big endian) core
225 Select the n64 ABI
226 Select BR2_SOFT_FLOAT
227 - MIPS64r2 - Little-Endian, N64
228 Select MIPS64 (little endian) core
229 Select the n64 ABI
230 Disable BR2_SOFT_FLOAT
231 - MIPS64r2 - Little-Endian, Soft-Float, N64
232 Select MIPS64 (little endian) core
233 Select the n64 ABI
234 Select BR2_SOFT_FLOAT
235
Markos Chandras6f70ba32013-08-13 09:45:44 +0100236comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
237 depends on BR2_MIPS_NABI32
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100238 depends on !BR2_STATIC_LIBS
Markos Chandras6f70ba32013-08-13 09:45:44 +0100239
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000240config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100241 bool "Codescape IMG GNU Linux Toolchain 2016.05"
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000242 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
243 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100244 depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000245 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
246 select BR2_INSTALL_LIBSTDCPP
247 select BR2_HOSTARCH_NEEDS_IA32_LIBS
248 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
249 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100250 select BR2_TOOLCHAIN_HAS_FORTRAN
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000251 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000252 Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000253 architecture, from Imagination Technologies. It uses gcc
254 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
255 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000256 - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000257 Select 'MIPS (big endian)' Target Architecture
258 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000259 Disable 'Use soft-float'
260 - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
261 Select 'MIPS (big endian)' Target Architecture
262 Select 'mips 32r6' Target Architecture Variant
263 Enable 'Use soft-float'
264 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000265 Select 'MIPS (little endian)' Target Architecture
266 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000267 Disable 'Use soft-float'
268 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000269 Select 'MIPS (little endian)' Target Architecture
270 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000271 Enable 'Use soft-float'
272 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
273 Select 'MIPS (little endian)' Target Architecture
274 Select 'mips 32r6' Target Architecture Variant
275 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000276 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000277 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS
278 Select 'MIPS (little endian)' Target Architecture
279 Select 'mips 32r6' Target Architecture Variant
280 Enable 'Use soft-float'
281 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
282 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000283 Select 'MIPS64 (big endian)' Target Architecture
284 Select 'mips 64r6' Target Architecture Variant
285 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000286 Disable 'Use soft-float'
287 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000288 Select 'MIPS64 (little endian)' Target Architecture
289 Select 'mips 64r6' Target Architecture Variant
290 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000291 Disable 'Use soft-float'
292 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000293 Select 'MIPS64 (big endian)' Target Architecture
294 Select 'mips 64r6' Target Architecture Variant
295 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000296 Disable 'Use soft-float'
297 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000298 Select 'MIPS64 (little endian)' Target Architecture
299 Select 'mips 64r6' Target Architecture Variant
300 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000301 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000302
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000303config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100304 bool "Codescape MTI GNU Linux Toolchain 2016.05"
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000305 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
306 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera2373ce22016-09-30 10:36:53 +0100307 depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \
308 BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000309 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
310 select BR2_INSTALL_LIBSTDCPP
311 select BR2_HOSTARCH_NEEDS_IA32_LIBS
312 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
313 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100314 select BR2_TOOLCHAIN_HAS_FORTRAN
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000315 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000316 Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000317 architecture, from Imagination Technologies. It uses gcc
318 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
319 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000320 - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000321 Select 'MIPS (big endian)' Target Architecture
322 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000323 Disable 'Use soft-float'
324 - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000325 Select 'MIPS (big endian)' Target Architecture
326 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000327 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000328 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000329 - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
330 Select 'MIPS (big endian)' Target Architecture
331 Select 'mips 32r2' Target Architecture Variant
332 Enable 'Use soft-float'
333 - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000334 Select 'MIPS (little endian)' Target Architecture
335 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000336 Disable 'Use soft-float'
337 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000338 Select 'MIPS (little endian)' Target Architecture
339 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000340 Disable 'Use soft-float'
341 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
342 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
343 Select 'MIPS (little endian)' Target Architecture
344 Select 'mips 32r2' Target Architecture Variant
345 Enable 'Use soft-float'
346 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
347 Select 'MIPS (little endian)' Target Architecture
348 Select 'mips 32r2' Target Architecture Variant
349 Enable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000350 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000351 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS
352 Select 'MIPS (little endian)' Target Architecture
353 Select 'mips 32r2' Target Architecture Variant
354 Disable 'Use soft-float'
355 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
356 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000357 Select 'MIPS64 (big endian)' Target Architecture
358 Select 'mips 64r2' Target Architecture Variant
359 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000360 Disable 'Use soft-float'
361 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000362 Select 'MIPS64 (little endian)' Target Architecture
363 Select 'mips 64r2' Target Architecture Variant
364 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000365 Disable 'Use soft-float'
366 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000367 Select 'MIPS64 (big endian)' Target Architecture
368 Select 'mips 64r2' Target Architecture Variant
369 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000370 Disable 'Use soft-float'
371 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000372 Select 'MIPS64 (little endian)' Target Architecture
373 Select 'mips 64r2' Target Architecture Variant
374 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000375 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000376
Romain Naourc785b1b2015-11-21 17:36:16 +0100377config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour04c9d652016-05-19 00:23:30 +0200378 bool "Sourcery CodeBench Nios-II 2016.05"
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300379 depends on BR2_nios2
380 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100381 depends on !BR2_STATIC_LIBS
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300382 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000383 select BR2_TOOLCHAIN_HAS_SSP
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300384 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
385 select BR2_INSTALL_LIBSTDCPP
386 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour04c9d652016-05-19 00:23:30 +0200387 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naoure7e5a762015-11-21 17:36:17 +0100388 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Romain Naour5dce3c02016-02-20 13:42:46 +0100389 select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300390 help
391 Sourcery CodeBench toolchain for the Nios-II architecture,
Romain Naour04c9d652016-05-19 00:23:30 +0200392 from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51,
393 glibc 2.23, gdb 7.10.50 and kernel headers 4.4.
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300394
Romain Naour3e1ae892015-12-19 19:14:42 +0100395config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Thomas Petazzonie067a442012-11-04 07:34:21 +0000396 bool "Sourcery CodeBench SH 2012.09"
397 depends on BR2_sh4a || BR2_sh4aeb
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000398 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100399 depends on !BR2_STATIC_LIBS
Thomas Petazzonie067a442012-11-04 07:34:21 +0000400 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000401 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzonie067a442012-11-04 07:34:21 +0000402 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
403 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000404 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100405 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200406 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzonie067a442012-11-04 07:34:21 +0000407 help
408 Sourcery CodeBench toolchain for the SuperH architecture,
409 from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
410 glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
411 3.5.4. It has support for the following variants:
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100412 - SH4A, glibc, little endian
413 Default.
414 - SH4A, glibc, big endian
415 Add -mb to BR2_TARGET_OPTIMIZATION
416 - SH4A, uClibc, little endian
417 Not usable in Buildroot yet.
418 - SH4A, uClibc, big endian
419 Not usable in Buildroot yet.
Thomas Petazzonie067a442012-11-04 07:34:21 +0000420
Romain Naour23ba8182015-11-21 17:36:14 +0100421config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour09f1a3b2015-11-21 17:36:15 +0100422 bool "Sourcery CodeBench AMD64 2015.11"
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300423 depends on BR2_x86_64
424 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
425 depends on !BR2_STATIC_LIBS
426 depends on BR2_x86_jaguar || BR2_x86_steamroller
427 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000428 select BR2_TOOLCHAIN_HAS_SSP
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300429 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
430 select BR2_INSTALL_LIBSTDCPP
431 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour09f1a3b2015-11-21 17:36:15 +0100432 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
433 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300434 help
435 Sourcery CodeBench toolchain for the amd64 (x86_64)
Romain Naour09f1a3b2015-11-21 17:36:15 +0100436 architectures, from Mentor Graphics. It uses gcc 5.2,
437 binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
438 4.2. It has support for the following variants:
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300439 - AMD Puma/Jaguar (family 16h), glibc
440 Default for x86_64, nothing special to do.
441 - AMD Steamroller (family 15h), glibc
442 Select a steamroller core.
443 No other architecture variants are supported since glibc
444 is optimized for one of these two baselines.
445
Romain Naourf4da09e2015-12-19 19:14:43 +0100446config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000447 bool "Sourcery CodeBench x86/x86_64 2012.09"
448 depends on BR2_i386 || BR2_x86_64
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000449 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100450 depends on !BR2_STATIC_LIBS
Adrien Bérauda20cb382014-01-15 17:17:10 -0500451 depends on !BR2_x86_jaguar
Gustavo Zacarias50451992015-03-03 12:52:30 -0300452 depends on !BR2_x86_steamroller
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000453 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000454 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000455 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
456 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000457 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100458 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200459 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000460 help
461 Sourcery CodeBench toolchain for the x86/x86_64
462 architectures, from Mentor Graphics. It uses gcc 4.7.2,
463 binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
464 3.5.4. It has support for the following variants:
465 - Intel Pentium 4, glibc, 32 bits
466 Default for x86, nothing special to do.
467 - Intel Atom, glibc, 32 bits
468 Select an Atom core
469 - Intel Xeon, glibc, 64 bits
470 Default for x86_64, nothing special to do.
471 - Intel Core 2, glibc, 64 bits
472 Select a Core 2 core
473 Other architecture variants (beyond Pentium-4/Xeon) are
474 supported as well, but glibc is not optimised for it.
475
Romain Naour063593b2015-12-19 19:14:44 +0100476config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
Thomas Petazzoni1cfeed12014-07-09 23:20:22 +0200477 bool "Blackfin.uclinux.org 2014R1"
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200478 depends on BR2_bfin
479 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
480 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
481 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200482 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
483 select BR2_USE_WCHAR
484 select BR2_TOOLCHAIN_HAS_THREADS
485 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
486 select BR2_HOSTARCH_NEEDS_IA32_LIBS
487 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200488 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
Samuel Martin01756842016-07-03 15:47:48 +0200489 select BR2_TOOLCHAIN_HAS_FORTRAN
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200490 help
491 Toolchain for the Blackfin architecture, from
492 http://blackfin.uclinux.org.
493
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200494config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naoure7a682b2015-12-30 15:30:16 +0100495 bool "CodeSourcery AArch64 2014.11"
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200496 depends on BR2_aarch64
497 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100498 depends on !BR2_STATIC_LIBS
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200499 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000500 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200501 select BR2_INSTALL_LIBSTDCPP
502 select BR2_HOSTARCH_NEEDS_IA32_LIBS
503 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Romain Naoure7a682b2015-12-30 15:30:16 +0100504 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
505 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200506 help
507 Sourcery CodeBench toolchain for the AArch64 architecture,
Romain Naoure7a682b2015-12-30 15:30:16 +0100508 from Mentor Graphics. It uses gcc 4.9.1, binutils
509 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers
510 3.16.2.
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200511
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200512config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200513 bool "Musl 1.1.12 toolchain"
Thomas Petazzonie9f6ef82016-07-28 15:39:14 +0200514 depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \
515 (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4 && BR2_USE_MMU) || \
516 (BR2_armeb && BR2_ARM_EABI && !BR2_ARM_CPU_ARMV7A && BR2_USE_MMU) || \
517 BR2_i386 || (BR2_mips && !BR2_SOFT_FLOAT) || \
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100518 BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
519 BR2_sh4 || BR2_sh4eb || \
520 BR2_x86_64
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200521 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Rieraef3e7322016-09-30 10:36:54 +0100522 # Unsupported MIPS cores
Vicente Olivert Riera55a37ea2016-09-30 10:36:56 +0100523 depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && !BR2_mips_m5101
Vicente Olivert Riera99122d62015-10-12 11:08:06 +0100524 # Unsupported for MIPS R6
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100525 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200526 select BR2_TOOLCHAIN_EXTERNAL_MUSL
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000527 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200528 select BR2_INSTALL_LIBSTDCPP
529 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzoni5c852662014-06-01 12:47:45 +0200530 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100531 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200532 help
533 Toolchain based on the Musl C library, provided by the
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100534 musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
535 musl 1.1.12. It does not have a cross debugger included.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200536
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200537 The ARM soft-float toolchain is built for ARMv4t, while the
538 ARM hard-float toolchain is built for ARMv5t.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200539 The x86 toolchain is built for i486.
540
541 http://musl.codu.org/
542
Romain Naourd02fa922015-12-19 19:14:45 +0100543config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300544 bool "Synopsys ARC 2014.12 toolchain"
545 depends on BR2_arc
546 depends on BR2_HOSTARCH = "x86_64"
Thomas Petazzonicd3c00f2015-05-01 11:13:54 +0200547 # does not provide IPv6, and lacks many uClibc features
548 # expected by Buildroot. The next Synopsys toolchain version
549 # should fix those problems.
550 depends on BROKEN
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300551 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
552 select BR2_INSTALL_LIBSTDCPP
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300553 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
554 select BR2_ENABLE_LOCALE
555 select BR2_USE_WCHAR
556 select BR2_TOOLCHAIN_HAS_THREADS
557 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
558 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200559 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300560 help
561 Toolchain for the ARC cores, from
562 https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
563
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100564config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleire5022fa82012-06-22 07:42:37 +0200565 bool "Custom toolchain"
566 help
567 Use this option to use a custom toolchain pre-installed on
568 your system.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100569
570endchoice
571
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200572choice
573 prompt "Toolchain origin"
Thomas Petazzoni70194072012-07-22 20:57:26 +0200574 # Keep compatibility with old defconfig files that are using
575 # custom toolchains, and which are therefore assuming that
576 # "preinstalled" in the default choice.
577 default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200578
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100579config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200580 bool "Toolchain to be downloaded and installed"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100581 help
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200582 Select this option if you want Buildroot to download and install the
583 toolchain. If you have selected a custom toolchain, specify the URL
584 in BR2_TOOLCHAIN_EXTERNAL_URL.
585
586config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
587 bool "Pre-installed toolchain"
588 help
589 Select this option if you want to use a pre-installed toolchain.
590 Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
591
592endchoice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100593
594config BR2_TOOLCHAIN_EXTERNAL_PATH
595 string "Toolchain path"
596 default "/path/to/toolchain/usr"
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200597 depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100598 help
599 Path to where the external toolchain is installed.
600
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200601config BR2_TOOLCHAIN_EXTERNAL_URL
602 string "Toolchain URL"
603 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
604 help
605 URL of the custom toolchain tarball to download and install.
606
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100607config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
608 string "Toolchain prefix"
609 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
610 default "$(ARCH)-linux"
611
612config BR2_TOOLCHAIN_EXTERNAL_PREFIX
613 string
Romain Naourd02fa922015-12-19 19:14:45 +0100614 default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
615 default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
Thomas Petazzonibe2abf22014-06-01 12:47:40 +0200616 default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Thomas Petazzonicd32da82014-03-05 23:23:40 +0100617 default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Romain Naoureb713cf2015-12-19 19:14:40 +0100618 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Romain Naour18206242015-12-19 19:14:46 +0100619 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
620 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Romain Naoure7a682b2015-12-30 15:30:16 +0100621 default "aarch64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naourd9306ad2015-11-21 17:36:19 +0100622 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naourc785b1b2015-11-21 17:36:16 +0100623 default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour3e1ae892015-12-19 19:14:42 +0100624 default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Romain Naourf4da09e2015-12-19 19:14:43 +0100625 default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Romain Naour23ba8182015-11-21 17:36:14 +0100626 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour063593b2015-12-19 19:14:44 +0100627 default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
628 default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200629 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
630 default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000631 default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000632 default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200633 default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
634 default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200635 default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200636 default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
637 default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
638 default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100639 default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
640 default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200641 default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
Thomas De Schampheleirefbc24942013-09-02 22:07:53 +0200642 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100643 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200644
645config BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100646 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200647 select BR2_TOOLCHAIN_USES_GLIBC
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200648
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100649config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
650 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200651 select BR2_TOOLCHAIN_USES_UCLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100652
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200653config BR2_TOOLCHAIN_EXTERNAL_MUSL
654 bool
655 select BR2_TOOLCHAIN_USES_MUSL
Yann E. MORINe31eb722016-08-18 23:50:13 +0200656 # Compatibility headers: cdefs.h, queue.h
657 select BR2_PACKAGE_MUSL_COMPAT_HEADERS
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200658
Arnout Vandecappelle1c99d702016-11-07 02:19:59 +0100659# Make sure the virtual-package infra checks the provider
660config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL
661 bool
662 default y
663
664config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
665 string
666
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +0100667# Kept toolchains sorted as in the choice above
668# The toolchain Config.in.options must define
669# BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX
670
671# Aarch64
672source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
673
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100674if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
675
676choice
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200677 bool "External toolchain gcc version"
678 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
679 help
680 Set to the gcc version that is used by your external
681 toolchain.
682
Jörg Krause8f972c22016-05-01 09:29:35 +0200683config BR2_TOOLCHAIN_EXTERNAL_GCC_6
684 bool "6.x"
685 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
686
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200687config BR2_TOOLCHAIN_EXTERNAL_GCC_5
688 bool "5.x"
689 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
690
691config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
692 bool "4.9.x"
693 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
694
695config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
696 bool "4.8.x"
697 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
698
699config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
700 bool "4.7.x"
701 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
702
703config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
704 bool "4.6.x"
705 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
706
707config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
708 bool "4.5.x"
709 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
710
711config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
712 bool "4.4.x"
713 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
714
715config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
716 bool "4.3.x"
717 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
718
719endchoice
720
721choice
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100722 bool "External toolchain kernel headers series"
723 default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
724 help
725 Set to the kernel headers version that were used to build
726 this external toolchain.
727
728 This is used to hide/show some packages that have strict
729 requirements on the version of kernel headers.
730
731 If unsure what version your toolchain is using, you can look
732 at the value of LINUX_VERSION_CODE in linux/version.h in your
733 toolchain. The Linux version is M.m.p, with:
734 M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
735 m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
736 p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
737
Fabio Estevamd3ac2bc2016-09-12 13:15:54 -0300738config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
739 bool "4.8.x"
740 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
741
Fabio Estevame36bf632016-07-24 20:56:09 -0300742config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
743 bool "4.7.x"
744 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
745
Gustavo Zacarias51800d22016-05-16 08:58:12 -0300746config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
747 bool "4.6.x"
748 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
749
Gustavo Zacarias3ece3fa2016-03-14 07:14:10 -0300750config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
751 bool "4.5.x"
752 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
753
Gustavo Zacariasdf2ad612016-01-11 07:52:36 -0300754config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
755 bool "4.4.x"
756 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
757
Vicente Olivert Rieraaef2df82015-11-02 15:56:51 +0100758config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
759 bool "4.3.x"
760 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
761
Peter Korsgaard8dc68292015-09-01 10:05:20 +0200762config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
763 bool "4.2.x"
764 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
765
Gustavo Zacariasdae7d8a2015-06-22 10:11:03 -0300766config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
767 bool "4.1.x"
768 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
769
Gustavo Zacariase714ee92015-04-13 10:00:23 -0300770config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
771 bool "4.0.x"
772 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
773
Peter Korsgaard81366ed2015-02-09 13:31:23 +0100774config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
775 bool "3.19.x"
776 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
777
Gustavo Zacariasbf6f74d2014-12-08 08:10:39 -0300778config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
779 bool "3.18.x"
780 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
781
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300782config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
783 bool "3.17.x"
Karoly Kaszab8f9e572014-10-09 12:59:01 +0200784 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300785
Gustavo Zacarias911516f2014-08-03 23:29:22 -0300786config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
787 bool "3.16.x"
788 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
789
Gustavo Zacariasfb29afe2014-06-09 08:30:33 -0300790config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
791 bool "3.15.x"
792 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
793
Samuel Martin11547ca2014-04-06 18:27:49 +0200794config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
795 bool "3.14.x"
796 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
797
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100798config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
799 bool "3.13.x"
800 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
801
802config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
803 bool "3.12.x"
804 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
805
806config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
807 bool "3.11.x"
808 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
809
810config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
811 bool "3.10.x"
812 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
813
814config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
815 bool "3.9.x"
816 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
817
818config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
819 bool "3.8.x"
820 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
821
822config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
823 bool "3.7.x"
824 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
825
826config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
827 bool "3.6.x"
828 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
829
830config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
831 bool "3.5.x"
832 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
833
834config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
835 bool "3.4.x"
836 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
837
838config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
839 bool "3.3.x"
840 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
841
842config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
843 bool "3.2.x"
844 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
845
846config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
847 bool "3.1.x"
848 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
849
850config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
851 bool "3.0.x"
852 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
853
854config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
855 bool "2.6.x"
856
857endchoice
858
859choice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100860 prompt "External toolchain C library"
861 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
862
863config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Waldemar Brodkorb9f4483f2016-10-15 10:13:58 +0200864 bool "uClibc/uClibc-ng"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100865 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
Thomas Petazzonib9882922011-05-30 23:56:57 +0200866 # For the time being, we assume that all custom external
867 # toolchains have shadow password support.
868 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200869 help
870 Select this option if your external toolchain uses the
Waldemar Brodkorb9f4483f2016-10-15 10:13:58 +0200871 uClibc (available from http://www.uclibc.org/)
872 or uClibc-ng (available from http://www.uclibc-ng.org)
873 C library.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100874
875config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000876 bool "glibc/eglibc"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100877 depends on !BR2_STATIC_LIBS
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100878 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000879 help
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200880 Select this option if your external toolchain uses the GNU C
881 library (available from https://www.gnu.org/software/libc/)
882 or its variant the eglibc library (http://www.eglibc.org/).
883
884 Note: eglibc is a variant of glibc that (among other things)
885 can be configured to exclude some of its features. Using a
886 toolchain with eglibc configured to exclude key features may
887 cause build failures to some packages.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100888
Thomas Petazzoni416fd9c2016-06-08 23:40:54 +0200889comment "glibc only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100890 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +0100891
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200892config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200893 bool "musl"
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200894 select BR2_TOOLCHAIN_EXTERNAL_MUSL
895 help
896 Select this option if your external toolchain uses the
897 'musl' C library, available from http://www.musl-libc.org/.
898
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200899endchoice
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +0000900
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100901if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Thomas Petazzonifff71172010-12-13 17:27:37 +0100902
Thomas Petazzonifff71172010-12-13 17:27:37 +0100903config BR2_TOOLCHAIN_EXTERNAL_WCHAR
904 bool "Toolchain has WCHAR support?"
905 select BR2_USE_WCHAR
906 help
907 Select this option if your external toolchain supports
908 WCHAR. If you don't know, leave the default value, Buildroot
909 will tell you if it's correct or not.
910
911config BR2_TOOLCHAIN_EXTERNAL_LOCALE
912 bool "Toolchain has locale support?"
913 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
914 select BR2_ENABLE_LOCALE
915 help
916 Select this option if your external toolchain has locale
917 support. If you don't know, leave the default value,
918 Buildroot will tell you if it's correct or not.
919
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100920config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
921 bool "Toolchain has threads support?"
922 select BR2_TOOLCHAIN_HAS_THREADS
Peter Korsgaard04d06892011-07-26 15:28:19 +0200923 default y
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100924 help
925 Select this option if your external toolchain has thread
926 support. If you don't know, leave the default value,
927 Buildroot will tell you if it's correct or not.
928
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100929if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
930
Peter Korsgaard5931db02011-11-24 14:26:52 +0100931config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
932 bool "Toolchain has threads debugging support?"
Peter Korsgaard5931db02011-11-24 14:26:52 +0100933 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
934 default y
935 help
936 Select this option if your external toolchain has thread
937 debugging support. If you don't know, leave the default
938 value, Buildroot will tell you if it's correct or not.
939
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100940config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
941 bool "Toolchain has NPTL threads support?"
942 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
943 default y
944 help
945 Select this option if your external toolchain uses the NPTL
946 (Native Posix Thread Library) implementation of Posix
947 threads. If you don't know, leave the default value,
948 Buildroot will tell you if it's correct or not.
949
950endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
951
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000952endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
953
Thomas Petazzonic5866be2013-09-02 18:06:36 +0200954config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
955 bool "Toolchain has SSP support?"
956 select BR2_TOOLCHAIN_HAS_SSP
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000957 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
958 default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzonic5866be2013-09-02 18:06:36 +0200959 help
960 Selection this option if your external toolchain has Stack
961 Smashing Protection support enabled. If you don't know,
962 leave the default value, Buildroot will tell you if it's
963 correct or not.
964
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100965config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
966 bool "Toolchain has RPC support?"
967 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200968 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzoni3a843a32012-11-04 07:34:29 +0000969 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100970 help
971 Select this option if your external toolchain supports
972 RPC. If you don't know, leave the default value, Buildroot
973 will tell you if it's correct or not.
974
Thomas Petazzoni6b578c82010-12-13 17:27:41 +0100975config BR2_TOOLCHAIN_EXTERNAL_CXX
976 bool "Toolchain has C++ support?"
977 select BR2_INSTALL_LIBSTDCPP
978 help
979 Select this option if your external toolchain has C++
980 support. If you don't know, leave the default value,
981 Buildroot will tell you if it's correct or not.
982
Samuel Martina6504382016-07-03 15:47:47 +0200983config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
984 bool "Toolchain has Fortran support?"
985 select BR2_TOOLCHAIN_HAS_FORTRAN
986 help
987 Select this option if your external toolchain has Fortran
988 support. If you don't know, leave the default value,
989 Buildroot will tell you if it's correct or not.
990
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +0200991config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
992 string "Extra toolchain libraries to be copied to target"
993 help
994 If your external toolchain provides extra libraries that
995 need to be copied to the target filesystem, enter them
Thomas De Schampheleire919b4f92016-02-12 20:20:26 +0100996 here, separated by spaces.
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +0200997
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100998endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzonifff71172010-12-13 17:27:37 +0100999
Thomas Petazzonia0b6faa2013-04-07 00:04:33 +00001000config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
1001 bool "Copy gdb server to the Target"
1002 depends on BR2_TOOLCHAIN_EXTERNAL
1003 help
1004 Copy the gdbserver provided by the external toolchain to the
1005 target.
1006
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001007# When the FDPIC shared binary format is used, the corresponding libraries are
1008# always installed. When a different binary format is used, we offer the option
1009# of installing the FDPIC shared libraries.
1010config BR2_BFIN_INSTALL_FDPIC_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +01001011 bool "Install FDPIC shared libraries"
1012 depends on BR2_bfin && !BR2_BINFMT_FDPIC
1013 help
1014 The Linux kernel supports running both FDPIC and FLAT applications
1015 concurrently if the binary format specific libraries are installed
1016 properly. This option allows developer to install FDPIC libraries
1017 into a buildroot rootfs image built with binary format that is not
1018 FDPIC.
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001019
1020# When the FLAT shared binary format is used, we force the installation
1021# of the corresponding libraries. When a different binary format is
1022# used, we offer the option of installing the FLAT shared libraries.
1023config BR2_BFIN_INSTALL_FLAT_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +01001024 bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
1025 depends on BR2_bfin
1026 default y if BR2_BINFMT_FLAT_SHARED
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 FLAT libraries
1031 into a buildroot rootfs image built with binary format that is not
1032 shared FLAT.
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001033
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01001034endif # BR2_TOOLCHAIN_EXTERNAL