blob: 62c2cd21b26ef6dfef611a000bde1cfd6d1658e1 [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 +010014# Note: we use the same symbol for both Linaro toolchains.
15# Since they have different dependencies (the host), we can
16# give them different prompts and different help texts.
Thomas Petazzonibe2abf22014-06-01 12:47:40 +020017config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +010018 bool "Linaro ARM 2014.09"
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010019 depends on BR2_arm
Thomas Petazzoni29f68062014-10-21 22:27:06 +020020 depends on BR2_ARM_CPU_ARMV7A
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010021 depends on BR2_HOSTARCH = "x86"
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010022 depends on BR2_ARM_EABIHF
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010023 depends on !BR2_STATIC_LIBS
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010024 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000025 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010026 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
27 select BR2_INSTALL_LIBSTDCPP
Yann E. MORINb6f321b2014-03-01 15:52:58 +010028 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
Thomas Petazzonibd760c32015-08-04 20:00:35 +020029 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Samuel Martin01756842016-07-03 15:47:48 +020030 select BR2_TOOLCHAIN_HAS_FORTRAN
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010031 help
32 Linaro toolchain for the ARM architecture. It uses Linaro
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +010033 GCC 2014.09 (based on gcc 4.9), Linaro GDB 2013.10 (based on
34 GDB 7.6), eglibc 2.19, Binutils 2014.09 (based on 2.24). It
Thomas Petazzoni34562ee2013-12-27 12:32:19 +010035 generates code that runs on all Cortex-A profile devices,
36 but tuned for the Cortex-A9. The code generated is Thumb 2,
37 with the hard floating point calling convention, and uses
38 the VFPv3-D16 FPU instructions.
39
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010040# See the note above.
41config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Romain Naour227553b2016-09-24 11:37:51 +020042 bool "Linaro ARM 2016.05"
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010043 depends on BR2_arm
44 depends on BR2_ARM_CPU_ARMV7A
45 depends on BR2_HOSTARCH = "x86_64"
46 depends on BR2_ARM_EABIHF
47 depends on !BR2_STATIC_LIBS
48 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000049 select BR2_TOOLCHAIN_HAS_SSP
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010050 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
51 select BR2_INSTALL_LIBSTDCPP
52 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
53 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Samuel Martin01756842016-07-03 15:47:48 +020054 select BR2_TOOLCHAIN_HAS_FORTRAN
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010055 help
56 Linaro toolchain for the ARM architecture. It uses Linaro
Romain Naour227553b2016-09-24 11:37:51 +020057 GCC 2016.05 (based on gcc 5.3.1), Linaro GDB 2016.05 (based on
58 GDB 7.11.1), glibc 2.21, Binutils 2016.05 (based on 2.25). It
Yann E. MORIN9b3b98b2015-10-27 00:49:39 +010059 generates code that runs on all Cortex-A profile devices,
60 but tuned for the Cortex-A9. The code generated is Thumb 2,
61 with the hard floating point calling convention, and uses
62 the VFPv3-D16 FPU instructions.
63
Yann E. MORIN997ef602015-10-27 00:49:40 +010064# See the note above.
Thomas Petazzonicd32da82014-03-05 23:23:40 +010065config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +010066 bool "Linaro armeb 2014.09"
Thomas Petazzonicd32da82014-03-05 23:23:40 +010067 depends on BR2_armeb
Thomas Petazzoni29f68062014-10-21 22:27:06 +020068 depends on BR2_ARM_CPU_ARMV7A
Yann E. MORIN997ef602015-10-27 00:49:40 +010069 depends on BR2_HOSTARCH = "x86"
Thomas Petazzonicd32da82014-03-05 23:23:40 +010070 depends on BR2_ARM_EABIHF
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010071 depends on !BR2_STATIC_LIBS
Thomas Petazzonicd32da82014-03-05 23:23:40 +010072 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000073 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzonicd32da82014-03-05 23:23:40 +010074 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
75 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzonicd32da82014-03-05 23:23:40 +010076 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
Thomas Petazzonibd760c32015-08-04 20:00:35 +020077 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Samuel Martin01756842016-07-03 15:47:48 +020078 select BR2_TOOLCHAIN_HAS_FORTRAN
Thomas Petazzonicd32da82014-03-05 23:23:40 +010079 help
80 Linaro toolchain for the ARM big endian architecture. It
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +010081 uses Linaro GCC 2014.09 (based on gcc 4.9), Linaro GDB
82 2013.10 (based on GDB 7.6), eglibc 2.19, Binutils 2014.09
Thomas Petazzonicd32da82014-03-05 23:23:40 +010083 (based on 2.24). It generates code that runs on all Cortex-A
84 profile devices, but tuned for the Cortex-A9. The code
85 generated is Thumb 2, with the hard floating point calling
86 convention, and uses the VFPv3-D16 FPU instructions.
87
Yann E. MORIN997ef602015-10-27 00:49:40 +010088# See the note above.
89config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Romain Naour93e82b62016-09-24 11:37:52 +020090 bool "Linaro armeb 2016.05"
Yann E. MORIN997ef602015-10-27 00:49:40 +010091 depends on BR2_armeb
92 depends on BR2_ARM_CPU_ARMV7A
93 depends on BR2_HOSTARCH = "x86_64"
94 depends on BR2_ARM_EABIHF
95 depends on !BR2_STATIC_LIBS
96 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000097 select BR2_TOOLCHAIN_HAS_SSP
Yann E. MORIN997ef602015-10-27 00:49:40 +010098 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
99 select BR2_INSTALL_LIBSTDCPP
100 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
101 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
102 help
103 Linaro toolchain for the ARM big endian architecture. It
Romain Naour93e82b62016-09-24 11:37:52 +0200104 uses Linaro GCC 2016.05 (based on gcc 5.3.1), Linaro GDB
105 2016.05 (based on GDB 7.11.1), glibc 2.21, Binutils 2016.05
Yann E. MORIN997ef602015-10-27 00:49:40 +0100106 (based on 2.25). It generates code that runs on all Cortex-A
107 profile devices, but tuned for the Cortex-A9. The code
108 generated is Thumb 2, with the hard floating point calling
109 convention, and uses the VFPv3-D16 FPU instructions.
110
Romain Naoureb713cf2015-12-19 19:14:40 +0100111config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Thomas Petazzoni93f3c042014-09-15 23:49:35 +0200112 bool "Sourcery CodeBench ARM 2014.05"
113 depends on BR2_arm
114 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
115 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100116 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93f3c042014-09-15 23:49:35 +0200117 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000118 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni93f3c042014-09-15 23:49:35 +0200119 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
120 select BR2_INSTALL_LIBSTDCPP
121 select BR2_HOSTARCH_NEEDS_IA32_LIBS
122 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200123 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Thomas Petazzoni93f3c042014-09-15 23:49:35 +0200124 help
125 Sourcery CodeBench toolchain for the ARM architecture, from
126 Mentor Graphics. It uses gcc 4.8.3, binutils 2.24.51, glibc
127 2.18 and gdb 7.7.50, kernel headers 3.13. It has support
128 for the following variants:
129 - ARMv5TE, little endian, soft-float, glibc
130 Select ARM926T, ARM10T, XScale or another ARMv5 core
131 Select BR2_SOFT_FLOAT
132 - ARMv4T, little endian, soft-float, glibc
133 Select ARM720T, ARM920T, ARM922T or another ARMv4 core
134 Select BR2_SOFT_FLOAT
135 - ARMv7-A, Thumb 2, little endian, soft-float, glibc
136 Select Cortex-A8, Cortex-A9 or another ARMv7-A core
137 Select BR2_SOFT_FLOAT
138 Set BR2_TARGET_OPTIMIZATION to -mthumb
139
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200140comment "Sourcery CodeBench toolchains available for the EABI ABI"
141 depends on BR2_arm
142 depends on !BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100143 depends on !BR2_STATIC_LIBS
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200144
Romain Naour18206242015-12-19 19:14:46 +0100145config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200146 bool "Arago ARMv7 2011.09"
147 depends on BR2_arm
148 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +0200149 depends on BR2_ARM_CPU_ARMV7A
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200150 depends on BR2_ARM_EABI
Yann E. MORIN08ce1092015-12-26 17:05:45 +0100151 depends on BR2_ARM_CPU_HAS_VFPV3
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100152 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200153 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000154 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200155 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
156 select BR2_INSTALL_LIBSTDCPP
157 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200158 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100159 # kernel headers: 2.6.31
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200160 help
161 Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
162 binutils 2.20.1, glibc 2.12, gdb 7.2.
163
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200164 This toolchain uses -mfloat-abi=softfp (i.e can use FPU
165 instructions, but passes floating point function arguments
166 in integer registers), and requires a VFPv3 floating point
167 unit to work properly. This unit is available on most
168 Cortex-A ARM processors, but not all.
Thomas Petazzoni93d2b242013-06-08 11:14:17 +0200169
Romain Naour18206242015-12-19 19:14:46 +0100170config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200171 bool "Arago ARMv5 2011.09"
172 depends on BR2_arm
173 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +0200174 depends on !BR2_ARM_CPU_ARMV4
Thomas Petazzoniea6b2772013-07-16 10:03:20 +0200175 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100176 depends on !BR2_STATIC_LIBS
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200177 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000178 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200179 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
180 select BR2_INSTALL_LIBSTDCPP
181 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200182 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100183 # kernel headers: 2.6.31
Thomas Petazzoni2592f252013-06-08 11:14:18 +0200184 help
185 Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
186 4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
187
188 This toolchain uses software-floating point.
189
Romain Naourd9306ad2015-11-21 17:36:19 +0100190config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naour230cfce2016-04-30 23:10:25 +0200191 bool "Sourcery CodeBench MIPS 2016.05"
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100192 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100193 depends on BR2_MIPS_CPU_MIPS32R2 || BR2_MIPS_CPU_MIPS64R2
Vicente Olivert Rieraef3e7322016-09-30 10:36:54 +0100194 # Unsupported MIPS cores
195 depends on !BR2_mips_interaptiv
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100196 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
197 depends on !BR2_MIPS_NABI32
198 depends on !BR2_STATIC_LIBS
199 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000200 select BR2_TOOLCHAIN_HAS_SSP
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100201 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
202 select BR2_INSTALL_LIBSTDCPP
203 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour230cfce2016-04-30 23:10:25 +0200204 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naour6278da12015-11-21 17:36:20 +0100205 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Vicente Olivert Riera9f4ec372015-06-04 17:03:43 +0100206 help
207 Sourcery CodeBench toolchain for the MIPS architecture, from
Romain Naour230cfce2016-04-30 23:10:25 +0200208 Mentor Graphics. It uses gcc 5.3, binutils 2.25.51, glibc
209 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 +0100210 has support for the following variants:
211 - MIPS32r2 - Big-Endian, 2008 NaN, O32
212 Select MIPS (big endian) core
213 Disable BR2_SOFT_FLOAT
214 Set BR2_TARGET_OPTIMIZATION to -mnan=2008
215 - MIPS32r2 - Big-Endian, O32
216 Select MIPS (big endian) core
217 Disable BR2_SOFT_FLOAT
218 - MIPS32r2 - Big-Endian, O32, MIPS16
219 Select MIPS (big endian) core
220 Disable BR2_SOFT_FLOAT
221 Set BR2_TARGET_OPTIMIZATION to -mips16
222 - MIPS32r2 - Big-Endian, Soft-Float, O32
223 Select MIPS (big endian) core
224 Select BR2_SOFT_FLOAT
225 - MIPS32r2 - Big-Endian, Soft-Float, O32, MIPS16
226 Select MIPS (big endian) core
227 Select BR2_SOFT_FLOAT
228 Set BR2_TARGET_OPTIMIZATION to -mips16
229 - MIPS32r2 - Little-Endian, 2008 NaN, O32
230 Select MIPS (little endian) core
231 Disable BR2_SOFT_FLOAT
232 Set BR2_TARGET_OPTIMIZATION to -mnan=2008
233 - MIPS32r2 - Little-Endian, O32
234 Select MIPS (little endian) core
235 Disable BR2_SOFT_FLOAT
236 - MIPS32r2 - Little-Endian, O32, MIPS16
237 Select MIPS (little endian) core
238 Disable BR2_SOFT_FLOAT
239 Set BR2_TARGET_OPTIMIZATION to -mips16
240 - MIPS32r2 - Little-Endian, Soft-Float, O32
241 Select MIPS (little endian) core
242 Select BR2_SOFT_FLOAT
243 - MIPS32r2 - Little-Endian, Soft-Float, O32, MIPS16
244 Select MIPS (little endian) core
245 Select BR2_SOFT_FLOAT
246 Set BR2_TARGET_OPTIMIZATION to -mips16
247 - MIPS32r2 - Little-Endian, Soft-Float, O32, microMIPS
248 Select MIPS (little endian) core
249 Select BR2_SOFT_FLOAT
250 Set BR2_TARGET_OPTIMIZATION to -mmicromips
251 - MIPS32r2 - uClibc, Big-Endian, 2008 NaN, O32
252 Not usable in Buildroot yet.
253 - MIPS32r2 - uClibc, Big-Endian, O32
254 Not usable in Buildroot yet.
255 - MIPS32r2 - uClibc, Big-Endian, Soft-Float, O32
256 Not usable in Buildroot yet.
257 - MIPS32r2 - uClibc, Little-Endian, 2008 NaN, O32
258 Not usable in Buildroot yet.
259 - MIPS32r2 - uClibc, Little-Endian, O32
260 Not usable in Buildroot yet.
261 - MIPS32r2 - uClibc, Little-Endian, Soft-Float, O32
262 Not usable in Buildroot yet.
263 - MIPS64r2 - Big-Endian, N64
264 Select MIPS64 (big endian) core
265 Select the n64 ABI
266 Disable BR2_SOFT_FLOAT
267 - MIPS64r2 - Big-Endian, Soft-Float, N64
268 Select MIPS64 (big endian) core
269 Select the n64 ABI
270 Select BR2_SOFT_FLOAT
271 - MIPS64r2 - Little-Endian, N64
272 Select MIPS64 (little endian) core
273 Select the n64 ABI
274 Disable BR2_SOFT_FLOAT
275 - MIPS64r2 - Little-Endian, Soft-Float, N64
276 Select MIPS64 (little endian) core
277 Select the n64 ABI
278 Select BR2_SOFT_FLOAT
279
Markos Chandras6f70ba32013-08-13 09:45:44 +0100280comment "Sourcery CodeBench toolchains are only available for MIPS/MIPS64 o32 and n64"
281 depends on BR2_MIPS_NABI32
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100282 depends on !BR2_STATIC_LIBS
Markos Chandras6f70ba32013-08-13 09:45:44 +0100283
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000284config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100285 bool "Codescape IMG GNU Linux Toolchain 2016.05"
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000286 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
287 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100288 depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000289 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
290 select BR2_INSTALL_LIBSTDCPP
291 select BR2_HOSTARCH_NEEDS_IA32_LIBS
292 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
293 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100294 select BR2_TOOLCHAIN_HAS_FORTRAN
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000295 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000296 Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000297 architecture, from Imagination Technologies. It uses gcc
298 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
299 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000300 - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000301 Select 'MIPS (big endian)' Target Architecture
302 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000303 Disable 'Use soft-float'
304 - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
305 Select 'MIPS (big endian)' Target Architecture
306 Select 'mips 32r6' Target Architecture Variant
307 Enable 'Use soft-float'
308 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000309 Select 'MIPS (little endian)' Target Architecture
310 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000311 Disable 'Use soft-float'
312 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000313 Select 'MIPS (little endian)' Target Architecture
314 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000315 Enable 'Use soft-float'
316 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
317 Select 'MIPS (little endian)' Target Architecture
318 Select 'mips 32r6' Target Architecture Variant
319 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000320 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000321 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS
322 Select 'MIPS (little endian)' Target Architecture
323 Select 'mips 32r6' Target Architecture Variant
324 Enable 'Use soft-float'
325 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
326 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000327 Select 'MIPS64 (big endian)' Target Architecture
328 Select 'mips 64r6' Target Architecture Variant
329 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000330 Disable 'Use soft-float'
331 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000332 Select 'MIPS64 (little endian)' Target Architecture
333 Select 'mips 64r6' Target Architecture Variant
334 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000335 Disable 'Use soft-float'
336 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000337 Select 'MIPS64 (big endian)' Target Architecture
338 Select 'mips 64r6' Target Architecture Variant
339 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000340 Disable 'Use soft-float'
341 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000342 Select 'MIPS64 (little endian)' Target Architecture
343 Select 'mips 64r6' Target Architecture Variant
344 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000345 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000346
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000347config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100348 bool "Codescape MTI GNU Linux Toolchain 2016.05"
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000349 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
350 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera2373ce22016-09-30 10:36:53 +0100351 depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \
352 BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000353 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
354 select BR2_INSTALL_LIBSTDCPP
355 select BR2_HOSTARCH_NEEDS_IA32_LIBS
356 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
357 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100358 select BR2_TOOLCHAIN_HAS_FORTRAN
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000359 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000360 Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000361 architecture, from Imagination Technologies. It uses gcc
362 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
363 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000364 - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000365 Select 'MIPS (big endian)' Target Architecture
366 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000367 Disable 'Use soft-float'
368 - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000369 Select 'MIPS (big endian)' Target Architecture
370 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000371 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000372 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000373 - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
374 Select 'MIPS (big endian)' Target Architecture
375 Select 'mips 32r2' Target Architecture Variant
376 Enable 'Use soft-float'
377 - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000378 Select 'MIPS (little endian)' Target Architecture
379 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000380 Disable 'Use soft-float'
381 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000382 Select 'MIPS (little endian)' Target Architecture
383 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000384 Disable 'Use soft-float'
385 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
386 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
387 Select 'MIPS (little endian)' Target Architecture
388 Select 'mips 32r2' Target Architecture Variant
389 Enable 'Use soft-float'
390 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
391 Select 'MIPS (little endian)' Target Architecture
392 Select 'mips 32r2' Target Architecture Variant
393 Enable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000394 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000395 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS
396 Select 'MIPS (little endian)' Target Architecture
397 Select 'mips 32r2' Target Architecture Variant
398 Disable 'Use soft-float'
399 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
400 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000401 Select 'MIPS64 (big endian)' Target Architecture
402 Select 'mips 64r2' Target Architecture Variant
403 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000404 Disable 'Use soft-float'
405 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000406 Select 'MIPS64 (little endian)' Target Architecture
407 Select 'mips 64r2' Target Architecture Variant
408 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000409 Disable 'Use soft-float'
410 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000411 Select 'MIPS64 (big endian)' Target Architecture
412 Select 'mips 64r2' Target Architecture Variant
413 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000414 Disable 'Use soft-float'
415 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000416 Select 'MIPS64 (little endian)' Target Architecture
417 Select 'mips 64r2' Target Architecture Variant
418 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000419 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000420
Romain Naourc785b1b2015-11-21 17:36:16 +0100421config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour04c9d652016-05-19 00:23:30 +0200422 bool "Sourcery CodeBench Nios-II 2016.05"
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300423 depends on BR2_nios2
424 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100425 depends on !BR2_STATIC_LIBS
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300426 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000427 select BR2_TOOLCHAIN_HAS_SSP
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300428 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
429 select BR2_INSTALL_LIBSTDCPP
430 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour04c9d652016-05-19 00:23:30 +0200431 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naoure7e5a762015-11-21 17:36:17 +0100432 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Romain Naour5dce3c02016-02-20 13:42:46 +0100433 select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300434 help
435 Sourcery CodeBench toolchain for the Nios-II architecture,
Romain Naour04c9d652016-05-19 00:23:30 +0200436 from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51,
437 glibc 2.23, gdb 7.10.50 and kernel headers 4.4.
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300438
Romain Naour3e1ae892015-12-19 19:14:42 +0100439config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Thomas Petazzonie067a442012-11-04 07:34:21 +0000440 bool "Sourcery CodeBench SH 2012.09"
441 depends on BR2_sh4a || BR2_sh4aeb
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000442 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100443 depends on !BR2_STATIC_LIBS
Thomas Petazzonie067a442012-11-04 07:34:21 +0000444 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000445 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzonie067a442012-11-04 07:34:21 +0000446 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
447 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000448 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100449 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200450 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzonie067a442012-11-04 07:34:21 +0000451 help
452 Sourcery CodeBench toolchain for the SuperH architecture,
453 from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
454 glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
455 3.5.4. It has support for the following variants:
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100456 - SH4A, glibc, little endian
457 Default.
458 - SH4A, glibc, big endian
459 Add -mb to BR2_TARGET_OPTIMIZATION
460 - SH4A, uClibc, little endian
461 Not usable in Buildroot yet.
462 - SH4A, uClibc, big endian
463 Not usable in Buildroot yet.
Thomas Petazzonie067a442012-11-04 07:34:21 +0000464
Romain Naour23ba8182015-11-21 17:36:14 +0100465config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour09f1a3b2015-11-21 17:36:15 +0100466 bool "Sourcery CodeBench AMD64 2015.11"
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300467 depends on BR2_x86_64
468 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
469 depends on !BR2_STATIC_LIBS
470 depends on BR2_x86_jaguar || BR2_x86_steamroller
471 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000472 select BR2_TOOLCHAIN_HAS_SSP
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300473 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
474 select BR2_INSTALL_LIBSTDCPP
475 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour09f1a3b2015-11-21 17:36:15 +0100476 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
477 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300478 help
479 Sourcery CodeBench toolchain for the amd64 (x86_64)
Romain Naour09f1a3b2015-11-21 17:36:15 +0100480 architectures, from Mentor Graphics. It uses gcc 5.2,
481 binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
482 4.2. It has support for the following variants:
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300483 - AMD Puma/Jaguar (family 16h), glibc
484 Default for x86_64, nothing special to do.
485 - AMD Steamroller (family 15h), glibc
486 Select a steamroller core.
487 No other architecture variants are supported since glibc
488 is optimized for one of these two baselines.
489
Romain Naourf4da09e2015-12-19 19:14:43 +0100490config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000491 bool "Sourcery CodeBench x86/x86_64 2012.09"
492 depends on BR2_i386 || BR2_x86_64
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000493 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100494 depends on !BR2_STATIC_LIBS
Adrien Bérauda20cb382014-01-15 17:17:10 -0500495 depends on !BR2_x86_jaguar
Gustavo Zacarias50451992015-03-03 12:52:30 -0300496 depends on !BR2_x86_steamroller
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000497 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000498 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000499 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
500 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000501 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100502 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200503 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000504 help
505 Sourcery CodeBench toolchain for the x86/x86_64
506 architectures, from Mentor Graphics. It uses gcc 4.7.2,
507 binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
508 3.5.4. It has support for the following variants:
509 - Intel Pentium 4, glibc, 32 bits
510 Default for x86, nothing special to do.
511 - Intel Atom, glibc, 32 bits
512 Select an Atom core
513 - Intel Xeon, glibc, 64 bits
514 Default for x86_64, nothing special to do.
515 - Intel Core 2, glibc, 64 bits
516 Select a Core 2 core
517 Other architecture variants (beyond Pentium-4/Xeon) are
518 supported as well, but glibc is not optimised for it.
519
Romain Naour063593b2015-12-19 19:14:44 +0100520config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
Thomas Petazzoni1cfeed12014-07-09 23:20:22 +0200521 bool "Blackfin.uclinux.org 2014R1"
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200522 depends on BR2_bfin
523 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
524 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
525 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200526 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
527 select BR2_USE_WCHAR
528 select BR2_TOOLCHAIN_HAS_THREADS
529 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
530 select BR2_HOSTARCH_NEEDS_IA32_LIBS
531 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200532 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
Samuel Martin01756842016-07-03 15:47:48 +0200533 select BR2_TOOLCHAIN_HAS_FORTRAN
Thomas Petazzoni5a65b8e2014-06-01 12:47:48 +0200534 help
535 Toolchain for the Blackfin architecture, from
536 http://blackfin.uclinux.org.
537
Peter Korsgaardc0c3d7d2016-02-21 22:19:54 +0100538# See note about Linaro ARM/ARMEB toolchains, above.
Thomas Petazzonid51025d2014-06-01 12:47:41 +0200539config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Thomas Petazzoni28bca1c2014-11-10 11:06:31 +0100540 bool "Linaro AArch64 14.09"
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100541 depends on BR2_aarch64
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100542 depends on BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100543 depends on !BR2_STATIC_LIBS
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100544 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000545 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100546 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100547 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100548 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200549 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Samuel Martin01756842016-07-03 15:47:48 +0200550 select BR2_TOOLCHAIN_HAS_FORTRAN
Thomas Petazzoni68b967a2013-12-27 12:32:20 +0100551 help
552 Toolchain for the AArch64 architecture, from
553 http://www.linaro.org/engineering/armv8/
554
Peter Korsgaardc0c3d7d2016-02-21 22:19:54 +0100555# See note about Linaro ARM/ARMEB toolchains, above.
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100556config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Romain Naour62658cf2016-09-24 11:37:53 +0200557 bool "Linaro AArch64 2016.05"
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100558 depends on BR2_aarch64
559 depends on BR2_HOSTARCH = "x86_64"
560 depends on !BR2_STATIC_LIBS
561 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000562 select BR2_TOOLCHAIN_HAS_SSP
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100563 select BR2_INSTALL_LIBSTDCPP
564 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
565 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
566 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Samuel Martin01756842016-07-03 15:47:48 +0200567 select BR2_TOOLCHAIN_HAS_FORTRAN
Yann E. MORIN24bfce02015-10-27 00:49:41 +0100568 help
569 Toolchain for the AArch64 architecture, from
570 http://www.linaro.org/engineering/armv8/
571
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200572config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naoure7a682b2015-12-30 15:30:16 +0100573 bool "CodeSourcery AArch64 2014.11"
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200574 depends on BR2_aarch64
575 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100576 depends on !BR2_STATIC_LIBS
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200577 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000578 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200579 select BR2_INSTALL_LIBSTDCPP
580 select BR2_HOSTARCH_NEEDS_IA32_LIBS
581 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Romain Naoure7a682b2015-12-30 15:30:16 +0100582 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
583 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200584 help
585 Sourcery CodeBench toolchain for the AArch64 architecture,
Romain Naoure7a682b2015-12-30 15:30:16 +0100586 from Mentor Graphics. It uses gcc 4.9.1, binutils
587 2.24.51.20140217, glibc 2.20, gdb 7.7.50 and kernel headers
588 3.16.2.
Thomas Petazzonibab8f272014-09-15 23:49:34 +0200589
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200590config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200591 bool "Musl 1.1.12 toolchain"
Thomas Petazzonie9f6ef82016-07-28 15:39:14 +0200592 depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \
593 (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4 && BR2_USE_MMU) || \
594 (BR2_armeb && BR2_ARM_EABI && !BR2_ARM_CPU_ARMV7A && BR2_USE_MMU) || \
595 BR2_i386 || (BR2_mips && !BR2_SOFT_FLOAT) || \
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100596 BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
597 BR2_sh4 || BR2_sh4eb || \
598 BR2_x86_64
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200599 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Rieraef3e7322016-09-30 10:36:54 +0100600 # Unsupported MIPS cores
Vicente Olivert Riera55a37ea2016-09-30 10:36:56 +0100601 depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && !BR2_mips_m5101
Vicente Olivert Riera99122d62015-10-12 11:08:06 +0100602 # Unsupported for MIPS R6
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100603 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200604 select BR2_TOOLCHAIN_EXTERNAL_MUSL
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000605 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200606 select BR2_INSTALL_LIBSTDCPP
607 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzoni5c852662014-06-01 12:47:45 +0200608 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100609 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200610 help
611 Toolchain based on the Musl C library, provided by the
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100612 musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
613 musl 1.1.12. It does not have a cross debugger included.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200614
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200615 The ARM soft-float toolchain is built for ARMv4t, while the
616 ARM hard-float toolchain is built for ARMv5t.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200617 The x86 toolchain is built for i486.
618
619 http://musl.codu.org/
620
Romain Naourd02fa922015-12-19 19:14:45 +0100621config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300622 bool "Synopsys ARC 2014.12 toolchain"
623 depends on BR2_arc
624 depends on BR2_HOSTARCH = "x86_64"
Thomas Petazzonicd3c00f2015-05-01 11:13:54 +0200625 # does not provide IPv6, and lacks many uClibc features
626 # expected by Buildroot. The next Synopsys toolchain version
627 # should fix those problems.
628 depends on BROKEN
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300629 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
630 select BR2_INSTALL_LIBSTDCPP
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300631 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
632 select BR2_ENABLE_LOCALE
633 select BR2_USE_WCHAR
634 select BR2_TOOLCHAIN_HAS_THREADS
635 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
636 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200637 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300638 help
639 Toolchain for the ARC cores, from
640 https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
641
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100642config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleire5022fa82012-06-22 07:42:37 +0200643 bool "Custom toolchain"
644 help
645 Use this option to use a custom toolchain pre-installed on
646 your system.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100647
648endchoice
649
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200650choice
651 prompt "Toolchain origin"
Thomas Petazzoni70194072012-07-22 20:57:26 +0200652 # Keep compatibility with old defconfig files that are using
653 # custom toolchains, and which are therefore assuming that
654 # "preinstalled" in the default choice.
655 default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200656
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100657config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200658 bool "Toolchain to be downloaded and installed"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100659 help
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200660 Select this option if you want Buildroot to download and install the
661 toolchain. If you have selected a custom toolchain, specify the URL
662 in BR2_TOOLCHAIN_EXTERNAL_URL.
663
664config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
665 bool "Pre-installed toolchain"
666 help
667 Select this option if you want to use a pre-installed toolchain.
668 Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
669
670endchoice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100671
672config BR2_TOOLCHAIN_EXTERNAL_PATH
673 string "Toolchain path"
674 default "/path/to/toolchain/usr"
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200675 depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100676 help
677 Path to where the external toolchain is installed.
678
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200679config BR2_TOOLCHAIN_EXTERNAL_URL
680 string "Toolchain URL"
681 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
682 help
683 URL of the custom toolchain tarball to download and install.
684
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100685config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
686 string "Toolchain prefix"
687 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
688 default "$(ARCH)-linux"
689
690config BR2_TOOLCHAIN_EXTERNAL_PREFIX
691 string
Romain Naourd02fa922015-12-19 19:14:45 +0100692 default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
693 default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
Thomas Petazzonibe2abf22014-06-01 12:47:40 +0200694 default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
Thomas Petazzonicd32da82014-03-05 23:23:40 +0100695 default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
Romain Naoureb713cf2015-12-19 19:14:40 +0100696 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM
Romain Naour18206242015-12-19 19:14:46 +0100697 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
698 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzonid51025d2014-06-01 12:47:41 +0200699 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
Romain Naoure7a682b2015-12-30 15:30:16 +0100700 default "aarch64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
Romain Naourd9306ad2015-11-21 17:36:19 +0100701 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
Romain Naourc785b1b2015-11-21 17:36:16 +0100702 default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour3e1ae892015-12-19 19:14:42 +0100703 default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Romain Naourf4da09e2015-12-19 19:14:43 +0100704 default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Romain Naour23ba8182015-11-21 17:36:14 +0100705 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour063593b2015-12-19 19:14:44 +0100706 default "bfin-uclinux" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FLAT
707 default "bfin-linux-uclibc" if BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX && BR2_BINFMT_FDPIC
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200708 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
709 default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000710 default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000711 default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200712 default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
713 default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200714 default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200715 default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
716 default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
717 default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100718 default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
719 default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200720 default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
Thomas De Schampheleirefbc24942013-09-02 22:07:53 +0200721 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100722 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200723
724config BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100725 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200726 select BR2_TOOLCHAIN_USES_GLIBC
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200727
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100728config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
729 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200730 select BR2_TOOLCHAIN_USES_UCLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100731
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200732config BR2_TOOLCHAIN_EXTERNAL_MUSL
733 bool
734 select BR2_TOOLCHAIN_USES_MUSL
Yann E. MORINe31eb722016-08-18 23:50:13 +0200735 # Compatibility headers: cdefs.h, queue.h
736 select BR2_PACKAGE_MUSL_COMPAT_HEADERS
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200737
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100738if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
739
740choice
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200741 bool "External toolchain gcc version"
742 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
743 help
744 Set to the gcc version that is used by your external
745 toolchain.
746
Jörg Krause8f972c22016-05-01 09:29:35 +0200747config BR2_TOOLCHAIN_EXTERNAL_GCC_6
748 bool "6.x"
749 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
750
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200751config BR2_TOOLCHAIN_EXTERNAL_GCC_5
752 bool "5.x"
753 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
754
755config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
756 bool "4.9.x"
757 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
758
759config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
760 bool "4.8.x"
761 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
762
763config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
764 bool "4.7.x"
765 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
766
767config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
768 bool "4.6.x"
769 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
770
771config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
772 bool "4.5.x"
773 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
774
775config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
776 bool "4.4.x"
777 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
778
779config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
780 bool "4.3.x"
781 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
782
783endchoice
784
785choice
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100786 bool "External toolchain kernel headers series"
787 default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
788 help
789 Set to the kernel headers version that were used to build
790 this external toolchain.
791
792 This is used to hide/show some packages that have strict
793 requirements on the version of kernel headers.
794
795 If unsure what version your toolchain is using, you can look
796 at the value of LINUX_VERSION_CODE in linux/version.h in your
797 toolchain. The Linux version is M.m.p, with:
798 M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
799 m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
800 p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
801
Fabio Estevamd3ac2bc2016-09-12 13:15:54 -0300802config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
803 bool "4.8.x"
804 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
805
Fabio Estevame36bf632016-07-24 20:56:09 -0300806config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
807 bool "4.7.x"
808 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
809
Gustavo Zacarias51800d22016-05-16 08:58:12 -0300810config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
811 bool "4.6.x"
812 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
813
Gustavo Zacarias3ece3fa2016-03-14 07:14:10 -0300814config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
815 bool "4.5.x"
816 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
817
Gustavo Zacariasdf2ad612016-01-11 07:52:36 -0300818config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
819 bool "4.4.x"
820 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
821
Vicente Olivert Rieraaef2df82015-11-02 15:56:51 +0100822config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
823 bool "4.3.x"
824 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
825
Peter Korsgaard8dc68292015-09-01 10:05:20 +0200826config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
827 bool "4.2.x"
828 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
829
Gustavo Zacariasdae7d8a2015-06-22 10:11:03 -0300830config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
831 bool "4.1.x"
832 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
833
Gustavo Zacariase714ee92015-04-13 10:00:23 -0300834config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
835 bool "4.0.x"
836 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
837
Peter Korsgaard81366ed2015-02-09 13:31:23 +0100838config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
839 bool "3.19.x"
840 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
841
Gustavo Zacariasbf6f74d2014-12-08 08:10:39 -0300842config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
843 bool "3.18.x"
844 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
845
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300846config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
847 bool "3.17.x"
Karoly Kaszab8f9e572014-10-09 12:59:01 +0200848 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300849
Gustavo Zacarias911516f2014-08-03 23:29:22 -0300850config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
851 bool "3.16.x"
852 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
853
Gustavo Zacariasfb29afe2014-06-09 08:30:33 -0300854config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
855 bool "3.15.x"
856 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
857
Samuel Martin11547ca2014-04-06 18:27:49 +0200858config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
859 bool "3.14.x"
860 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
861
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100862config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
863 bool "3.13.x"
864 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
865
866config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
867 bool "3.12.x"
868 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
869
870config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
871 bool "3.11.x"
872 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
873
874config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
875 bool "3.10.x"
876 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
877
878config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
879 bool "3.9.x"
880 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
881
882config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
883 bool "3.8.x"
884 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
885
886config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
887 bool "3.7.x"
888 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
889
890config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
891 bool "3.6.x"
892 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
893
894config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
895 bool "3.5.x"
896 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
897
898config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
899 bool "3.4.x"
900 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
901
902config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
903 bool "3.3.x"
904 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
905
906config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
907 bool "3.2.x"
908 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
909
910config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
911 bool "3.1.x"
912 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
913
914config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
915 bool "3.0.x"
916 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
917
918config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
919 bool "2.6.x"
920
921endchoice
922
923choice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100924 prompt "External toolchain C library"
925 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
926
927config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Waldemar Brodkorb9f4483f2016-10-15 10:13:58 +0200928 bool "uClibc/uClibc-ng"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100929 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
Thomas Petazzonib9882922011-05-30 23:56:57 +0200930 # For the time being, we assume that all custom external
931 # toolchains have shadow password support.
932 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200933 help
934 Select this option if your external toolchain uses the
Waldemar Brodkorb9f4483f2016-10-15 10:13:58 +0200935 uClibc (available from http://www.uclibc.org/)
936 or uClibc-ng (available from http://www.uclibc-ng.org)
937 C library.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100938
939config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000940 bool "glibc/eglibc"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100941 depends on !BR2_STATIC_LIBS
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100942 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000943 help
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200944 Select this option if your external toolchain uses the GNU C
945 library (available from https://www.gnu.org/software/libc/)
946 or its variant the eglibc library (http://www.eglibc.org/).
947
948 Note: eglibc is a variant of glibc that (among other things)
949 can be configured to exclude some of its features. Using a
950 toolchain with eglibc configured to exclude key features may
951 cause build failures to some packages.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100952
Thomas Petazzoni416fd9c2016-06-08 23:40:54 +0200953comment "glibc only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100954 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +0100955
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200956config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200957 bool "musl"
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200958 select BR2_TOOLCHAIN_EXTERNAL_MUSL
959 help
960 Select this option if your external toolchain uses the
961 'musl' C library, available from http://www.musl-libc.org/.
962
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200963endchoice
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +0000964
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100965if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Thomas Petazzonifff71172010-12-13 17:27:37 +0100966
Thomas Petazzonifff71172010-12-13 17:27:37 +0100967config BR2_TOOLCHAIN_EXTERNAL_WCHAR
968 bool "Toolchain has WCHAR support?"
969 select BR2_USE_WCHAR
970 help
971 Select this option if your external toolchain supports
972 WCHAR. If you don't know, leave the default value, Buildroot
973 will tell you if it's correct or not.
974
975config BR2_TOOLCHAIN_EXTERNAL_LOCALE
976 bool "Toolchain has locale support?"
977 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
978 select BR2_ENABLE_LOCALE
979 help
980 Select this option if your external toolchain has locale
981 support. If you don't know, leave the default value,
982 Buildroot will tell you if it's correct or not.
983
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100984config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
985 bool "Toolchain has threads support?"
986 select BR2_TOOLCHAIN_HAS_THREADS
Peter Korsgaard04d06892011-07-26 15:28:19 +0200987 default y
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100988 help
989 Select this option if your external toolchain has thread
990 support. If you don't know, leave the default value,
991 Buildroot will tell you if it's correct or not.
992
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100993if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
994
Peter Korsgaard5931db02011-11-24 14:26:52 +0100995config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
996 bool "Toolchain has threads debugging support?"
Peter Korsgaard5931db02011-11-24 14:26:52 +0100997 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
998 default y
999 help
1000 Select this option if your external toolchain has thread
1001 debugging support. If you don't know, leave the default
1002 value, Buildroot will tell you if it's correct or not.
1003
Thomas Petazzonic64f9482014-02-18 22:08:59 +01001004config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
1005 bool "Toolchain has NPTL threads support?"
1006 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
1007 default y
1008 help
1009 Select this option if your external toolchain uses the NPTL
1010 (Native Posix Thread Library) implementation of Posix
1011 threads. If you don't know, leave the default value,
1012 Buildroot will tell you if it's correct or not.
1013
1014endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
1015
Vicente Olivert Riera79493502016-03-15 16:40:38 +00001016endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
1017
Thomas Petazzonic5866be2013-09-02 18:06:36 +02001018config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
1019 bool "Toolchain has SSP support?"
1020 select BR2_TOOLCHAIN_HAS_SSP
Vicente Olivert Riera79493502016-03-15 16:40:38 +00001021 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
1022 default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzonic5866be2013-09-02 18:06:36 +02001023 help
1024 Selection this option if your external toolchain has Stack
1025 Smashing Protection support enabled. If you don't know,
1026 leave the default value, Buildroot will tell you if it's
1027 correct or not.
1028
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +01001029config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
1030 bool "Toolchain has RPC support?"
1031 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +02001032 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzoni3a843a32012-11-04 07:34:29 +00001033 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +01001034 help
1035 Select this option if your external toolchain supports
1036 RPC. If you don't know, leave the default value, Buildroot
1037 will tell you if it's correct or not.
1038
Thomas Petazzoni6b578c82010-12-13 17:27:41 +01001039config BR2_TOOLCHAIN_EXTERNAL_CXX
1040 bool "Toolchain has C++ support?"
1041 select BR2_INSTALL_LIBSTDCPP
1042 help
1043 Select this option if your external toolchain has C++
1044 support. If you don't know, leave the default value,
1045 Buildroot will tell you if it's correct or not.
1046
Samuel Martina6504382016-07-03 15:47:47 +02001047config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
1048 bool "Toolchain has Fortran support?"
1049 select BR2_TOOLCHAIN_HAS_FORTRAN
1050 help
1051 Select this option if your external toolchain has Fortran
1052 support. If you don't know, leave the default value,
1053 Buildroot will tell you if it's correct or not.
1054
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +02001055config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
1056 string "Extra toolchain libraries to be copied to target"
1057 help
1058 If your external toolchain provides extra libraries that
1059 need to be copied to the target filesystem, enter them
Thomas De Schampheleire919b4f92016-02-12 20:20:26 +01001060 here, separated by spaces.
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +02001061
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01001062endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzonifff71172010-12-13 17:27:37 +01001063
Thomas Petazzonia0b6faa2013-04-07 00:04:33 +00001064config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
1065 bool "Copy gdb server to the Target"
1066 depends on BR2_TOOLCHAIN_EXTERNAL
1067 help
1068 Copy the gdbserver provided by the external toolchain to the
1069 target.
1070
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001071# When the FDPIC shared binary format is used, the corresponding libraries are
1072# always installed. When a different binary format is used, we offer the option
1073# of installing the FDPIC shared libraries.
1074config BR2_BFIN_INSTALL_FDPIC_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +01001075 bool "Install FDPIC shared libraries"
1076 depends on BR2_bfin && !BR2_BINFMT_FDPIC
1077 help
1078 The Linux kernel supports running both FDPIC and FLAT applications
1079 concurrently if the binary format specific libraries are installed
1080 properly. This option allows developer to install FDPIC libraries
1081 into a buildroot rootfs image built with binary format that is not
1082 FDPIC.
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001083
1084# When the FLAT shared binary format is used, we force the installation
1085# of the corresponding libraries. When a different binary format is
1086# used, we offer the option of installing the FLAT shared libraries.
1087config BR2_BFIN_INSTALL_FLAT_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +01001088 bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
1089 depends on BR2_bfin
1090 default y if BR2_BINFMT_FLAT_SHARED
1091 help
1092 The Linux kernel supports running both FDPIC and FLAT applications
1093 concurrently if the binary format specific libraries are installed
1094 properly. This option allows developer to install FLAT libraries
1095 into a buildroot rootfs image built with binary format that is not
1096 shared FLAT.
Sonic Zhang8b4ade82013-06-08 11:14:22 +02001097
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01001098endif # BR2_TOOLCHAIN_EXTERNAL