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_9
94 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
96 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
98 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
100 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
102 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
104 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
106 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
108 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
110 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
112 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
114 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
116 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
118 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
120 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
122 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
124 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
126 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
128 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
130 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
132 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
134 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
136 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
138 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
140 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
142 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
144 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
146 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
148 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
150 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
152 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
154 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
156 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
158 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
160 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
162 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
164 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
166 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
168 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
170 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
172 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
174 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
176 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
178 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
180 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
182 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
184 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
186 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
188 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
190 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
192 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
194 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
196 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
198 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
200 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
202 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
204 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
206 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
208 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
210 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
212 config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
218 prompt "External toolchain C library"
219 default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
221 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
222 bool "uClibc/uClibc-ng"
223 select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
224 # For the time being, we assume that all custom external
225 # toolchains have shadow password support.
226 select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
228 Select this option if your external toolchain uses the
229 uClibc (available from http://www.uclibc.org/)
230 or uClibc-ng (available from http://www.uclibc-ng.org)
233 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
235 depends on !BR2_STATIC_LIBS
236 select BR2_TOOLCHAIN_EXTERNAL_GLIBC
238 Select this option if your external toolchain uses the GNU C
239 library (available from https://www.gnu.org/software/libc/)
240 or its variant the eglibc library (http://www.eglibc.org/).
242 Note: eglibc is a variant of glibc that (among other things)
243 can be configured to exclude some of its features. Using a
244 toolchain with eglibc configured to exclude key features may
245 cause build failures to some packages.
247 comment "(e)glibc only available with shared lib support"
248 depends on BR2_STATIC_LIBS
250 config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
251 bool "musl (experimental)"
252 select BR2_TOOLCHAIN_EXTERNAL_MUSL
254 Select this option if your external toolchain uses the
255 'musl' C library, available from http://www.musl-libc.org/.
259 if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
261 config BR2_TOOLCHAIN_EXTERNAL_WCHAR
262 bool "Toolchain has WCHAR support?"
265 Select this option if your external toolchain supports
266 WCHAR. If you don't know, leave the default value, Buildroot
267 will tell you if it's correct or not.
269 config BR2_TOOLCHAIN_EXTERNAL_LOCALE
270 bool "Toolchain has locale support?"
271 select BR2_TOOLCHAIN_EXTERNAL_WCHAR
272 select BR2_ENABLE_LOCALE
274 Select this option if your external toolchain has locale
275 support. If you don't know, leave the default value,
276 Buildroot will tell you if it's correct or not.
278 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
279 bool "Toolchain has threads support?"
280 select BR2_TOOLCHAIN_HAS_THREADS
283 Select this option if your external toolchain has thread
284 support. If you don't know, leave the default value,
285 Buildroot will tell you if it's correct or not.
287 if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
289 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
290 bool "Toolchain has threads debugging support?"
291 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
294 Select this option if your external toolchain has thread
295 debugging support. If you don't know, leave the default
296 value, Buildroot will tell you if it's correct or not.
298 config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL
299 bool "Toolchain has NPTL threads support?"
300 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
303 Select this option if your external toolchain uses the NPTL
304 (Native Posix Thread Library) implementation of Posix
305 threads. If you don't know, leave the default value,
306 Buildroot will tell you if it's correct or not.
308 endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
310 endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
312 config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
313 bool "Toolchain has SSP support?"
314 select BR2_TOOLCHAIN_HAS_SSP
315 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
316 default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
318 Selection this option if your external toolchain has Stack
319 Smashing Protection support enabled. If you don't know,
320 leave the default value, Buildroot will tell you if it's
323 config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
324 bool "Toolchain has RPC support?"
325 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
326 depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
327 default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
329 Select this option if your external toolchain supports
330 RPC. If you don't know, leave the default value, Buildroot
331 will tell you if it's correct or not.
333 config BR2_TOOLCHAIN_EXTERNAL_CXX
334 bool "Toolchain has C++ support?"
335 select BR2_INSTALL_LIBSTDCPP
337 Select this option if your external toolchain has C++
338 support. If you don't know, leave the default value,
339 Buildroot will tell you if it's correct or not.
341 config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
342 string "Extra toolchain libraries to be copied to target"
344 If your external toolchain provides extra libraries that
345 need to be copied to the target filesystem, enter them
346 here, separated by spaces. They will be copied to the
347 target's /lib directory.