1 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
3 config BR2_TOOLCHAIN_EXTERNAL_PREFIX
4 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
6 config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
7 default "toolchain-external-custom"
9 config BR2_TOOLCHAIN_EXTERNAL_URL
10 string "Toolchain URL"
11 depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
13 URL of the custom toolchain tarball to download and install.
15 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
16 string "Toolchain prefix"
17 default "$(ARCH)-linux"
20 bool "External toolchain gcc version"
21 default BR2_TOOLCHAIN_EXTERNAL_GCC_7 if BR2_ARCH_NEEDS_GCC_AT_LEAST_7
22 default BR2_TOOLCHAIN_EXTERNAL_GCC_6 if BR2_ARCH_NEEDS_GCC_AT_LEAST_6
23 default BR2_TOOLCHAIN_EXTERNAL_GCC_5 if BR2_ARCH_NEEDS_GCC_AT_LEAST_5
24 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
25 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
26 default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
28 Set to the gcc version that is used by your external
31 config BR2_TOOLCHAIN_EXTERNAL_GCC_7
33 select BR2_TOOLCHAIN_GCC_AT_LEAST_7
35 config BR2_TOOLCHAIN_EXTERNAL_GCC_6
37 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
38 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
40 config BR2_TOOLCHAIN_EXTERNAL_GCC_5
42 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
43 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
45 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
47 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
48 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
50 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
52 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
53 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
55 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
57 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
58 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
60 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
62 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
63 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
65 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
67 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
68 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
70 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
72 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
73 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
75 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
77 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
78 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
80 config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
82 depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
84 Use this option if your GCC version is older than any of the
87 Note that the Buildroot community doesn't do any testing with
88 such old toolchains. Some packages may fail to build in
89 surprising ways, or the generated root filesystem may not
90 work at all. Use such old toolchains at your own risk.
95 bool "External toolchain kernel headers series"
96 default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
98 Set to the kernel headers version that were used to build
99 this external toolchain.
101 This is used to hide/show some packages that have strict
102 requirements on the version of kernel headers.
104 If unsure what version your toolchain is using, you can look
105 at the value of LINUX_VERSION_CODE in linux/version.h in your
106 toolchain. The Linux version is M.m.p, with:
107 M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
108 m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
109 p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
111 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16
113 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
115 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15
117 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
119 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
121 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
123 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
125 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
127 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
129 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
131 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
133 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
135 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
137 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
139 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
141 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
143 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
145 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
147 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
149 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
151 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
153 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
155 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
157 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
159 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
161 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
163 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
165 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
167 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
169 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
171 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
173 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
175 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
177 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
179 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
181 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
183 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
185 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
187 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
189 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
191 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
193 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
195 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
197 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
199 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
201 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
203 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
205 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
207 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
209 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
211 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
213 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
215 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
217 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
219 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
221 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
223 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
225 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
227 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
229 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
231 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
233 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
235 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
237 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
239 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
241 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
243 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
245 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
247 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
249 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
251 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
253 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
255 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
257 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
259 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
265 prompt "External toolchain C library"
266 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
268 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
269 bool "uClibc/uClibc-ng"
270 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
271 # For the time being, we assume that all custom external
272 # toolchains have shadow password support.
273 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
275 Select this option if your external toolchain uses the
276 uClibc (available from http://www.uclibc.org/)
277 or uClibc-ng (available from http://www.uclibc-ng.org)
280 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
282 depends on !BR2_STATIC_LIBS
283 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
285 Select this option if your external toolchain uses the GNU C
286 library (available from https://www.gnu.org/software/libc/)
287 or its variant the eglibc library (http://www.eglibc.org/).
289 Note: eglibc is a variant of glibc that (among other things)
290 can be configured to exclude some of its features. Using a
291 toolchain with eglibc configured to exclude key features may
292 cause build failures to some packages.
294 comment "(e)glibc only available with shared lib support"
295 depends on BR2_STATIC_LIBS
297 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
298 bool "musl (experimental)"
299 select BR2_TOOLCHAIN_EXTERNAL_MUSL
301 Select this option if your external toolchain uses the
302 'musl' C library, available from http://www.musl-libc.org/.
306 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
308 config BR2_TOOLCHAIN_EXTERNAL_WCHAR
309 bool "Toolchain has WCHAR support?"
312 Select this option if your external toolchain supports
313 WCHAR. If you don't know, leave the default value, Buildroot
314 will tell you if it's correct or not.
316 config BR2_TOOLCHAIN_EXTERNAL_LOCALE
317 bool "Toolchain has locale support?"
318 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
319 select BR2_ENABLE_LOCALE
321 Select this option if your external toolchain has locale
322 support. If you don't know, leave the default value,
323 Buildroot will tell you if it's correct or not.
325 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
326 bool "Toolchain has threads support?"
328 select BR2_TOOLCHAIN_HAS_THREADS
330 Select this option if your external toolchain has thread
331 support. If you don't know, leave the default value,
332 Buildroot will tell you if it's correct or not.
334 if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
336 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
337 bool "Toolchain has threads debugging support?"
339 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
341 Select this option if your external toolchain has thread
342 debugging support. If you don't know, leave the default
343 value, Buildroot will tell you if it's correct or not.
345 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
346 bool "Toolchain has NPTL threads support?"
348 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
350 Select this option if your external toolchain uses the NPTL
351 (Native Posix Thread Library) implementation of Posix
352 threads. If you don't know, leave the default value,
353 Buildroot will tell you if it's correct or not.
355 endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
357 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
359 config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
360 bool "Toolchain has SSP support?"
361 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
362 default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
363 select BR2_TOOLCHAIN_HAS_SSP
365 Selection this option if your external toolchain has Stack
366 Smashing Protection support enabled. If you don't know,
367 leave the default value, Buildroot will tell you if it's
370 config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
371 bool "Toolchain has RPC support?"
372 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
373 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
374 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
376 Select this option if your external toolchain supports
377 RPC. If you don't know, leave the default value, Buildroot
378 will tell you if it's correct or not.
380 config BR2_TOOLCHAIN_EXTERNAL_CXX
381 bool "Toolchain has C++ support?"
382 select BR2_INSTALL_LIBSTDCPP
384 Select this option if your external toolchain has C++
385 support. If you don't know, leave the default value,
386 Buildroot will tell you if it's correct or not.
388 config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
389 string "Extra toolchain libraries to be copied to target"
391 If your external toolchain provides extra libraries that
392 need to be copied to the target filesystem, enter them
393 here, separated by spaces. They will be copied to the
394 target's /lib directory.