3 ## select CC_SUPPORT_CXX
4 ## select CC_SUPPORT_FORTRAN
5 ## select CC_SUPPORT_JAVA
6 ## select CC_SUPPORT_ADA
7 ## select CC_SUPPORT_OBJC
8 ## select CC_SUPPORT_OBJCXX
10 ## help gcc is the full-blown GNU compiler. This is what most people will choose.
12 ## help gcc supports many languages, a powerful code parser, optimised binary
13 ## help output, and lots of other features.
15 config CC_GCC_SHOW_LINARO
17 prompt "Show Linaro versions"
19 Linaro is maintaining some advanced/more stable/experimental versions
20 of gcc, especially for the ARM architecture.
22 Those versions have not been blessed by the gcc comunity (nor have they
23 been cursed either!), but they look to be pretty much stable, and even
24 more stable than the upstream versions. YMMV...
26 If you do not know what this Linaro stuff is, then simply say 'n' here,
27 and rest in peace. OTOH, if you know what you are doing, you will be
28 able to use and enjoy :-) the Linaro versions by saying 'y' here.
30 Linaro: http://www.linaro.org/
36 # Don't remove next line
37 # CT_INSERT_VERSION_BELOW
44 config CC_V_linaro_4_8
46 prompt "linaro-4.8-2014.01"
47 depends on CC_GCC_SHOW_LINARO
65 config CC_V_linaro_4_7
67 prompt "linaro-4.7-2014.01"
68 depends on CC_GCC_SHOW_LINARO
91 config CC_V_linaro_4_6
93 prompt "linaro-4.6-2013.05"
94 depends on CC_GCC_SHOW_LINARO
122 config CC_V_linaro_4_5
124 prompt "linaro-4.5-2012.03"
125 depends on CC_GCC_SHOW_LINARO
149 config CC_V_linaro_4_4
151 prompt "linaro-4.4-2011.02-0"
152 depends on CC_GCC_SHOW_LINARO
230 # We need that one, it's the only version with avr32 support
231 # because we have a patch for it
239 prompt "4.1.2 (OBSOLETE)"
244 prompt "4.0.4 (OBSOLETE)"
249 prompt "3.4.6 (OBSOLETE)"
255 depends on EXPERIMENTAL
262 config CC_CUSTOM_LOCATION
264 prompt "Full path to custom gcc source"
267 Enter the path to the directory (or tarball) of your source for gcc,
268 or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
274 select CC_GCC_4_2_or_later
276 config CC_GCC_4_2_or_later
281 select CC_GCC_4_3_or_later
282 select CC_GCC_USE_GMP_MPFR
283 select CC_GCC_HAS_PKGVERSION_BUGURL
285 config CC_GCC_4_3_or_later
287 select CC_GCC_4_2_or_later
291 select CC_GCC_4_4_or_later
292 select CC_GCC_USE_GMP_MPFR
293 select CC_GCC_HAS_GRAPHITE
294 select CC_GCC_HAS_PKGVERSION_BUGURL
296 config CC_GCC_4_4_or_later
298 select CC_GCC_4_3_or_later
302 select CC_GCC_4_5_or_later
303 select CC_GCC_USE_GMP_MPFR
304 select CC_GCC_USE_MPC
305 select CC_GCC_HAS_GRAPHITE
306 select CC_GCC_HAS_LTO
307 select CC_GCC_HAS_PKGVERSION_BUGURL
308 select CC_GCC_HAS_BUILD_ID
310 config CC_GCC_4_5_or_later
312 select CC_GCC_4_4_or_later
316 select CC_GCC_4_6_or_later
317 select CC_GCC_USE_GMP_MPFR
318 select CC_GCC_USE_MPC
319 select CC_GCC_HAS_GRAPHITE
320 select CC_GCC_HAS_LTO
321 select CC_GCC_HAS_PKGVERSION_BUGURL
322 select CC_GCC_HAS_BUILD_ID
323 select CC_GCC_HAS_LIBQUADMATH
325 config CC_GCC_4_6_or_later
327 select CC_GCC_4_5_or_later
331 select CC_GCC_4_7_or_later
332 select CC_GCC_USE_GMP_MPFR
333 select CC_GCC_USE_MPC
334 select CC_GCC_HAS_GRAPHITE
335 select CC_GCC_HAS_LTO
336 select CC_GCC_HAS_PKGVERSION_BUGURL
337 select CC_GCC_HAS_BUILD_ID
338 select CC_GCC_HAS_LNK_HASH_STYLE
339 select CC_GCC_HAS_LIBQUADMATH
341 config CC_GCC_4_7_or_later
343 select CC_GCC_4_6_or_later
347 select CC_GCC_4_8_or_later
348 select CC_GCC_USE_GMP_MPFR
349 select CC_GCC_USE_MPC
350 select CC_GCC_HAS_GRAPHITE
351 select CC_GCC_HAS_LTO
352 select CC_GCC_HAS_PKGVERSION_BUGURL
353 select CC_GCC_HAS_BUILD_ID
354 select CC_GCC_HAS_LNK_HASH_STYLE
355 select CC_GCC_HAS_LIBQUADMATH
356 select CC_SUPPORT_GOLANG
358 config CC_GCC_4_8_or_later
360 select CC_GCC_4_7_or_later
364 select CC_GCC_4_9_or_later
365 select CC_GCC_USE_GMP_MPFR
366 select CC_GCC_USE_MPC
367 select CC_GCC_HAS_GRAPHITE
368 select CC_GCC_HAS_LTO
369 select CC_GCC_HAS_PKGVERSION_BUGURL
370 select CC_GCC_HAS_BUILD_ID
371 select CC_GCC_HAS_LNK_HASH_STYLE
372 select CC_GCC_HAS_LIBQUADMATH
373 select CC_SUPPORT_GOLANG
375 config CC_GCC_4_9_or_later
377 select CC_GCC_4_8_or_later
381 select CC_GCC_4_9_or_later
382 select CC_GCC_USE_GMP_MPFR
383 select CC_GCC_USE_MPC
384 select CC_GCC_HAS_GRAPHITE
385 select CC_GCC_HAS_LTO
386 select CC_GCC_HAS_PKGVERSION_BUGURL
387 select CC_GCC_HAS_BUILD_ID
388 select CC_GCC_HAS_LNK_HASH_STYLE
389 select CC_GCC_HAS_LIBQUADMATH
391 config CC_GCC_HAS_GRAPHITE
394 # For graphite: gcc 4.4..4.7 need ppl, while 4.8.. need isl
395 # Prompt in config/cc/gcc.in.2
396 config CC_GCC_USE_GRAPHITE
399 depends on CC_GCC_HAS_GRAPHITE
401 select PPL_NEEDED if !CC_GCC_4_8_or_later
402 select ISL_NEEDED if CC_GCC_4_8_or_later
404 Enable the GRAPHITE loop optimsations.
406 On some systems (eg. Cygwin), PPL and/or CLooG (required to enable
407 GRAPHITE) may not build properly (yet), so you'll have to say 'N'
408 here (or help debug the issues)
410 # The way LTO works is a bit twisted.
411 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
413 # - if binutils has plugins: LTO is handled by ld/gold by loading
414 # the plugin when linking
415 # - if binutils does not have plugins: LTO is handled by collect2
416 # In any case, LTO support does not depend on plugins, but takes
418 config CC_GCC_HAS_LTO
421 # Prompt in config/cc/gcc.in.2
422 config CC_GCC_USE_LTO
425 depends on CC_GCC_HAS_LTO
426 select CC_GCC_USE_LIBELF if CC_GCC_4_5
428 Enable the Link Time Optimisations.
430 config CC_GCC_HAS_PKGVERSION_BUGURL
433 config CC_GCC_HAS_BUILD_ID
436 config CC_GCC_HAS_LNK_HASH_STYLE
439 # Only enable gcc's support for plugins if binutils has it as well
440 # They are usefull only when doing LTO, but it does no harm enabling
441 # them even without LTO.
442 config CC_GCC_ENABLE_PLUGINS
444 depends on BINUTILS_PLUGINS
445 depends on ! STATIC_TOOLCHAIN
448 # If binutils installs gold, enable support for gold in gcc
451 depends on BINUTILS_GOLD_INSTALLED
454 config CC_GCC_USE_GMP_MPFR
459 config CC_GCC_USE_MPC
463 config CC_GCC_USE_LIBELF
467 config CC_GCC_HAS_LIBQUADMATH
472 # Don't remove next line
473 # CT_INSERT_VERSION_STRING_BELOW
474 default "4.9.0" if CC_V_4_9_0
475 default "linaro-4.8-2014.01" if CC_V_linaro_4_8
476 default "4.8.2" if CC_V_4_8_2
477 default "4.8.1" if CC_V_4_8_1
478 default "4.8.0" if CC_V_4_8_0
479 default "linaro-4.7-2014.01" if CC_V_linaro_4_7
480 default "4.7.3" if CC_V_4_7_3
481 default "4.7.2" if CC_V_4_7_2
482 default "4.7.1" if CC_V_4_7_1
483 default "4.7.0" if CC_V_4_7_0
484 default "linaro-4.6-2013.05" if CC_V_linaro_4_6
485 default "4.6.4" if CC_V_4_6_4
486 default "4.6.3" if CC_V_4_6_3
487 default "4.6.2" if CC_V_4_6_2
488 default "4.6.1" if CC_V_4_6_1
489 default "4.6.0" if CC_V_4_6_0
490 default "linaro-4.5-2012.03" if CC_V_linaro_4_5
491 default "4.5.3" if CC_V_4_5_3
492 default "4.5.2" if CC_V_4_5_2
493 default "4.5.1" if CC_V_4_5_1
494 default "4.5.0" if CC_V_4_5_0
495 default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4
496 default "4.4.7" if CC_V_4_4_7
497 default "4.4.6" if CC_V_4_4_6
498 default "4.4.5" if CC_V_4_4_5
499 default "4.4.4" if CC_V_4_4_4
500 default "4.4.3" if CC_V_4_4_3
501 default "4.4.2" if CC_V_4_4_2
502 default "4.4.1" if CC_V_4_4_1
503 default "4.4.0" if CC_V_4_4_0
504 default "4.3.6" if CC_V_4_3_6
505 default "4.3.5" if CC_V_4_3_5
506 default "4.3.4" if CC_V_4_3_4
507 default "4.3.3" if CC_V_4_3_3
508 default "4.3.2" if CC_V_4_3_2
509 default "4.3.1" if CC_V_4_3_1
510 default "4.3.0" if CC_V_4_3_0
511 default "4.2.4" if CC_V_4_2_4
512 default "4.2.2" if CC_V_4_2_2
513 default "4.1.2" if CC_V_4_1_2
514 default "4.0.4" if CC_V_4_0_4
515 default "3.4.6" if CC_V_3_4_6
516 default "custom" if CC_CUSTOM
518 config CC_LANG_JAVA_USE_ECJ
521 depends on CC_LANG_JAVA
522 depends on CC_GCC_4_3_or_later
524 # Fortran always requires GMP+MPFR, whatever the gcc version
525 config CC_LANG_FORTRAN
526 select CC_GCC_USE_GMP_MPFR