]> Git Repo - buildroot-mgba.git/blob - toolchain/Config.in
Merge branch 'next'
[buildroot-mgba.git] / toolchain / Config.in
1 menu "Toolchain"
2
3 # Invisible option that makes sure the toolchain package always gets
4 # built
5 config BR2_TOOLCHAIN
6         bool
7         default y
8
9 # Should be selected for glibc or eglibc
10 config BR2_TOOLCHAIN_USES_GLIBC
11         bool
12         select BR2_USE_WCHAR
13         select BR2_ENABLE_LOCALE
14         select BR2_TOOLCHAIN_HAS_FULL_GETTEXT
15         select BR2_TOOLCHAIN_HAS_THREADS
16         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
17         select BR2_TOOLCHAIN_HAS_THREADS_NPTL
18         select BR2_TOOLCHAIN_SUPPORTS_PIE
19
20 config BR2_TOOLCHAIN_USES_UCLIBC
21         bool
22         select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_m68k && !BR2_microblaze && !BR2_STATIC_LIBS
23
24 config BR2_TOOLCHAIN_USES_MUSL
25         bool
26         select BR2_USE_WCHAR
27         select BR2_ENABLE_LOCALE
28         select BR2_TOOLCHAIN_HAS_THREADS
29         select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
30         select BR2_TOOLCHAIN_HAS_THREADS_NPTL
31         select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_STATIC_LIBS
32
33 choice
34         prompt "Toolchain type"
35         help
36           Select whether to use the toolchain provided by buildroot
37           or an external toolchain.
38
39           Some vendors provide toolchains in binary form, some in
40           source form.
41
42 config BR2_TOOLCHAIN_BUILDROOT
43         bool "Buildroot toolchain"
44         depends on BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT
45
46 config BR2_TOOLCHAIN_EXTERNAL
47         bool "External toolchain"
48         help
49           Select if you want to use an existing cross-compiling
50           toolchain. Buildroot can either download automatically a
51           toolchain, or use an already installed toolchain.
52
53 endchoice
54
55 source "toolchain/toolchain-buildroot/Config.in"
56 source "toolchain/toolchain-external/Config.in"
57
58 # Generic toolchain options
59
60 # we want gdb config in the middle of both source and external
61 # toolchains, but mconf won't let us source the same file twice,
62 # so put it here instead
63 source "package/gdb/Config.in.host"
64
65 comment "Toolchain Generic Options"
66
67 # https://sourceware.org/bugzilla/show_bug.cgi?id=19615
68 # Affect toolchains built with binutils 2.26 (fixed in binutils 2.26.1).
69 config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615
70         bool
71
72 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735
73 # exception_ptr, nested_exception, and future from libstdc++ are not
74 # available for architectures not supporting always lock-free atomic
75 # ints before GCC 7
76 config BR2_TOOLCHAIN_HAS_GCC_BUG_64735
77         bool
78         default y if BR2_nios2
79         default y if BR2_ARM_CPU_ARMV4
80         default y if BR2_ARM_CPU_ARMV5
81         default y if BR2_sparc_v8
82         default y if BR2_m68k_cf5208
83         depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7
84
85 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. This bug no
86 # longer exists in gcc 8.x.
87 config BR2_TOOLCHAIN_HAS_GCC_BUG_85180
88         bool
89         default y if BR2_microblaze
90
91 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85862
92 # An infinite loop exists in the find_base_term() logic of 6.x
93 # on microblaze.  http://autobuild.buildroot.net/results/158e8ebb39713e1b436a5cc1a1916f46c30694df/
94 config BR2_TOOLCHAIN_HAS_GCC_BUG_85862
95         bool
96         default y if BR2_microblaze
97         depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7
98
99 config BR2_TOOLCHAIN_HAS_NATIVE_RPC
100         bool
101
102 config BR2_USE_WCHAR
103         bool
104
105 config BR2_ENABLE_LOCALE
106         bool
107
108 config BR2_INSTALL_LIBSTDCPP
109         bool
110
111 config BR2_TOOLCHAIN_HAS_FORTRAN
112         bool
113
114 config BR2_TOOLCHAIN_HAS_THREADS
115         bool
116
117 config BR2_TOOLCHAIN_HAS_THREADS_DEBUG
118         bool
119
120 config BR2_TOOLCHAIN_HAS_THREADS_NPTL
121         bool
122
123 config BR2_TOOLCHAIN_HAS_SSP
124         bool
125
126 config BR2_TOOLCHAIN_SUPPORTS_PIE
127         bool
128
129 config BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY
130         bool "Copy gconv libraries"
131         depends on BR2_TOOLCHAIN_USES_GLIBC
132         help
133           The gconv libraries are used to convert between different
134           character sets (charsets).
135
136           Say 'y' if you need to store and/or display different
137           charsets.
138
139 config BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST
140         string "Gconv libraries to copy"
141         depends on BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY
142         help
143           Set to the list of gconv libraries to copy.
144           Leave empty to copy all gconv libraries.
145
146           Specify only the basename of the libraries, leave
147           out the .so extension. Eg.:
148             IBM850 ISO8859-15 UNICODE
149
150           Note: the full set of gconv libs are ~8MiB (on ARM).
151
152 # This boolean is true if the toolchain provides a built-in full
153 # featured gettext implementation (glibc), and false if only a stub
154 # gettext implementation is provided (uclibc, musl)
155 config BR2_TOOLCHAIN_HAS_FULL_GETTEXT
156         bool
157
158 config BR2_USE_MMU
159         bool "Enable MMU support" if BR2_ARCH_HAS_MMU_OPTIONAL
160         default y if BR2_ARCH_HAS_MMU_OPTIONAL || BR2_ARCH_HAS_MMU_MANDATORY
161         help
162           If your target has a MMU, you should say Y here.  If you
163           are unsure, just say Y.
164
165 config BR2_TARGET_OPTIMIZATION
166         string "Target Optimizations"
167         default ""
168         help
169           Optimizations to use when building for the target host.
170           NOTE: gcc optimization level is defined in build options.
171
172 config BR2_TARGET_LDFLAGS
173         string "Target linker options"
174         help
175           Extra options to pass to the linker when building for the
176           target.
177
178           Note that options with a '$' sign (eg.
179           -Wl,-rpath='$ORIGIN/../lib') are not supported.
180
181 config BR2_ECLIPSE_REGISTER
182         bool "Register toolchain within Eclipse Buildroot plug-in"
183         help
184           This options tells Buildroot to generate the necessary
185           configuration files to make your toolchain appear within
186           Eclipse, through the Eclipse Buildroot plugin.
187
188 # Options for packages to depend on, if they require at least a
189 # specific version of the kernel headers.
190 # Toolchains should choose the adequate option (ie. the highest
191 # version, not all of them).
192 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
193         bool
194
195 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
196         bool
197         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
198
199 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
200         bool
201         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
202
203 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
204         bool
205         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
206
207 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
208         bool
209         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
210
211 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
212         bool
213         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
214
215 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
216         bool
217         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
218
219 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
220         bool
221         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
222
223 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
224         bool
225         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
226
227 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
228         bool
229         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
230
231 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
232         bool
233         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
234
235 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
236         bool
237         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
238
239 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
240         bool
241         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
242
243 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
244         bool
245         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
246
247 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
248         bool
249         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
250
251 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
252         bool
253         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
254
255 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
256         bool
257         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
258
259 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
260         bool
261         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
262
263 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
264         bool
265         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
266
267 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
268         bool
269         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
270
271 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
272         bool
273         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
274
275 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
276         bool
277         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
278
279 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
280         bool
281         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
282
283 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
284         bool
285         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
286
287 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
288         bool
289         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
290
291 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
292         bool
293         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
294
295 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
296         bool
297         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
298
299 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
300         bool
301         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
302
303 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
304         bool
305         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
306
307 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
308         bool
309         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
310
311 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
312         bool
313         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
314
315 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
316         bool
317         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
318
319 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
320         bool
321         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
322
323 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
324         bool
325         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
326
327 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
328         bool
329         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
330
331 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
332         bool
333         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
334
335 config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
336         bool
337         select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
338
339 # This order guarantees that the highest version is set, as kconfig
340 # stops affecting a value on the first matching default.
341 config BR2_TOOLCHAIN_HEADERS_AT_LEAST
342         string
343         default "4.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
344         default "4.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
345         default "4.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
346         default "4.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
347         default "4.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
348         default "4.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
349         default "4.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
350         default "4.9"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
351         default "4.8"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
352         default "4.7"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
353         default "4.6"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
354         default "4.5"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
355         default "4.4"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
356         default "4.3"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
357         default "4.2"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
358         default "4.1"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
359         default "4.0"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
360         default "3.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
361         default "3.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
362         default "3.17" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
363         default "3.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
364         default "3.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
365         default "3.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
366         default "3.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
367         default "3.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
368         default "3.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
369         default "3.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
370         default "3.9"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
371         default "3.8"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
372         default "3.7"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
373         default "3.6"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
374         default "3.5"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
375         default "3.4"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
376         default "3.3"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
377         default "3.2"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
378         default "3.1"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
379         default "3.0"  if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
380         default "2.6"
381
382 config BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
383         bool
384
385 config BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
386         bool
387         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
388
389 config BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
390         bool
391         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
392
393 config BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
394         bool
395         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
396
397 config BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
398         bool
399         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
400
401 config BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
402         bool
403         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
404
405 config BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
406         bool
407         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
408
409 config BR2_TOOLCHAIN_GCC_AT_LEAST_5
410         bool
411         select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
412
413 config BR2_TOOLCHAIN_GCC_AT_LEAST_6
414         bool
415         select BR2_TOOLCHAIN_GCC_AT_LEAST_5
416
417 config BR2_TOOLCHAIN_GCC_AT_LEAST_7
418         bool
419         select BR2_TOOLCHAIN_GCC_AT_LEAST_6
420
421 config BR2_TOOLCHAIN_GCC_AT_LEAST_8
422         bool
423         select BR2_TOOLCHAIN_GCC_AT_LEAST_7
424
425 # This order guarantees that the highest version is set, as kconfig
426 # stops affecting a value on the first matching default.
427 config BR2_TOOLCHAIN_GCC_AT_LEAST
428         string
429         default "8"     if BR2_TOOLCHAIN_GCC_AT_LEAST_8
430         default "7"     if BR2_TOOLCHAIN_GCC_AT_LEAST_7
431         default "6"     if BR2_TOOLCHAIN_GCC_AT_LEAST_6
432         default "5"     if BR2_TOOLCHAIN_GCC_AT_LEAST_5
433         default "4.9"   if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
434         default "4.8"   if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
435         default "4.7"   if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
436         default "4.6"   if BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
437         default "4.5"   if BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
438         default "4.4"   if BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
439         default "4.3"   if BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
440
441 config BR2_TOOLCHAIN_HAS_MNAN_OPTION
442         bool
443         default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
444
445 config BR2_TOOLCHAIN_HAS_SYNC_1
446         bool
447         default y
448         depends on !BR2_m68k_cf
449         depends on !BR2_microblaze
450         depends on !BR2_sparc
451         depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
452
453 config BR2_TOOLCHAIN_HAS_SYNC_2
454         bool
455         default y if BR2_TOOLCHAIN_HAS_SYNC_1
456
457 config BR2_TOOLCHAIN_HAS_SYNC_4
458         bool
459         default y
460         depends on !BR2_m68k_cf
461         depends on !BR2_sparc
462         depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT)
463
464 # The availability of __sync for 8-byte types on ARM is somewhat
465 # complicated:
466 #
467 #  - It appeared in gcc starting with gcc 4.7.
468 #
469 #  - On ARMv7, there is no problem, it can be directly implemented in
470 #    userspace.
471 #
472 #  - On < ARMv7, it requires help from the kernel. Unfortunately, the
473 #    libgcc code implementing 8-byte __sync with the help from the
474 #    kernel calls __write() when a failure occurs, which is a function
475 #    internal to glibc, not available in uClibc and musl. This means
476 #    that the 8-byte __sync operations are not available on < ARMv7
477 #    with uClibc and musl. This problem was fixed as part of gcc
478 #    PR68059, which was backported to the gcc 5 branch, but isn't yet
479 #    part of any gcc 5.x release.
480 #
481 config BR2_TOOLCHAIN_ARM_HAS_SYNC_8
482         bool
483         default y
484         depends on BR2_arm || BR2_armeb
485         depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
486         depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_ARM_CPU_ARMV7A
487
488 # 8-byte intrinsics available on most x86 CPUs, except a few old ones
489 config BR2_TOOLCHAIN_X86_HAS_SYNC_8
490         bool
491         default y
492         depends on BR2_i386
493         depends on !BR2_x86_i486
494         depends on !BR2_x86_c3
495         depends on !BR2_x86_winchip_c6
496         depends on !BR2_x86_winchip2
497
498 # 8-byte intrinsics available:
499 #  - On all 64 bits architecture
500 #  - On a certain combinations of ARM platforms
501 #  - On certain x86 32 bits CPUs
502 config BR2_TOOLCHAIN_HAS_SYNC_8
503         bool
504         default y if BR2_ARCH_IS_64
505         default y if BR2_TOOLCHAIN_ARM_HAS_SYNC_8
506         default y if BR2_TOOLCHAIN_X86_HAS_SYNC_8
507
508 # libatomic is available since gcc 4.8, when thread support is
509 # enabled. Also, libatomic doesn't recognize "uclinux" as a valid OS
510 # part of the tuple, and is therefore not build on uclinux targets,
511 # which is why BR2_BINFMT_FLAT configurations are excluded.
512 config BR2_TOOLCHAIN_HAS_LIBATOMIC
513         bool
514         default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && \
515                 BR2_TOOLCHAIN_HAS_THREADS && \
516                 !BR2_BINFMT_FLAT
517
518 # __atomic intrinsics are available:
519 # - with gcc 4.8, either through built-ins or libatomic, on all
520 #   architectures. Since we don't want to separate the cases where
521 #   libatomic is needed vs. not needed, we simplify thing and only
522 #   support situations where libatomic is available, even if on some
523 #   architectures libatomic is not strictly needed as all __atomic
524 #   intrinsics might be built-in. The only case where libatomic is
525 #   missing entirely is when the toolchain does not have support for
526 #   threads. However, a package that does not need threads but still
527 #   uses atomics is quite a corner case, which does not warrant the
528 #   added complexity.
529 # - with gcc 4.7, libatomic did not exist, so only built-ins are
530 #   available. This means that __atomic can only be used in a subset
531 #   of the architectures
532 config BR2_TOOLCHAIN_HAS_ATOMIC
533         bool
534         default y if BR2_TOOLCHAIN_HAS_LIBATOMIC
535         default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_arm
536         default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_armeb
537         default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_xtensa
538         default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_ARCH_IS_64
539
540 # - libquadmath is not needed/available on all architectures (but gcc
541 #   correctly handles this already).
542 # - At least, libquadmath is available on:
543 #   - i*86
544 #   - x86_64
545 # - When available, libquadmath requires wchar support.
546 config BR2_TOOLCHAIN_HAS_LIBQUADMATH
547         bool
548         default y if BR2_i386 || BR2_x86_64
549
550 endmenu
This page took 0.05613 seconds and 4 git commands to generate.