blob: 1f49975595e6e23b71925333f3d4a3d4737b22a4 [file] [log] [blame]
Bernhard Reutner-Fischer4b0d5a82007-09-26 21:12:38 +00001if BR2_TOOLCHAIN_EXTERNAL
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +00002
Petri Gynther8218ab82016-08-08 11:34:59 -07003comment "Toolchain External Options"
4
Thomas Petazzoni6c492d52010-12-13 17:27:39 +01005choice
6 prompt "Toolchain"
7
Thomas Petazzoni416fd9c2016-06-08 23:40:54 +02008comment "glibc toolchains only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +01009 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +010010
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +010011# Kept toolchains sorted by architecture in order to use some toolchain
12# as default choice
13
14# Aarch64 (use Linaro toolchain by default)
15source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
Thomas Petazzonif0f24982016-11-07 02:20:01 +010016source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in"
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +010017
Thomas Petazzoni21cb9d42016-11-07 02:20:02 +010018# ARM (use Linaro toolchain by default)
19source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in"
Thomas Petazzoni5b3c5b32016-11-07 02:20:03 +010020source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in"
Thomas Petazzoni21cb9d42016-11-07 02:20:02 +010021
Thomas Petazzonic428f452016-11-07 02:20:05 +010022# ARM big-endian
23source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in"
Yann E. MORIN997ef602015-10-27 00:49:40 +010024
Thomas Petazzonicfacefe2016-11-07 02:20:06 +010025# Blackfin
26source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in"
27
Thomas Petazzoni1e1bef52016-11-07 02:20:07 +010028# MIPS (use codesourcery toolchain by default)
29source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in"
30
Romain Naour18206242015-12-19 19:14:46 +010031config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020032 bool "Arago ARMv7 2011.09"
33 depends on BR2_arm
34 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +020035 depends on BR2_ARM_CPU_ARMV7A
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020036 depends on BR2_ARM_EABI
Yann E. MORIN08ce1092015-12-26 17:05:45 +010037 depends on BR2_ARM_CPU_HAS_VFPV3
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010038 depends on !BR2_STATIC_LIBS
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020039 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000040 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020041 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
42 select BR2_INSTALL_LIBSTDCPP
43 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +020044 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +010045 # kernel headers: 2.6.31
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020046 help
47 Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
48 binutils 2.20.1, glibc 2.12, gdb 7.2.
49
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020050 This toolchain uses -mfloat-abi=softfp (i.e can use FPU
51 instructions, but passes floating point function arguments
52 in integer registers), and requires a VFPv3 floating point
53 unit to work properly. This unit is available on most
54 Cortex-A ARM processors, but not all.
Thomas Petazzoni93d2b242013-06-08 11:14:17 +020055
Romain Naour18206242015-12-19 19:14:46 +010056config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Thomas Petazzoni2592f252013-06-08 11:14:18 +020057 bool "Arago ARMv5 2011.09"
58 depends on BR2_arm
59 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni29f68062014-10-21 22:27:06 +020060 depends on !BR2_ARM_CPU_ARMV4
Thomas Petazzoniea6b2772013-07-16 10:03:20 +020061 depends on BR2_ARM_EABI
Thomas Petazzoni665e13c2014-12-03 22:41:29 +010062 depends on !BR2_STATIC_LIBS
Thomas Petazzoni2592f252013-06-08 11:14:18 +020063 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +000064 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2592f252013-06-08 11:14:18 +020065 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
66 select BR2_INSTALL_LIBSTDCPP
67 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzonibd760c32015-08-04 20:00:35 +020068 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
Yann E. MORINb6f321b2014-03-01 15:52:58 +010069 # kernel headers: 2.6.31
Thomas Petazzoni2592f252013-06-08 11:14:18 +020070 help
71 Texas Instruments Arago ARMv5 2011.09 toolchain, with gcc
72 4.5.3, binutils 2.20.1, glibc 2.12, gdb 7.2.
73
74 This toolchain uses software-floating point.
75
Vicente Olivert Rierae424c132015-12-15 16:21:25 +000076config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +010077 bool "Codescape IMG GNU Linux Toolchain 2016.05"
Vicente Olivert Rierae424c132015-12-15 16:21:25 +000078 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
79 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +010080 depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierae424c132015-12-15 16:21:25 +000081 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
82 select BR2_INSTALL_LIBSTDCPP
83 select BR2_HOSTARCH_NEEDS_IA32_LIBS
84 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
85 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +010086 select BR2_TOOLCHAIN_HAS_FORTRAN
Vicente Olivert Rierae424c132015-12-15 16:21:25 +000087 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +000088 Codescape IMG GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierae424c132015-12-15 16:21:25 +000089 architecture, from Imagination Technologies. It uses gcc
90 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
91 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +000092 - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +000093 Select 'MIPS (big endian)' Target Architecture
94 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +000095 Disable 'Use soft-float'
96 - MIPS32r6 - Big-Endian, Soft-Float, 2008 NaN, o32 ABI
97 Select 'MIPS (big endian)' Target Architecture
98 Select 'mips 32r6' Target Architecture Variant
99 Enable 'Use soft-float'
100 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000101 Select 'MIPS (little endian)' Target Architecture
102 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000103 Disable 'Use soft-float'
104 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000105 Select 'MIPS (little endian)' Target Architecture
106 Select 'mips 32r6' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000107 Enable 'Use soft-float'
108 - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
109 Select 'MIPS (little endian)' Target Architecture
110 Select 'mips 32r6' Target Architecture Variant
111 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000112 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000113 - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS
114 Select 'MIPS (little endian)' Target Architecture
115 Select 'mips 32r6' Target Architecture Variant
116 Enable 'Use soft-float'
117 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
118 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000119 Select 'MIPS64 (big endian)' Target Architecture
120 Select 'mips 64r6' Target Architecture Variant
121 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000122 Disable 'Use soft-float'
123 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n32 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000124 Select 'MIPS64 (little endian)' Target Architecture
125 Select 'mips 64r6' Target Architecture Variant
126 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000127 Disable 'Use soft-float'
128 - MIPS64r6 - Big-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000129 Select 'MIPS64 (big endian)' Target Architecture
130 Select 'mips 64r6' Target Architecture Variant
131 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000132 Disable 'Use soft-float'
133 - MIPS64r6 - Little-Endian, Hard-Float, 2008 NaN, n64 ABI
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000134 Select 'MIPS64 (little endian)' Target Architecture
135 Select 'mips 64r6' Target Architecture Variant
136 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000137 Disable 'Use soft-float'
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000138
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000139config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100140 bool "Codescape MTI GNU Linux Toolchain 2016.05"
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000141 depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
142 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Riera2373ce22016-09-30 10:36:53 +0100143 depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \
144 BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT)
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000145 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
146 select BR2_INSTALL_LIBSTDCPP
147 select BR2_HOSTARCH_NEEDS_IA32_LIBS
148 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
149 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
Vicente Olivert Rieraddf28672016-07-04 11:17:40 +0100150 select BR2_TOOLCHAIN_HAS_FORTRAN
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000151 help
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000152 Codescape MTI GNU Linux Toolchain 2015.10 for the MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000153 architecture, from Imagination Technologies. It uses gcc
154 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel
155 headers 4.0. It has support for the following variants:
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000156 - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000157 Select 'MIPS (big endian)' Target Architecture
158 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000159 Disable 'Use soft-float'
160 - MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000161 Select 'MIPS (big endian)' Target Architecture
162 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000163 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000164 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000165 - MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
166 Select 'MIPS (big endian)' Target Architecture
167 Select 'mips 32r2' Target Architecture Variant
168 Enable 'Use soft-float'
169 - MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000170 Select 'MIPS (little endian)' Target Architecture
171 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000172 Disable 'Use soft-float'
173 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000174 Select 'MIPS (little endian)' Target Architecture
175 Select 'mips 32r2' Target Architecture Variant
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000176 Disable 'Use soft-float'
177 Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
178 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
179 Select 'MIPS (little endian)' Target Architecture
180 Select 'mips 32r2' Target Architecture Variant
181 Enable 'Use soft-float'
182 - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS
183 Select 'MIPS (little endian)' Target Architecture
184 Select 'mips 32r2' Target Architecture Variant
185 Enable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000186 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000187 - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS
188 Select 'MIPS (little endian)' Target Architecture
189 Select 'mips 32r2' Target Architecture Variant
190 Disable 'Use soft-float'
191 Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
192 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000193 Select 'MIPS64 (big endian)' Target Architecture
194 Select 'mips 64r2' Target Architecture Variant
195 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000196 Disable 'Use soft-float'
197 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000198 Select 'MIPS64 (little endian)' Target Architecture
199 Select 'mips 64r2' Target Architecture Variant
200 Select 'n32' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000201 Disable 'Use soft-float'
202 - MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000203 Select 'MIPS64 (big endian)' Target Architecture
204 Select 'mips 64r2' Target Architecture Variant
205 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000206 Disable 'Use soft-float'
207 - MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000208 Select 'MIPS64 (little endian)' Target Architecture
209 Select 'mips 64r2' Target Architecture Variant
210 Select 'n64' Target ABI
Vicente Olivert Riera2b3fa6b2016-03-08 09:46:09 +0000211 Disable 'Use soft-float'
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000212
Romain Naourc785b1b2015-11-21 17:36:16 +0100213config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour04c9d652016-05-19 00:23:30 +0200214 bool "Sourcery CodeBench Nios-II 2016.05"
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300215 depends on BR2_nios2
216 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100217 depends on !BR2_STATIC_LIBS
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300218 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000219 select BR2_TOOLCHAIN_HAS_SSP
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300220 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
221 select BR2_INSTALL_LIBSTDCPP
222 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour04c9d652016-05-19 00:23:30 +0200223 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
Romain Naoure7e5a762015-11-21 17:36:17 +0100224 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Romain Naour5dce3c02016-02-20 13:42:46 +0100225 select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405 # based-on binutils-2.25.1
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300226 help
227 Sourcery CodeBench toolchain for the Nios-II architecture,
Romain Naour04c9d652016-05-19 00:23:30 +0200228 from Mentor Graphics. It uses gcc 5.3, binutils 2.25.51,
229 glibc 2.23, gdb 7.10.50 and kernel headers 4.4.
Ezequiel García3ca5f0b2014-08-31 18:33:39 -0300230
Romain Naour3e1ae892015-12-19 19:14:42 +0100231config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Thomas Petazzonie067a442012-11-04 07:34:21 +0000232 bool "Sourcery CodeBench SH 2012.09"
233 depends on BR2_sh4a || BR2_sh4aeb
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000234 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100235 depends on !BR2_STATIC_LIBS
Thomas Petazzonie067a442012-11-04 07:34:21 +0000236 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000237 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzonie067a442012-11-04 07:34:21 +0000238 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
239 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000240 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100241 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200242 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzonie067a442012-11-04 07:34:21 +0000243 help
244 Sourcery CodeBench toolchain for the SuperH architecture,
245 from Mentor Graphics. It uses gcc 4.7.2, binutils 2.23.51,
246 glibc 2.16, uClibc 0.9.30, gdb 7.4.50 and kernel headers
247 3.5.4. It has support for the following variants:
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100248 - SH4A, glibc, little endian
249 Default.
250 - SH4A, glibc, big endian
251 Add -mb to BR2_TARGET_OPTIMIZATION
252 - SH4A, uClibc, little endian
253 Not usable in Buildroot yet.
254 - SH4A, uClibc, big endian
255 Not usable in Buildroot yet.
Thomas Petazzonie067a442012-11-04 07:34:21 +0000256
Romain Naour23ba8182015-11-21 17:36:14 +0100257config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Romain Naour09f1a3b2015-11-21 17:36:15 +0100258 bool "Sourcery CodeBench AMD64 2015.11"
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300259 depends on BR2_x86_64
260 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
261 depends on !BR2_STATIC_LIBS
262 depends on BR2_x86_jaguar || BR2_x86_steamroller
263 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000264 select BR2_TOOLCHAIN_HAS_SSP
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300265 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
266 select BR2_INSTALL_LIBSTDCPP
267 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Romain Naour09f1a3b2015-11-21 17:36:15 +0100268 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
269 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300270 help
271 Sourcery CodeBench toolchain for the amd64 (x86_64)
Romain Naour09f1a3b2015-11-21 17:36:15 +0100272 architectures, from Mentor Graphics. It uses gcc 5.2,
273 binutils 2.25.51, glibc 2.22, gdb 7.10.50 and kernel headers
274 4.2. It has support for the following variants:
Gustavo Zacariasd6fbd852015-03-03 12:52:31 -0300275 - AMD Puma/Jaguar (family 16h), glibc
276 Default for x86_64, nothing special to do.
277 - AMD Steamroller (family 15h), glibc
278 Select a steamroller core.
279 No other architecture variants are supported since glibc
280 is optimized for one of these two baselines.
281
Romain Naourf4da09e2015-12-19 19:14:43 +0100282config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000283 bool "Sourcery CodeBench x86/x86_64 2012.09"
284 depends on BR2_i386 || BR2_x86_64
Thomas Petazzoni4eff1f22012-12-29 06:14:48 +0000285 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100286 depends on !BR2_STATIC_LIBS
Adrien Bérauda20cb382014-01-15 17:17:10 -0500287 depends on !BR2_x86_jaguar
Gustavo Zacarias50451992015-03-03 12:52:30 -0300288 depends on !BR2_x86_steamroller
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000289 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000290 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000291 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
292 select BR2_INSTALL_LIBSTDCPP
Thomas Petazzoni2d16ba92012-12-29 06:14:50 +0000293 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Yann E. MORINb6f321b2014-03-01 15:52:58 +0100294 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200295 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
Thomas Petazzoni1c811232012-11-04 07:34:22 +0000296 help
297 Sourcery CodeBench toolchain for the x86/x86_64
298 architectures, from Mentor Graphics. It uses gcc 4.7.2,
299 binutils 2.23.51, glibc 2.16, gdb 7.4.50 and kernel headers
300 3.5.4. It has support for the following variants:
301 - Intel Pentium 4, glibc, 32 bits
302 Default for x86, nothing special to do.
303 - Intel Atom, glibc, 32 bits
304 Select an Atom core
305 - Intel Xeon, glibc, 64 bits
306 Default for x86_64, nothing special to do.
307 - Intel Core 2, glibc, 64 bits
308 Select a Core 2 core
309 Other architecture variants (beyond Pentium-4/Xeon) are
310 supported as well, but glibc is not optimised for it.
311
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200312config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200313 bool "Musl 1.1.12 toolchain"
Thomas Petazzonie9f6ef82016-07-28 15:39:14 +0200314 depends on (BR2_arm && BR2_ARM_EABI && BR2_USE_MMU) || \
315 (BR2_arm && BR2_ARM_EABIHF && !BR2_ARM_CPU_ARMV4 && BR2_USE_MMU) || \
316 (BR2_armeb && BR2_ARM_EABI && !BR2_ARM_CPU_ARMV7A && BR2_USE_MMU) || \
317 BR2_i386 || (BR2_mips && !BR2_SOFT_FLOAT) || \
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100318 BR2_mipsel || (BR2_powerpc && BR2_powerpc_CLASSIC) || \
319 BR2_sh4 || BR2_sh4eb || \
320 BR2_x86_64
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200321 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
Vicente Olivert Rieraef3e7322016-09-30 10:36:54 +0100322 # Unsupported MIPS cores
Vicente Olivert Riera55a37ea2016-09-30 10:36:56 +0100323 depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && !BR2_mips_m5101
Vicente Olivert Riera99122d62015-10-12 11:08:06 +0100324 # Unsupported for MIPS R6
Vicente Olivert Riera45c92c62016-09-30 10:36:49 +0100325 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200326 select BR2_TOOLCHAIN_EXTERNAL_MUSL
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000327 select BR2_TOOLCHAIN_HAS_SSP
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200328 select BR2_INSTALL_LIBSTDCPP
329 select BR2_HOSTARCH_NEEDS_IA32_LIBS
Thomas Petazzoni5c852662014-06-01 12:47:45 +0200330 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100331 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200332 help
333 Toolchain based on the Musl C library, provided by the
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100334 musl-cross project. It uses gcc 5.3, binutils 2.25.1 and
335 musl 1.1.12. It does not have a cross debugger included.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200336
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200337 The ARM soft-float toolchain is built for ARMv4t, while the
338 ARM hard-float toolchain is built for ARMv5t.
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200339 The x86 toolchain is built for i486.
340
341 http://musl.codu.org/
342
Romain Naourd02fa922015-12-19 19:14:45 +0100343config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300344 bool "Synopsys ARC 2014.12 toolchain"
345 depends on BR2_arc
346 depends on BR2_HOSTARCH = "x86_64"
Thomas Petazzonicd3c00f2015-05-01 11:13:54 +0200347 # does not provide IPv6, and lacks many uClibc features
348 # expected by Buildroot. The next Synopsys toolchain version
349 # should fix those problems.
350 depends on BROKEN
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300351 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
352 select BR2_INSTALL_LIBSTDCPP
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300353 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
354 select BR2_ENABLE_LOCALE
355 select BR2_USE_WCHAR
356 select BR2_TOOLCHAIN_HAS_THREADS
357 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
358 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200359 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
Alexey Brodkin2b93fe52015-03-10 14:50:24 +0300360 help
361 Toolchain for the ARC cores, from
362 https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases
363
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100364config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleire5022fa82012-06-22 07:42:37 +0200365 bool "Custom toolchain"
366 help
367 Use this option to use a custom toolchain pre-installed on
368 your system.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100369
370endchoice
371
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200372choice
373 prompt "Toolchain origin"
Thomas Petazzoni70194072012-07-22 20:57:26 +0200374 # Keep compatibility with old defconfig files that are using
375 # custom toolchains, and which are therefore assuming that
376 # "preinstalled" in the default choice.
377 default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200378
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100379config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200380 bool "Toolchain to be downloaded and installed"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100381 help
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200382 Select this option if you want Buildroot to download and install the
383 toolchain. If you have selected a custom toolchain, specify the URL
384 in BR2_TOOLCHAIN_EXTERNAL_URL.
385
386config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
387 bool "Pre-installed toolchain"
388 help
389 Select this option if you want to use a pre-installed toolchain.
390 Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH.
391
392endchoice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100393
394config BR2_TOOLCHAIN_EXTERNAL_PATH
395 string "Toolchain path"
396 default "/path/to/toolchain/usr"
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200397 depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100398 help
399 Path to where the external toolchain is installed.
400
Thomas De Schampheleiredf0c1252012-06-22 07:42:38 +0200401config BR2_TOOLCHAIN_EXTERNAL_URL
402 string "Toolchain URL"
403 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM && BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
404 help
405 URL of the custom toolchain tarball to download and install.
406
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100407config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
408 string "Toolchain prefix"
409 depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
410 default "$(ARCH)-linux"
411
412config BR2_TOOLCHAIN_EXTERNAL_PREFIX
413 string
Romain Naourd02fa922015-12-19 19:14:45 +0100414 default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arcle
415 default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC && BR2_arceb
Romain Naour18206242015-12-19 19:14:46 +0100416 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
417 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
Romain Naourc785b1b2015-11-21 17:36:16 +0100418 default "nios2-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
Romain Naour3e1ae892015-12-19 19:14:42 +0100419 default "sh-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
Romain Naourf4da09e2015-12-19 19:14:43 +0100420 default "i686-pc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
Romain Naour23ba8182015-11-21 17:36:14 +0100421 default "x86_64-amd-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64
Thomas Petazzonib2ec7832015-10-09 11:14:48 +0200422 default "arm-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABI
423 default "arm-linux-musleabihf" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_arm && BR2_ARM_EABIHF
Vicente Olivert Rierae424c132015-12-15 16:21:25 +0000424 default "mips-img-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
Vicente Olivert Rierac65c7282015-12-15 16:21:24 +0000425 default "mips-mti-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200426 default "armeb-linux-musleabi" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_armeb
427 default "i486-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_i386
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200428 default "mips-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mips && !BR2_SOFT_FLOAT)
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200429 default "mipsel-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && !BR2_SOFT_FLOAT)
430 default "mipsel-sf-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && (BR2_mipsel && BR2_SOFT_FLOAT)
431 default "powerpc-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_powerpc
Thomas Petazzonidf4d9082016-03-04 23:50:07 +0100432 default "sh4-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4
433 default "sh4eb-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_sh4eb
Thomas Petazzoni2d71c122014-05-05 23:17:10 +0200434 default "x86_64-linux-musl" if BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS && BR2_x86_64
Thomas De Schampheleirefbc24942013-09-02 22:07:53 +0200435 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX \
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100436 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200437
438config BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100439 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200440 select BR2_TOOLCHAIN_USES_GLIBC
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200441
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100442config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
443 bool
Thomas Petazzoni381616e2013-06-30 21:29:09 +0200444 select BR2_TOOLCHAIN_USES_UCLIBC
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100445
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200446config BR2_TOOLCHAIN_EXTERNAL_MUSL
447 bool
448 select BR2_TOOLCHAIN_USES_MUSL
Yann E. MORINe31eb722016-08-18 23:50:13 +0200449 # Compatibility headers: cdefs.h, queue.h
450 select BR2_PACKAGE_MUSL_COMPAT_HEADERS
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200451
Arnout Vandecappelle1c99d702016-11-07 02:19:59 +0100452# Make sure the virtual-package infra checks the provider
453config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL
454 bool
455 default y
456
457config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
458 string
459
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +0100460# Kept toolchains sorted as in the choice above
461# The toolchain Config.in.options must define
462# BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX
463
464# Aarch64
465source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
Thomas Petazzonif0f24982016-11-07 02:20:01 +0100466source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options"
Thomas Petazzonif1f2ae52016-11-07 02:20:00 +0100467
Thomas Petazzoni21cb9d42016-11-07 02:20:02 +0100468# ARM
469source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options"
Thomas Petazzoni5b3c5b32016-11-07 02:20:03 +0100470source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options"
Thomas Petazzoni21cb9d42016-11-07 02:20:02 +0100471
Thomas Petazzonic428f452016-11-07 02:20:05 +0100472# ARM big-endian
473source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options"
474
Thomas Petazzonicfacefe2016-11-07 02:20:06 +0100475# Blackfin
476source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options"
477
Thomas Petazzoni1e1bef52016-11-07 02:20:07 +0100478# MIPS
479source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options"
480
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100481if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
482
483choice
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200484 bool "External toolchain gcc version"
485 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
486 help
487 Set to the gcc version that is used by your external
488 toolchain.
489
Jörg Krause8f972c22016-05-01 09:29:35 +0200490config BR2_TOOLCHAIN_EXTERNAL_GCC_6
491 bool "6.x"
492 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
493
Thomas Petazzonibd760c32015-08-04 20:00:35 +0200494config BR2_TOOLCHAIN_EXTERNAL_GCC_5
495 bool "5.x"
496 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
497
498config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
499 bool "4.9.x"
500 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
501
502config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
503 bool "4.8.x"
504 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
505
506config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
507 bool "4.7.x"
508 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
509
510config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
511 bool "4.6.x"
512 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
513
514config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
515 bool "4.5.x"
516 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
517
518config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
519 bool "4.4.x"
520 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
521
522config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
523 bool "4.3.x"
524 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
525
526endchoice
527
528choice
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100529 bool "External toolchain kernel headers series"
530 default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
531 help
532 Set to the kernel headers version that were used to build
533 this external toolchain.
534
535 This is used to hide/show some packages that have strict
536 requirements on the version of kernel headers.
537
538 If unsure what version your toolchain is using, you can look
539 at the value of LINUX_VERSION_CODE in linux/version.h in your
540 toolchain. The Linux version is M.m.p, with:
541 M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
542 m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
543 p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
544
Fabio Estevamd3ac2bc2016-09-12 13:15:54 -0300545config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
546 bool "4.8.x"
547 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
548
Fabio Estevame36bf632016-07-24 20:56:09 -0300549config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
550 bool "4.7.x"
551 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
552
Gustavo Zacarias51800d22016-05-16 08:58:12 -0300553config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
554 bool "4.6.x"
555 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
556
Gustavo Zacarias3ece3fa2016-03-14 07:14:10 -0300557config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
558 bool "4.5.x"
559 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
560
Gustavo Zacariasdf2ad612016-01-11 07:52:36 -0300561config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
562 bool "4.4.x"
563 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
564
Vicente Olivert Rieraaef2df82015-11-02 15:56:51 +0100565config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
566 bool "4.3.x"
567 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
568
Peter Korsgaard8dc68292015-09-01 10:05:20 +0200569config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
570 bool "4.2.x"
571 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
572
Gustavo Zacariasdae7d8a2015-06-22 10:11:03 -0300573config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
574 bool "4.1.x"
575 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
576
Gustavo Zacariase714ee92015-04-13 10:00:23 -0300577config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
578 bool "4.0.x"
579 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
580
Peter Korsgaard81366ed2015-02-09 13:31:23 +0100581config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
582 bool "3.19.x"
583 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
584
Gustavo Zacariasbf6f74d2014-12-08 08:10:39 -0300585config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
586 bool "3.18.x"
587 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
588
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300589config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
590 bool "3.17.x"
Karoly Kaszab8f9e572014-10-09 12:59:01 +0200591 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
Gustavo Zacarias2d312b72014-10-06 08:44:39 -0300592
Gustavo Zacarias911516f2014-08-03 23:29:22 -0300593config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
594 bool "3.16.x"
595 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
596
Gustavo Zacariasfb29afe2014-06-09 08:30:33 -0300597config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
598 bool "3.15.x"
599 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
600
Samuel Martin11547ca2014-04-06 18:27:49 +0200601config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
602 bool "3.14.x"
603 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
604
Yann E. MORINc58bcd52014-03-01 15:52:59 +0100605config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
606 bool "3.13.x"
607 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
608
609config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
610 bool "3.12.x"
611 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
612
613config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
614 bool "3.11.x"
615 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
616
617config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
618 bool "3.10.x"
619 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
620
621config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
622 bool "3.9.x"
623 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
624
625config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
626 bool "3.8.x"
627 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
628
629config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
630 bool "3.7.x"
631 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
632
633config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
634 bool "3.6.x"
635 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
636
637config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
638 bool "3.5.x"
639 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
640
641config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
642 bool "3.4.x"
643 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
644
645config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
646 bool "3.3.x"
647 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
648
649config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
650 bool "3.2.x"
651 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
652
653config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
654 bool "3.1.x"
655 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
656
657config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
658 bool "3.0.x"
659 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
660
661config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
662 bool "2.6.x"
663
664endchoice
665
666choice
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100667 prompt "External toolchain C library"
668 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
669
670config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Waldemar Brodkorb9f4483f2016-10-15 10:13:58 +0200671 bool "uClibc/uClibc-ng"
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100672 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
Thomas Petazzonib9882922011-05-30 23:56:57 +0200673 # For the time being, we assume that all custom external
674 # toolchains have shadow password support.
675 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200676 help
677 Select this option if your external toolchain uses the
Waldemar Brodkorb9f4483f2016-10-15 10:13:58 +0200678 uClibc (available from http://www.uclibc.org/)
679 or uClibc-ng (available from http://www.uclibc-ng.org)
680 C library.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100681
682config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000683 bool "glibc/eglibc"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100684 depends on !BR2_STATIC_LIBS
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100685 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
Baruch Siach96688932012-09-27 09:27:42 +0000686 help
Thomas Petazzoni692a5852013-10-08 20:17:10 +0200687 Select this option if your external toolchain uses the GNU C
688 library (available from https://www.gnu.org/software/libc/)
689 or its variant the eglibc library (http://www.eglibc.org/).
690
691 Note: eglibc is a variant of glibc that (among other things)
692 can be configured to exclude some of its features. Using a
693 toolchain with eglibc configured to exclude key features may
694 cause build failures to some packages.
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100695
Thomas Petazzoni416fd9c2016-06-08 23:40:54 +0200696comment "glibc only available with shared lib support"
Thomas Petazzoni665e13c2014-12-03 22:41:29 +0100697 depends on BR2_STATIC_LIBS
Thomas Petazzonied3f3e42013-11-11 18:57:32 +0100698
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200699config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
Thomas Petazzonia8e6f522016-05-17 00:13:02 +0200700 bool "musl"
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200701 select BR2_TOOLCHAIN_EXTERNAL_MUSL
702 help
703 Select this option if your external toolchain uses the
704 'musl' C library, available from http://www.musl-libc.org/.
705
Thomas Petazzoni643aa232009-05-29 18:37:41 +0200706endchoice
"Steven J. Hill"02f71aa2007-02-06 18:19:38 +0000707
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100708if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
Thomas Petazzonifff71172010-12-13 17:27:37 +0100709
Thomas Petazzonifff71172010-12-13 17:27:37 +0100710config BR2_TOOLCHAIN_EXTERNAL_WCHAR
711 bool "Toolchain has WCHAR support?"
712 select BR2_USE_WCHAR
713 help
714 Select this option if your external toolchain supports
715 WCHAR. If you don't know, leave the default value, Buildroot
716 will tell you if it's correct or not.
717
718config BR2_TOOLCHAIN_EXTERNAL_LOCALE
719 bool "Toolchain has locale support?"
720 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
721 select BR2_ENABLE_LOCALE
722 help
723 Select this option if your external toolchain has locale
724 support. If you don't know, leave the default value,
725 Buildroot will tell you if it's correct or not.
726
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100727config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
728 bool "Toolchain has threads support?"
729 select BR2_TOOLCHAIN_HAS_THREADS
Peter Korsgaard04d06892011-07-26 15:28:19 +0200730 default y
Thomas Petazzoni9eaad202010-12-13 17:27:44 +0100731 help
732 Select this option if your external toolchain has thread
733 support. If you don't know, leave the default value,
734 Buildroot will tell you if it's correct or not.
735
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100736if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
737
Peter Korsgaard5931db02011-11-24 14:26:52 +0100738config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
739 bool "Toolchain has threads debugging support?"
Peter Korsgaard5931db02011-11-24 14:26:52 +0100740 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
741 default y
742 help
743 Select this option if your external toolchain has thread
744 debugging support. If you don't know, leave the default
745 value, Buildroot will tell you if it's correct or not.
746
Thomas Petazzonic64f9482014-02-18 22:08:59 +0100747config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
748 bool "Toolchain has NPTL threads support?"
749 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
750 default y
751 help
752 Select this option if your external toolchain uses the NPTL
753 (Native Posix Thread Library) implementation of Posix
754 threads. If you don't know, leave the default value,
755 Buildroot will tell you if it's correct or not.
756
757endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
758
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000759endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
760
Thomas Petazzonic5866be2013-09-02 18:06:36 +0200761config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
762 bool "Toolchain has SSP support?"
763 select BR2_TOOLCHAIN_HAS_SSP
Vicente Olivert Riera79493502016-03-15 16:40:38 +0000764 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
765 default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzonic5866be2013-09-02 18:06:36 +0200766 help
767 Selection this option if your external toolchain has Stack
768 Smashing Protection support enabled. If you don't know,
769 leave the default value, Buildroot will tell you if it's
770 correct or not.
771
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100772config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
773 bool "Toolchain has RPC support?"
774 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
Thomas Petazzonia1d94aa2013-10-08 20:17:09 +0200775 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
Thomas Petazzoni3a843a32012-11-04 07:34:29 +0000776 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
Thomas Petazzoni9fbdf062012-11-03 18:47:50 +0100777 help
778 Select this option if your external toolchain supports
779 RPC. If you don't know, leave the default value, Buildroot
780 will tell you if it's correct or not.
781
Thomas Petazzoni6b578c82010-12-13 17:27:41 +0100782config BR2_TOOLCHAIN_EXTERNAL_CXX
783 bool "Toolchain has C++ support?"
784 select BR2_INSTALL_LIBSTDCPP
785 help
786 Select this option if your external toolchain has C++
787 support. If you don't know, leave the default value,
788 Buildroot will tell you if it's correct or not.
789
Samuel Martina6504382016-07-03 15:47:47 +0200790config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
791 bool "Toolchain has Fortran support?"
792 select BR2_TOOLCHAIN_HAS_FORTRAN
793 help
794 Select this option if your external toolchain has Fortran
795 support. If you don't know, leave the default value,
796 Buildroot will tell you if it's correct or not.
797
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +0200798config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
799 string "Extra toolchain libraries to be copied to target"
800 help
801 If your external toolchain provides extra libraries that
802 need to be copied to the target filesystem, enter them
Thomas De Schampheleire919b4f92016-02-12 20:20:26 +0100803 here, separated by spaces.
Thomas De Schampheleirec72f54b2011-10-02 21:20:10 +0200804
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100805endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
Thomas Petazzonifff71172010-12-13 17:27:37 +0100806
Thomas Petazzonia0b6faa2013-04-07 00:04:33 +0000807config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
808 bool "Copy gdb server to the Target"
809 depends on BR2_TOOLCHAIN_EXTERNAL
810 help
811 Copy the gdbserver provided by the external toolchain to the
812 target.
813
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200814# When the FDPIC shared binary format is used, the corresponding libraries are
815# always installed. When a different binary format is used, we offer the option
816# of installing the FDPIC shared libraries.
817config BR2_BFIN_INSTALL_FDPIC_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100818 bool "Install FDPIC shared libraries"
819 depends on BR2_bfin && !BR2_BINFMT_FDPIC
820 help
821 The Linux kernel supports running both FDPIC and FLAT applications
822 concurrently if the binary format specific libraries are installed
823 properly. This option allows developer to install FDPIC libraries
824 into a buildroot rootfs image built with binary format that is not
825 FDPIC.
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200826
827# When the FLAT shared binary format is used, we force the installation
828# of the corresponding libraries. When a different binary format is
829# used, we offer the option of installing the FLAT shared libraries.
830config BR2_BFIN_INSTALL_FLAT_SHARED
Thomas De Schampheleirebed4e272013-11-11 17:23:23 +0100831 bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
832 depends on BR2_bfin
833 default y if BR2_BINFMT_FLAT_SHARED
834 help
835 The Linux kernel supports running both FDPIC and FLAT applications
836 concurrently if the binary format specific libraries are installed
837 properly. This option allows developer to install FLAT libraries
838 into a buildroot rootfs image built with binary format that is not
839 shared FLAT.
Sonic Zhang8b4ade82013-06-08 11:14:22 +0200840
Thomas Petazzoni6c492d52010-12-13 17:27:39 +0100841endif # BR2_TOOLCHAIN_EXTERNAL