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_4_3
23 Set to the gcc version that is used by your external
26 config BR2_TOOLCHAIN_EXTERNAL_GCC_6
28 select BR2_TOOLCHAIN_GCC_AT_LEAST_6
30 config BR2_TOOLCHAIN_EXTERNAL_GCC_5
32 select BR2_TOOLCHAIN_GCC_AT_LEAST_5
34 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
36 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
38 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
40 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
42 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
44 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
46 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
48 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
50 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
52 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
54 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
56 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
58 config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
60 select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
62 config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
65 Use this option if your GCC version is older than any of the
68 Note that the Buildroot community doesn't do any testing with
69 such old toolchains. Some packages may fail to build in
70 surprising ways, or the generated root filesystem may not
71 work at all. Use such old toolchains at your own risk.
76 bool "External toolchain kernel headers series"
77 default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
79 Set to the kernel headers version that were used to build
80 this external toolchain.
82 This is used to hide/show some packages that have strict
83 requirements on the version of kernel headers.
85 If unsure what version your toolchain is using, you can look
86 at the value of LINUX_VERSION_CODE in linux/version.h in your
87 toolchain. The Linux version is M.m.p, with:
88 M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
89 m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
90 p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
92 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
94 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
96 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
98 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
100 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
102 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
104 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
106 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
108 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
110 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
112 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
114 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
116 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
118 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
120 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
122 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
124 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
126 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
128 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
130 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
132 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
134 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
136 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
138 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
140 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
142 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
144 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
146 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
148 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
150 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
152 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
154 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
156 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
158 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
160 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
162 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
164 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
166 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
168 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
170 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
172 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
174 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
176 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
178 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
180 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
182 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
184 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
186 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
188 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
190 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
192 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
194 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
196 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
198 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
200 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
202 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
204 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
206 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
208 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
210 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
212 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
214 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
216 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
222 prompt "External toolchain C library"
223 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
225 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
226 bool "uClibc/uClibc-ng"
227 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
228 # For the time being, we assume that all custom external
229 # toolchains have shadow password support.
230 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
232 Select this option if your external toolchain uses the
233 uClibc (available from http://www.uclibc.org/)
234 or uClibc-ng (available from http://www.uclibc-ng.org)
237 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
239 depends on !BR2_STATIC_LIBS
240 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
242 Select this option if your external toolchain uses the GNU C
243 library (available from https://www.gnu.org/software/libc/)
244 or its variant the eglibc library (http://www.eglibc.org/).
246 Note: eglibc is a variant of glibc that (among other things)
247 can be configured to exclude some of its features. Using a
248 toolchain with eglibc configured to exclude key features may
249 cause build failures to some packages.
251 comment "(e)glibc only available with shared lib support"
252 depends on BR2_STATIC_LIBS
254 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
255 bool "musl (experimental)"
256 select BR2_TOOLCHAIN_EXTERNAL_MUSL
258 Select this option if your external toolchain uses the
259 'musl' C library, available from http://www.musl-libc.org/.
263 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
265 config BR2_TOOLCHAIN_EXTERNAL_WCHAR
266 bool "Toolchain has WCHAR support?"
269 Select this option if your external toolchain supports
270 WCHAR. If you don't know, leave the default value, Buildroot
271 will tell you if it's correct or not.
273 config BR2_TOOLCHAIN_EXTERNAL_LOCALE
274 bool "Toolchain has locale support?"
275 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
276 select BR2_ENABLE_LOCALE
278 Select this option if your external toolchain has locale
279 support. If you don't know, leave the default value,
280 Buildroot will tell you if it's correct or not.
282 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
283 bool "Toolchain has threads support?"
284 select BR2_TOOLCHAIN_HAS_THREADS
287 Select this option if your external toolchain has thread
288 support. If you don't know, leave the default value,
289 Buildroot will tell you if it's correct or not.
291 if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
293 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
294 bool "Toolchain has threads debugging support?"
295 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
298 Select this option if your external toolchain has thread
299 debugging support. If you don't know, leave the default
300 value, Buildroot will tell you if it's correct or not.
302 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
303 bool "Toolchain has NPTL threads support?"
304 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
307 Select this option if your external toolchain uses the NPTL
308 (Native Posix Thread Library) implementation of Posix
309 threads. If you don't know, leave the default value,
310 Buildroot will tell you if it's correct or not.
312 endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
314 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
316 config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
317 bool "Toolchain has SSP support?"
318 select BR2_TOOLCHAIN_HAS_SSP
319 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
320 default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
322 Selection this option if your external toolchain has Stack
323 Smashing Protection support enabled. If you don't know,
324 leave the default value, Buildroot will tell you if it's
327 config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
328 bool "Toolchain has RPC support?"
329 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
330 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
331 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
333 Select this option if your external toolchain supports
334 RPC. If you don't know, leave the default value, Buildroot
335 will tell you if it's correct or not.
337 config BR2_TOOLCHAIN_EXTERNAL_CXX
338 bool "Toolchain has C++ support?"
339 select BR2_INSTALL_LIBSTDCPP
341 Select this option if your external toolchain has C++
342 support. If you don't know, leave the default value,
343 Buildroot will tell you if it's correct or not.
345 config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
346 string "Extra toolchain libraries to be copied to target"
348 If your external toolchain provides extra libraries that
349 need to be copied to the target filesystem, enter them
350 here, separated by spaces. They will be copied to the
351 target's /lib directory.