blob: eb01cf387fcd1d8ad08945432681ad5d58198073 [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 Petazzoni416fd9c2016-06-08 23:40:54 +02006comment "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 +010014config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Romain Naour227553b2016-09-24 11:37:51 +020015 bool "Linaro ARM 2016.05"
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010016 depends on BR2_arm
17 depends on BR2_ARM_CPU_ARMV7A
Romain Naour3411db02016-10-11 23:04:57 +020018 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010019 depends on BR2_ARM_EABIHF
20 depends on !BR2_STATIC_LIBS
21 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000022 select BR2_TOOLCHAIN_HAS_SSP
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010023 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
24 select BR2_INSTALL_LIBSTDCPP
25 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
26 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Samuel Martin01756842016-07-03 15:47:48 +020027 select BR2_TOOLCHAIN_HAS_FORTRAN
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010028 help
29 Linaro toolchain for the ARM architecture. It uses Linaro
Romain Naour227553b2016-09-24 11:37:51 +020030 GCC 2016.05 (based on gcc 5.3.1), Linaro GDB 2016.05 (based on
31 GDB 7.11.1), glibc 2.21, Binutils 2016.05 (based on 2.25). It
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010032 generates code that runs on all Cortex-A profile devices,
33 but tuned for the Cortex-A9. The code generated is Thumb 2,
34 with the hard floating point calling convention, and uses
35 the VFPv3-D16 FPU instructions.
36
Yann E. MORIN997ef602015-10-27 00:49:40 +010037config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Romain Naour93e82b62016-09-24 11:37:52 +020038 bool "Linaro armeb 2016.05"
Yann E. MORIN997ef602015-10-27 00:49:40 +010039 depends on BR2_armeb
40 depends on BR2_ARM_CPU_ARMV7A
Romain Naour9c9ddc42016-10-11 23:04:58 +020041 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Yann E. MORIN997ef602015-10-27 00:49:40 +010042 depends on BR2_ARM_EABIHF
43 depends on !BR2_STATIC_LIBS
44 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000045 select BR2_TOOLCHAIN_HAS_SSP
Yann E. MORIN997ef602015-10-27 00:49:40 +010046 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
47 select BR2_INSTALL_LIBSTDCPP
48 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
49 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
50 help
51 Linaro toolchain for the ARM big endian architecture. It
Romain Naour93e82b62016-09-24 11:37:52 +020052 uses Linaro GCC 2016.05 (based on gcc 5.3.1), Linaro GDB
53 2016.05 (based on GDB 7.11.1), glibc 2.21, Binutils 2016.05
Yann E. MORIN997ef602015-10-27 00:49:40 +010054 (based on 2.25). It generates code that runs on all Cortex-A
55 profile devices, but tuned for the Cortex-A9. The code
56 generated is Thumb 2, with the hard floating point calling
57 convention, and uses the VFPv3-D16 FPU instructions.
58
Romain Naoureb713cf2015-12-19 19:14:40 +010059config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Thomas Petazzoni93f3c042014-09-15 23:49:35 +020060 bool "Sourcery CodeBench ARM 2014.05"
61 depends on BR2_arm
62 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
63 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010064 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93f3c042014-09-15 23:49:35 +020065 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000066 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni93f3c042014-09-15 23:49:35 +020067 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
68 select BR2_INSTALL_LIBSTDCPP
69 select BR2_HOSTARCH_NEEDS_IA32_LIBS
70 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +020071 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Thomas Petazzoni93f3c042014-09-15 23:49:35 +020072 help
73 Sourcery CodeBench toolchain for the ARM architecture, from
74 Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
75 2.18 and gdb 7.7.50, kernel headers 3.13. It has support
76 for the following variants:
77 - ARMv5TE, little endian, soft-float, glibc
78 Select ARM926T, ARM10T, XScale or another ARMv5 core
79 Select BR2_SOFT_FLOAT
80 - ARMv4T, little endian, soft-float, glibc
81 Select ARM720T, ARM920T, ARM922T or another ARMv4 core
82 Select BR2_SOFT_FLOAT
83 - ARMv7-A, Thumb 2, little endian, soft-float, glibc
84 Select Cortex-A8, Cortex-A9 or another ARMv7-A core
85 Select BR2_SOFT_FLOAT
86 Set BR2_TARGET_OPTIMIZATION to -mthumb
87
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020088comment "Sourcery CodeBench toolchains available for the EABI ABI"
89 depends on BR2_arm
90 depends on !BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010091 depends on !BR2_STATIC_LIBS
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020092
Romain Naour18206242015-12-19 19:14:46 +010093config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020094 bool "Arago ARMv7 2011.09"
95 depends on BR2_arm
96 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +020097 depends on BR2_ARM_CPU_ARMV7A
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020098 depends on BR2_ARM_EABI
Yann E. MORIN08ce1092015-12-26 17:05:45 +010099 depends on BR2_ARM_CPU_HAS_VFPV3
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100100 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200101 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000102 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200103 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
104 select BR2_INSTALL_LIBSTDCPP
105 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200106 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100107 # kernel headers: 2.6.31
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200108 help
109 Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
110 binutils 2.20.1, glibc 2.12, gdb 7.2.
111
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200112 This toolchain uses -mfloat-abi=softfp (i.e can use FPU
113 instructions, but passes floating point function arguments
114 in integer registers), and requires a VFPv3 floating point
115 unit to work properly. This unit is available on most
116 Cortex-A ARM processors, but not all.
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200117
Romain Naour18206242015-12-19 19:14:46 +0100118config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200119 bool "Arago ARMv5 2011.09"
120 depends on BR2_arm
121 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +0200122 depends on !BR2_ARM_CPU_ARMV4
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200123 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100124 depends on !BR2_STATIC_LIBS
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200125 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000126 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200127 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
128 select BR2_INSTALL_LIBSTDCPP
129 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200130 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100131 # kernel headers: 2.6.31
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200132 help
133 Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
134 4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
135
136 This toolchain uses software-floating point.
137
Romain Naourd9306ad2015-11-21 17:36:19 +0100138config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naour230cfce2016-04-30 23:10:25 +0200139 bool "Sourcery CodeBench MIPS 2016.05"
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100140 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100141 depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
Vicente Olivert Rieraef3e7322016-09-30 10:36:54 +0100142 # Unsupported MIPS cores
143 depends on !BR2_mips_interaptiv
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100144 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
145 depends on !BR2_MIPS_NABI32
146 depends on !BR2_STATIC_LIBS
147 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000148 select BR2_TOOLCHAIN_HAS_SSP
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100149 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
150 select BR2_INSTALL_LIBSTDCPP
151 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour230cfce2016-04-30 23:10:25 +0200152 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naour6278da12015-11-21 17:36:20 +0100153 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100154 help
155 Sourcery CodeBench toolchain for the MIPS architecture, from
Romain Naour230cfce2016-04-30 23:10:25 +0200156 Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
157 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 +0100158 has support for the following variants:
159 - MIPS32r2 - Big-Endian, 2008 NaN, O32
160 Select MIPS (big endian) core
161 Disable BR2_SOFT_FLOAT
162 Set BR2_TARGET_OPTIMIZATION to -mnan=2008
163 - MIPS32r2 - Big-Endian, O32
164 Select MIPS (big endian) core
165 Disable BR2_SOFT_FLOAT
166 - MIPS32r2 - Big-Endian, O32, MIPS16
167 Select MIPS (big endian) core
168 Disable BR2_SOFT_FLOAT
169 Set BR2_TARGET_OPTIMIZATION to -mips16
170 - MIPS32r2 - Big-Endian, Soft-Float, O32
171 Select MIPS (big endian) core
172 Select BR2_SOFT_FLOAT
173 - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
174 Select MIPS (big endian) core
175 Select BR2_SOFT_FLOAT
176 Set BR2_TARGET_OPTIMIZATION to -mips16
177 - MIPS32r2 - Little-Endian, 2008 NaN, O32
178 Select MIPS (little endian) core
179 Disable BR2_SOFT_FLOAT
180 Set BR2_TARGET_OPTIMIZATION to -mnan=2008
181 - MIPS32r2 - Little-Endian, O32
182 Select MIPS (little endian) core
183 Disable BR2_SOFT_FLOAT
184 - MIPS32r2 - Little-Endian, O32, MIPS16
185 Select MIPS (little endian) core
186 Disable BR2_SOFT_FLOAT
187 Set BR2_TARGET_OPTIMIZATION to -mips16
188 - MIPS32r2 - Little-Endian, Soft-Float, O32
189 Select MIPS (little endian) core
190 Select BR2_SOFT_FLOAT
191 - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
192 Select MIPS (little endian) core
193 Select BR2_SOFT_FLOAT
194 Set BR2_TARGET_OPTIMIZATION to -mips16
195 - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
196 Select MIPS (little endian) core
197 Select BR2_SOFT_FLOAT
198 Set BR2_TARGET_OPTIMIZATION to -mmicromips
199 - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
200 Not usable in Buildroot yet.
201 - MIPS32r2 - uClibc, Big-Endian, O32
202 Not usable in Buildroot yet.
203 - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
204 Not usable in Buildroot yet.
205 - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
206 Not usable in Buildroot yet.
207 - MIPS32r2 - uClibc, Little-Endian, O32
208 Not usable in Buildroot yet.
209 - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
210 Not usable in Buildroot yet.
211 - MIPS64r2 - Big-Endian, N64
212 Select MIPS64 (big endian) core
213 Select the n64 ABI
214 Disable BR2_SOFT_FLOAT
215 - MIPS64r2 - Big-Endian, Soft-Float, N64
216 Select MIPS64 (big endian) core
217 Select the n64 ABI
218 Select BR2_SOFT_FLOAT
219 - MIPS64r2 - Little-Endian, N64
220 Select MIPS64 (little endian) core
221 Select the n64 ABI
222 Disable BR2_SOFT_FLOAT
223 - MIPS64r2 - Little-Endian, Soft-Float, N64
224 Select MIPS64 (little endian) core
225 Select the n64 ABI
226 Select BR2_SOFT_FLOAT
227
Markos Chandras6f70ba32013-08-13 09:45:44 +0100228comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
229 depends on BR2_MIPS_NABI32
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100230 depends on !BR2_STATIC_LIBS
Markos Chandras6f70ba32013-08-13 09:45:44 +0100231
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000232config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100233 bool "Codescape IMG GNU Linux Toolchain 2016.05"
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000234 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
235 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100236 depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000237 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
238 select BR2_INSTALL_LIBSTDCPP
239 select BR2_HOSTARCH_NEEDS_IA32_LIBS
240 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
241 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100242 select BR2_TOOLCHAIN_HAS_FORTRAN
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000243 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000244 Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000245 architecture, from Imagination Technologies. It uses gcc
246 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
247 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000248 - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000249 Select 'MIPS (big endian)' Target Architecture
250 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000251 Disable 'Use soft-float'
252 - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
253 Select 'MIPS (big endian)' Target Architecture
254 Select 'mips 32r6' Target Architecture Variant
255 Enable 'Use soft-float'
256 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000257 Select 'MIPS (little 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 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000261 Select 'MIPS (little endian)' Target Architecture
262 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000263 Enable 'Use soft-float'
264 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
265 Select 'MIPS (little endian)' Target Architecture
266 Select 'mips 32r6' Target Architecture Variant
267 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000268 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000269 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS
270 Select 'MIPS (little endian)' Target Architecture
271 Select 'mips 32r6' Target Architecture Variant
272 Enable 'Use soft-float'
273 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
274 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000275 Select 'MIPS64 (big endian)' Target Architecture
276 Select 'mips 64r6' Target Architecture Variant
277 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000278 Disable 'Use soft-float'
279 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000280 Select 'MIPS64 (little endian)' Target Architecture
281 Select 'mips 64r6' Target Architecture Variant
282 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000283 Disable 'Use soft-float'
284 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000285 Select 'MIPS64 (big endian)' Target Architecture
286 Select 'mips 64r6' Target Architecture Variant
287 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000288 Disable 'Use soft-float'
289 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000290 Select 'MIPS64 (little endian)' Target Architecture
291 Select 'mips 64r6' Target Architecture Variant
292 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000293 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000294
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000295config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100296 bool "Codescape MTI GNU Linux Toolchain 2016.05"
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000297 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
298 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera2373ce22016-09-30 10:36:53 +0100299 depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \
300 BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000301 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
302 select BR2_INSTALL_LIBSTDCPP
303 select BR2_HOSTARCH_NEEDS_IA32_LIBS
304 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
305 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100306 select BR2_TOOLCHAIN_HAS_FORTRAN
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000307 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000308 Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000309 architecture, from Imagination Technologies. It uses gcc
310 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
311 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000312 - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000313 Select 'MIPS (big endian)' Target Architecture
314 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000315 Disable 'Use soft-float'
316 - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000317 Select 'MIPS (big endian)' Target Architecture
318 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000319 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000320 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000321 - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
322 Select 'MIPS (big endian)' Target Architecture
323 Select 'mips 32r2' Target Architecture Variant
324 Enable 'Use soft-float'
325 - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000326 Select 'MIPS (little endian)' Target Architecture
327 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000328 Disable 'Use soft-float'
329 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000330 Select 'MIPS (little endian)' Target Architecture
331 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000332 Disable 'Use soft-float'
333 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
334 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
335 Select 'MIPS (little endian)' Target Architecture
336 Select 'mips 32r2' Target Architecture Variant
337 Enable 'Use soft-float'
338 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
339 Select 'MIPS (little endian)' Target Architecture
340 Select 'mips 32r2' Target Architecture Variant
341 Enable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000342 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000343 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS
344 Select 'MIPS (little endian)' Target Architecture
345 Select 'mips 32r2' Target Architecture Variant
346 Disable 'Use soft-float'
347 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
348 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000349 Select 'MIPS64 (big endian)' Target Architecture
350 Select 'mips 64r2' Target Architecture Variant
351 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000352 Disable 'Use soft-float'
353 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000354 Select 'MIPS64 (little endian)' Target Architecture
355 Select 'mips 64r2' Target Architecture Variant
356 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000357 Disable 'Use soft-float'
358 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000359 Select 'MIPS64 (big endian)' Target Architecture
360 Select 'mips 64r2' Target Architecture Variant
361 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000362 Disable 'Use soft-float'
363 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000364 Select 'MIPS64 (little endian)' Target Architecture
365 Select 'mips 64r2' Target Architecture Variant
366 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000367 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000368
Romain Naourc785b1b2015-11-21 17:36:16 +0100369config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour04c9d652016-05-19 00:23:30 +0200370 bool "Sourcery CodeBench Nios-II 2016.05"
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300371 depends on BR2_nios2
372 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100373 depends on !BR2_STATIC_LIBS
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300374 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000375 select BR2_TOOLCHAIN_HAS_SSP
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300376 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
377 select BR2_INSTALL_LIBSTDCPP
378 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour04c9d652016-05-19 00:23:30 +0200379 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naoure7e5a762015-11-21 17:36:17 +0100380 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Romain Naour5dce3c02016-02-20 13:42:46 +0100381 select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300382 help
383 Sourcery CodeBench toolchain for the Nios-II architecture,
Romain Naour04c9d652016-05-19 00:23:30 +0200384 from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51,
385 glibc 2.23, gdb 7.10.50 and kernel headers 4.4.
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300386
Romain Naour3e1ae892015-12-19 19:14:42 +0100387config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Thomas Petazzonie067a442012-11-04 07:34:21 +0000388 bool "Sourcery CodeBench SH 2012.09"
389 depends on BR2_sh4a || BR2_sh4aeb
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000390 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100391 depends on !BR2_STATIC_LIBS
Thomas Petazzonie067a442012-11-04 07:34:21 +0000392 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000393 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzonie067a442012-11-04 07:34:21 +0000394 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
395 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000396 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100397 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200398 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzonie067a442012-11-04 07:34:21 +0000399 help
400 Sourcery CodeBench toolchain for the SuperH architecture,
401 from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
402 glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
403 3.5.4. It has support for the following variants:
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100404 - SH4A, glibc, little endian
405 Default.
406 - SH4A, glibc, big endian
407 Add -mb to BR2_TARGET_OPTIMIZATION
408 - SH4A, uClibc, little endian
409 Not usable in Buildroot yet.
410 - SH4A, uClibc, big endian
411 Not usable in Buildroot yet.
Thomas Petazzonie067a442012-11-04 07:34:21 +0000412
Romain Naour23ba8182015-11-21 17:36:14 +0100413config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour09f1a3b2015-11-21 17:36:15 +0100414 bool "Sourcery CodeBench AMD64 2015.11"
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300415 depends on BR2_x86_64
416 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
417 depends on !BR2_STATIC_LIBS
418 depends on BR2_x86_jaguar || BR2_x86_steamroller
419 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000420 select BR2_TOOLCHAIN_HAS_SSP
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300421 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
422 select BR2_INSTALL_LIBSTDCPP
423 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour09f1a3b2015-11-21 17:36:15 +0100424 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
425 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300426 help
427 Sourcery CodeBench toolchain for the amd64 (x86_64)
Romain Naour09f1a3b2015-11-21 17:36:15 +0100428 architectures, from Mentor Graphics. It uses gcc 5.2,
429 binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
430 4.2. It has support for the following variants:
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300431 - AMD Puma/Jaguar (family 16h), glibc
432 Default for x86_64, nothing special to do.
433 - AMD Steamroller (family 15h), glibc
434 Select a steamroller core.
435 No other architecture variants are supported since glibc
436 is optimized for one of these two baselines.
437
Romain Naourf4da09e2015-12-19 19:14:43 +0100438config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000439 bool "Sourcery CodeBench x86/x86_64 2012.09"
440 depends on BR2_i386 || BR2_x86_64
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000441 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100442 depends on !BR2_STATIC_LIBS
Adrien Bérauda20cb382014-01-15 17:17:10 -0500443 depends on !BR2_x86_jaguar
Gustavo Zacarias50451992015-03-03 12:52:30 -0300444 depends on !BR2_x86_steamroller
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000445 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000446 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000447 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
448 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000449 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100450 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200451 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000452 help
453 Sourcery CodeBench toolchain for the x86/x86_64
454 architectures, from Mentor Graphics. It uses gcc 4.7.2,
455 binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
456 3.5.4. It has support for the following variants:
457 - Intel Pentium 4, glibc, 32 bits
458 Default for x86, nothing special to do.
459 - Intel Atom, glibc, 32 bits
460 Select an Atom core
461 - Intel Xeon, glibc, 64 bits
462 Default for x86_64, nothing special to do.
463 - Intel Core 2, glibc, 64 bits
464 Select a Core 2 core
465 Other architecture variants (beyond Pentium-4/Xeon) are
466 supported as well, but glibc is not optimised for it.
467
Romain Naour063593b2015-12-19 19:14:44 +0100468config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
Thomas Petazzoni1cfeed12014-07-09 23:20:22 +0200469 bool "Blackfin.uclinux.org 2014R1"
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200470 depends on BR2_bfin
471 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
472 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
473 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200474 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
475 select BR2_USE_WCHAR
476 select BR2_TOOLCHAIN_HAS_THREADS
477 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
478 select BR2_HOSTARCH_NEEDS_IA32_LIBS
479 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200480 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
Samuel Martin01756842016-07-03 15:47:48 +0200481 select BR2_TOOLCHAIN_HAS_FORTRAN
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200482 help
483 Toolchain for the Blackfin architecture, from
484 http://blackfin.uclinux.org.
485
Peter Korsgaardc0c3d7d2016-02-21 22:19:54 +0100486# See note about Linaro ARM/ARMEB toolchains, above.
Thomas Petazzonid51025d2014-06-01 12:47:41 +0200487config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +0100488 bool "Linaro AArch64 14.09"
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100489 depends on BR2_aarch64
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100490 depends on BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100491 depends on !BR2_STATIC_LIBS
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100492 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000493 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100494 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100495 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100496 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200497 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Samuel Martin01756842016-07-03 15:47:48 +0200498 select BR2_TOOLCHAIN_HAS_FORTRAN
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100499 help
500 Toolchain for the AArch64 architecture, from
501 http://www.linaro.org/engineering/armv8/
502
Peter Korsgaardc0c3d7d2016-02-21 22:19:54 +0100503# See note about Linaro ARM/ARMEB toolchains, above.
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100504config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Romain Naour62658cf2016-09-24 11:37:53 +0200505 bool "Linaro AArch64 2016.05"
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100506 depends on BR2_aarch64
507 depends on BR2_HOSTARCH = "x86_64"
508 depends on !BR2_STATIC_LIBS
509 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000510 select BR2_TOOLCHAIN_HAS_SSP
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100511 select BR2_INSTALL_LIBSTDCPP
512 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
513 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
514 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Samuel Martin01756842016-07-03 15:47:48 +0200515 select BR2_TOOLCHAIN_HAS_FORTRAN
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100516 help
517 Toolchain for the AArch64 architecture, from
518 http://www.linaro.org/engineering/armv8/
519
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200520config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naoure7a682b2015-12-30 15:30:16 +0100521 bool "CodeSourcery AArch64 2014.11"
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200522 depends on BR2_aarch64
523 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100524 depends on !BR2_STATIC_LIBS
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200525 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000526 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200527 select BR2_INSTALL_LIBSTDCPP
528 select BR2_HOSTARCH_NEEDS_IA32_LIBS
529 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Romain Naoure7a682b2015-12-30 15:30:16 +0100530 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
531 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200532 help
533 Sourcery CodeBench toolchain for the AArch64 architecture,
Romain Naoure7a682b2015-12-30 15:30:16 +0100534 from Mentor Graphics. It uses gcc 4.9.1, binutils
535 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers
536 3.16.2.
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200537
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200538config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200539 bool "Musl 1.1.12 toolchain"
Thomas Petazzonie9f6ef82016-07-28 15:39:14 +0200540 depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \
541 (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4 && BR2_USE_MMU) || \
542 (BR2_armeb && BR2_ARM_EABI && !BR2_ARM_CPU_ARMV7A && BR2_USE_MMU) || \
543 BR2_i386 || (BR2_mips && !BR2_SOFT_FLOAT) || \
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100544 BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
545 BR2_sh4 || BR2_sh4eb || \
546 BR2_x86_64
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200547 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Rieraef3e7322016-09-30 10:36:54 +0100548 # Unsupported MIPS cores
Vicente Olivert Riera55a37ea2016-09-30 10:36:56 +0100549 depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && !BR2_mips_m5101
Vicente Olivert Riera99122d62015-10-12 11:08:06 +0100550 # Unsupported for MIPS R6
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100551 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200552 select BR2_TOOLCHAIN_EXTERNAL_MUSL
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000553 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200554 select BR2_INSTALL_LIBSTDCPP
555 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzoni5c852662014-06-01 12:47:45 +0200556 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100557 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200558 help
559 Toolchain based on the Musl C library, provided by the
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100560 musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
561 musl 1.1.12. It does not have a cross debugger included.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200562
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200563 The ARM soft-float toolchain is built for ARMv4t, while the
564 ARM hard-float toolchain is built for ARMv5t.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200565 The x86 toolchain is built for i486.
566
567 http://musl.codu.org/
568
Romain Naourd02fa922015-12-19 19:14:45 +0100569config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300570 bool "Synopsys ARC 2014.12 toolchain"
571 depends on BR2_arc
572 depends on BR2_HOSTARCH = "x86_64"
Thomas Petazzonicd3c00f2015-05-01 11:13:54 +0200573 # does not provide IPv6, and lacks many uClibc features
574 # expected by Buildroot. The next Synopsys toolchain version
575 # should fix those problems.
576 depends on BROKEN
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300577 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
578 select BR2_INSTALL_LIBSTDCPP
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300579 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
580 select BR2_ENABLE_LOCALE
581 select BR2_USE_WCHAR
582 select BR2_TOOLCHAIN_HAS_THREADS
583 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
584 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200585 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300586 help
587 Toolchain for the ARC cores, from
588 https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
589
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100590config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleire5022fa82012-06-22 07:42:37 +0200591 bool "Custom toolchain"
592 help
593 Use this option to use a custom toolchain pre-installed on
594 your system.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100595
596endchoice
597
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200598choice
599 prompt "Toolchain origin"
Thomas Petazzoni70194072012-07-22 20:57:26 +0200600 # Keep compatibility with old defconfig files that are using
601 # custom toolchains, and which are therefore assuming that
602 # "preinstalled" in the default choice.
603 default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200604
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100605config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200606 bool "Toolchain to be downloaded and installed"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100607 help
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200608 Select this option if you want Buildroot to download and install the
609 toolchain. If you have selected a custom toolchain, specify the URL
610 in BR2_TOOLCHAIN_EXTERNAL_URL.
611
612config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
613 bool "Pre-installed toolchain"
614 help
615 Select this option if you want to use a pre-installed toolchain.
616 Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
617
618endchoice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100619
620config BR2_TOOLCHAIN_EXTERNAL_PATH
621 string "Toolchain path"
622 default "/path/to/toolchain/usr"
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200623 depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100624 help
625 Path to where the external toolchain is installed.
626
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200627config BR2_TOOLCHAIN_EXTERNAL_URL
628 string "Toolchain URL"
629 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
630 help
631 URL of the custom toolchain tarball to download and install.
632
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100633config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
634 string "Toolchain prefix"
635 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
636 default "$(ARCH)-linux"
637
638config BR2_TOOLCHAIN_EXTERNAL_PREFIX
639 string
Romain Naourd02fa922015-12-19 19:14:45 +0100640 default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
641 default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
Thomas Petazzonibe2abf22014-06-01 12:47:40 +0200642 default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Thomas Petazzonicd32da82014-03-05 23:23:40 +0100643 default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Romain Naoureb713cf2015-12-19 19:14:40 +0100644 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Romain Naour18206242015-12-19 19:14:46 +0100645 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
646 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzonid51025d2014-06-01 12:47:41 +0200647 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Romain Naoure7a682b2015-12-30 15:30:16 +0100648 default "aarch64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naourd9306ad2015-11-21 17:36:19 +0100649 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naourc785b1b2015-11-21 17:36:16 +0100650 default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour3e1ae892015-12-19 19:14:42 +0100651 default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Romain Naourf4da09e2015-12-19 19:14:43 +0100652 default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Romain Naour23ba8182015-11-21 17:36:14 +0100653 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour063593b2015-12-19 19:14:44 +0100654 default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
655 default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200656 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
657 default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000658 default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000659 default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200660 default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
661 default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200662 default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200663 default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
664 default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
665 default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100666 default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
667 default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200668 default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
Thomas De Schampheleirefbc24942013-09-02 22:07:53 +0200669 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100670 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200671
672config BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100673 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200674 select BR2_TOOLCHAIN_USES_GLIBC
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200675
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100676config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
677 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200678 select BR2_TOOLCHAIN_USES_UCLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100679
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200680config BR2_TOOLCHAIN_EXTERNAL_MUSL
681 bool
682 select BR2_TOOLCHAIN_USES_MUSL
Yann E. MORINe31eb722016-08-18 23:50:13 +0200683 # Compatibility headers: cdefs.h, queue.h
684 select BR2_PACKAGE_MUSL_COMPAT_HEADERS
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200685
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100686if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
687
688choice
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200689 bool "External toolchain gcc version"
690 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
691 help
692 Set to the gcc version that is used by your external
693 toolchain.
694
Jörg Krause8f972c22016-05-01 09:29:35 +0200695config BR2_TOOLCHAIN_EXTERNAL_GCC_6
696 bool "6.x"
697 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
698
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200699config BR2_TOOLCHAIN_EXTERNAL_GCC_5
700 bool "5.x"
701 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
702
703config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
704 bool "4.9.x"
705 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
706
707config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
708 bool "4.8.x"
709 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
710
711config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
712 bool "4.7.x"
713 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
714
715config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
716 bool "4.6.x"
717 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
718
719config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
720 bool "4.5.x"
721 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
722
723config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
724 bool "4.4.x"
725 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
726
727config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
728 bool "4.3.x"
729 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
730
731endchoice
732
733choice
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100734 bool "External toolchain kernel headers series"
735 default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
736 help
737 Set to the kernel headers version that were used to build
738 this external toolchain.
739
740 This is used to hide/show some packages that have strict
741 requirements on the version of kernel headers.
742
743 If unsure what version your toolchain is using, you can look
744 at the value of LINUX_VERSION_CODE in linux/version.h in your
745 toolchain. The Linux version is M.m.p, with:
746 M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
747 m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
748 p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
749
Fabio Estevamd3ac2bc2016-09-12 13:15:54 -0300750config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
751 bool "4.8.x"
752 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
753
Fabio Estevame36bf632016-07-24 20:56:09 -0300754config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
755 bool "4.7.x"
756 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
757
Gustavo Zacarias51800d22016-05-16 08:58:12 -0300758config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
759 bool "4.6.x"
760 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
761
Gustavo Zacarias3ece3fa2016-03-14 07:14:10 -0300762config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
763 bool "4.5.x"
764 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
765
Gustavo Zacariasdf2ad612016-01-11 07:52:36 -0300766config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
767 bool "4.4.x"
768 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
769
Vicente Olivert Rieraaef2df82015-11-02 15:56:51 +0100770config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
771 bool "4.3.x"
772 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
773
Peter Korsgaard8dc68292015-09-01 10:05:20 +0200774config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
775 bool "4.2.x"
776 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
777
Gustavo Zacariasdae7d8a2015-06-22 10:11:03 -0300778config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
779 bool "4.1.x"
780 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
781
Gustavo Zacariase714ee92015-04-13 10:00:23 -0300782config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
783 bool "4.0.x"
784 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
785
Peter Korsgaard81366ed2015-02-09 13:31:23 +0100786config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
787 bool "3.19.x"
788 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
789
Gustavo Zacariasbf6f74d2014-12-08 08:10:39 -0300790config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
791 bool "3.18.x"
792 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
793
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300794config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
795 bool "3.17.x"
Karoly Kaszab8f9e572014-10-09 12:59:01 +0200796 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300797
Gustavo Zacarias911516f2014-08-03 23:29:22 -0300798config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
799 bool "3.16.x"
800 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
801
Gustavo Zacariasfb29afe2014-06-09 08:30:33 -0300802config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
803 bool "3.15.x"
804 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
805
Samuel Martin11547ca2014-04-06 18:27:49 +0200806config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
807 bool "3.14.x"
808 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
809
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100810config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
811 bool "3.13.x"
812 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
813
814config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
815 bool "3.12.x"
816 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
817
818config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
819 bool "3.11.x"
820 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
821
822config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
823 bool "3.10.x"
824 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
825
826config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
827 bool "3.9.x"
828 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
829
830config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
831 bool "3.8.x"
832 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
833
834config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
835 bool "3.7.x"
836 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
837
838config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
839 bool "3.6.x"
840 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
841
842config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
843 bool "3.5.x"
844 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
845
846config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
847 bool "3.4.x"
848 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
849
850config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
851 bool "3.3.x"
852 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
853
854config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
855 bool "3.2.x"
856 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
857
858config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
859 bool "3.1.x"
860 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
861
862config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
863 bool "3.0.x"
864 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
865
866config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
867 bool "2.6.x"
868
869endchoice
870
871choice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100872 prompt "External toolchain C library"
873 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
874
875config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Waldemar Brodkorb9f4483f2016-10-15 10:13:58 +0200876 bool "uClibc/uClibc-ng"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100877 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
Thomas Petazzonib9882922011-05-30 23:56:57 +0200878 # For the time being, we assume that all custom external
879 # toolchains have shadow password support.
880 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200881 help
882 Select this option if your external toolchain uses the
Waldemar Brodkorb9f4483f2016-10-15 10:13:58 +0200883 uClibc (available from http://www.uclibc.org/)
884 or uClibc-ng (available from http://www.uclibc-ng.org)
885 C library.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100886
887config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000888 bool "glibc/eglibc"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100889 depends on !BR2_STATIC_LIBS
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100890 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000891 help
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200892 Select this option if your external toolchain uses the GNU C
893 library (available from https://www.gnu.org/software/libc/)
894 or its variant the eglibc library (http://www.eglibc.org/).
895
896 Note: eglibc is a variant of glibc that (among other things)
897 can be configured to exclude some of its features. Using a
898 toolchain with eglibc configured to exclude key features may
899 cause build failures to some packages.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100900
Thomas Petazzoni416fd9c2016-06-08 23:40:54 +0200901comment "glibc only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100902 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +0100903
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200904config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200905 bool "musl"
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200906 select BR2_TOOLCHAIN_EXTERNAL_MUSL
907 help
908 Select this option if your external toolchain uses the
909 'musl' C library, available from http://www.musl-libc.org/.
910
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200911endchoice
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +0000912
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100913if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Thomas Petazzonifff71172010-12-13 17:27:37 +0100914
Thomas Petazzonifff71172010-12-13 17:27:37 +0100915config BR2_TOOLCHAIN_EXTERNAL_WCHAR
916 bool "Toolchain has WCHAR support?"
917 select BR2_USE_WCHAR
918 help
919 Select this option if your external toolchain supports
920 WCHAR. If you don't know, leave the default value, Buildroot
921 will tell you if it's correct or not.
922
923config BR2_TOOLCHAIN_EXTERNAL_LOCALE
924 bool "Toolchain has locale support?"
925 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
926 select BR2_ENABLE_LOCALE
927 help
928 Select this option if your external toolchain has locale
929 support. If you don't know, leave the default value,
930 Buildroot will tell you if it's correct or not.
931
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100932config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
933 bool "Toolchain has threads support?"
934 select BR2_TOOLCHAIN_HAS_THREADS
Peter Korsgaard04d06892011-07-26 15:28:19 +0200935 default y
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100936 help
937 Select this option if your external toolchain has thread
938 support. If you don't know, leave the default value,
939 Buildroot will tell you if it's correct or not.
940
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100941if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
942
Peter Korsgaard5931db02011-11-24 14:26:52 +0100943config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
944 bool "Toolchain has threads debugging support?"
Peter Korsgaard5931db02011-11-24 14:26:52 +0100945 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
946 default y
947 help
948 Select this option if your external toolchain has thread
949 debugging support. If you don't know, leave the default
950 value, Buildroot will tell you if it's correct or not.
951
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100952config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
953 bool "Toolchain has NPTL threads support?"
954 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
955 default y
956 help
957 Select this option if your external toolchain uses the NPTL
958 (Native Posix Thread Library) implementation of Posix
959 threads. If you don't know, leave the default value,
960 Buildroot will tell you if it's correct or not.
961
962endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
963
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000964endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
965
Thomas Petazzonic5866be2013-09-02 18:06:36 +0200966config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
967 bool "Toolchain has SSP support?"
968 select BR2_TOOLCHAIN_HAS_SSP
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000969 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
970 default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzonic5866be2013-09-02 18:06:36 +0200971 help
972 Selection this option if your external toolchain has Stack
973 Smashing Protection support enabled. If you don't know,
974 leave the default value, Buildroot will tell you if it's
975 correct or not.
976
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100977config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
978 bool "Toolchain has RPC support?"
979 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200980 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzoni3a843a32012-11-04 07:34:29 +0000981 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100982 help
983 Select this option if your external toolchain supports
984 RPC. If you don't know, leave the default value, Buildroot
985 will tell you if it's correct or not.
986
Thomas Petazzoni6b578c82010-12-13 17:27:41 +0100987config BR2_TOOLCHAIN_EXTERNAL_CXX
988 bool "Toolchain has C++ support?"
989 select BR2_INSTALL_LIBSTDCPP
990 help
991 Select this option if your external toolchain has C++
992 support. If you don't know, leave the default value,
993 Buildroot will tell you if it's correct or not.
994
Samuel Martina6504382016-07-03 15:47:47 +0200995config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
996 bool "Toolchain has Fortran support?"
997 select BR2_TOOLCHAIN_HAS_FORTRAN
998 help
999 Select this option if your external toolchain has Fortran
1000 support. If you don't know, leave the default value,
1001 Buildroot will tell you if it's correct or not.
1002
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +02001003config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
1004 string "Extra toolchain libraries to be copied to target"
1005 help
1006 If your external toolchain provides extra libraries that
1007 need to be copied to the target filesystem, enter them
Thomas De Schampheleire919b4f92016-02-12 20:20:26 +01001008 here, separated by spaces.
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +02001009
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01001010endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzonifff71172010-12-13 17:27:37 +01001011
Thomas Petazzonia0b6faa2013-04-07 00:04:33 +00001012config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
1013 bool "Copy gdb server to the Target"
1014 depends on BR2_TOOLCHAIN_EXTERNAL
1015 help
1016 Copy the gdbserver provided by the external toolchain to the
1017 target.
1018
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001019# When the FDPIC shared binary format is used, the corresponding libraries are
1020# always installed. When a different binary format is used, we offer the option
1021# of installing the FDPIC shared libraries.
1022config BR2_BFIN_INSTALL_FDPIC_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +01001023 bool "Install FDPIC shared libraries"
1024 depends on BR2_bfin && !BR2_BINFMT_FDPIC
1025 help
1026 The Linux kernel supports running both FDPIC and FLAT applications
1027 concurrently if the binary format specific libraries are installed
1028 properly. This option allows developer to install FDPIC libraries
1029 into a buildroot rootfs image built with binary format that is not
1030 FDPIC.
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001031
1032# When the FLAT shared binary format is used, we force the installation
1033# of the corresponding libraries. When a different binary format is
1034# used, we offer the option of installing the FLAT shared libraries.
1035config BR2_BFIN_INSTALL_FLAT_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +01001036 bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
1037 depends on BR2_bfin
1038 default y if BR2_BINFMT_FLAT_SHARED
1039 help
1040 The Linux kernel supports running both FDPIC and FLAT applications
1041 concurrently if the binary format specific libraries are installed
1042 properly. This option allows developer to install FLAT libraries
1043 into a buildroot rootfs image built with binary format that is not
1044 shared FLAT.
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001045
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01001046endif # BR2_TOOLCHAIN_EXTERNAL