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_15
113 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
115 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
117 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
119 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
121 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
123 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
125 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
127 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
129 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
131 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
133 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
135 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
137 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
139 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
141 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
143 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
145 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
147 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
149 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
151 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
153 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
155 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
157 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
159 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
161 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
163 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
165 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
167 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
169 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
171 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
173 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
175 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
177 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
179 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
181 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
183 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
185 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
187 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
189 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
191 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
193 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
195 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
197 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
199 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
201 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
203 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
205 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
207 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
209 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
211 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
213 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
215 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
217 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
219 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
221 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
223 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
225 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
227 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
229 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
231 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
233 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
235 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
237 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
239 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
241 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
243 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
245 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
247 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
249 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
251 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
253 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
255 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
261 prompt "External toolchain C library"
262 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
264 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
265 bool "uClibc/uClibc-ng"
266 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
267 # For the time being, we assume that all custom external
268 # toolchains have shadow password support.
269 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
271 Select this option if your external toolchain uses the
272 uClibc (available from http://www.uclibc.org/)
273 or uClibc-ng (available from http://www.uclibc-ng.org)
276 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
278 depends on !BR2_STATIC_LIBS
279 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
281 Select this option if your external toolchain uses the GNU C
282 library (available from https://www.gnu.org/software/libc/)
283 or its variant the eglibc library (http://www.eglibc.org/).
285 Note: eglibc is a variant of glibc that (among other things)
286 can be configured to exclude some of its features. Using a
287 toolchain with eglibc configured to exclude key features may
288 cause build failures to some packages.
290 comment "(e)glibc only available with shared lib support"
291 depends on BR2_STATIC_LIBS
293 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
294 bool "musl (experimental)"
295 select BR2_TOOLCHAIN_EXTERNAL_MUSL
297 Select this option if your external toolchain uses the
298 'musl' C library, available from http://www.musl-libc.org/.
302 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
304 config BR2_TOOLCHAIN_EXTERNAL_WCHAR
305 bool "Toolchain has WCHAR support?"
308 Select this option if your external toolchain supports
309 WCHAR. If you don't know, leave the default value, Buildroot
310 will tell you if it's correct or not.
312 config BR2_TOOLCHAIN_EXTERNAL_LOCALE
313 bool "Toolchain has locale support?"
314 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
315 select BR2_ENABLE_LOCALE
317 Select this option if your external toolchain has locale
318 support. If you don't know, leave the default value,
319 Buildroot will tell you if it's correct or not.
321 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
322 bool "Toolchain has threads support?"
324 select BR2_TOOLCHAIN_HAS_THREADS
326 Select this option if your external toolchain has thread
327 support. If you don't know, leave the default value,
328 Buildroot will tell you if it's correct or not.
330 if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
332 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
333 bool "Toolchain has threads debugging support?"
335 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
337 Select this option if your external toolchain has thread
338 debugging support. If you don't know, leave the default
339 value, Buildroot will tell you if it's correct or not.
341 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
342 bool "Toolchain has NPTL threads support?"
344 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
346 Select this option if your external toolchain uses the NPTL
347 (Native Posix Thread Library) implementation of Posix
348 threads. If you don't know, leave the default value,
349 Buildroot will tell you if it's correct or not.
351 endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
353 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
355 config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
356 bool "Toolchain has SSP support?"
357 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
358 default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
359 select BR2_TOOLCHAIN_HAS_SSP
361 Selection this option if your external toolchain has Stack
362 Smashing Protection support enabled. If you don't know,
363 leave the default value, Buildroot will tell you if it's
366 config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
367 bool "Toolchain has RPC support?"
368 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
369 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
370 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
372 Select this option if your external toolchain supports
373 RPC. If you don't know, leave the default value, Buildroot
374 will tell you if it's correct or not.
376 config BR2_TOOLCHAIN_EXTERNAL_CXX
377 bool "Toolchain has C++ support?"
378 select BR2_INSTALL_LIBSTDCPP
380 Select this option if your external toolchain has C++
381 support. If you don't know, leave the default value,
382 Buildroot will tell you if it's correct or not.
384 config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
385 string "Extra toolchain libraries to be copied to target"
387 If your external toolchain provides extra libraries that
388 need to be copied to the target filesystem, enter them
389 here, separated by spaces. They will be copied to the
390 target's /lib directory.