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
39 config CC_V_linaro_4_8
41 prompt "linaro-4.8-2013.06-1"
42 depends on CC_GCC_SHOW_LINARO
55 config CC_V_linaro_4_7
57 prompt "linaro-4.7-2013.06-1"
58 depends on CC_GCC_SHOW_LINARO
81 config CC_V_linaro_4_6
83 prompt "linaro-4.6-2013.05"
84 depends on CC_GCC_SHOW_LINARO
112 config CC_V_linaro_4_5
114 prompt "linaro-4.5-2012.03"
115 depends on CC_GCC_SHOW_LINARO
139 config CC_V_linaro_4_4
141 prompt "linaro-4.4-2011.02-0"
142 depends on CC_GCC_SHOW_LINARO
220 # We need that one, it's the only version with avr32 support
221 # because we have a patch for it
229 prompt "4.1.2 (OBSOLETE)"
234 prompt "4.0.4 (OBSOLETE)"
239 prompt "3.4.6 (OBSOLETE)"
245 depends on EXPERIMENTAL
252 config CC_CUSTOM_LOCATION
254 prompt "Full path to custom gcc source"
257 Enter the path to the directory (or tarball) of your source for gcc,
258 or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
264 select CC_GCC_4_2_or_later
266 config CC_GCC_4_2_or_later
271 select CC_GCC_4_3_or_later
272 select CC_GCC_USE_GMP_MPFR
273 select CC_GCC_HAS_PKGVERSION_BUGURL
275 config CC_GCC_4_3_or_later
277 select CC_GCC_4_2_or_later
281 select CC_GCC_4_4_or_later
282 select CC_GCC_USE_GMP_MPFR
283 select CC_GCC_HAS_GRAPHITE
284 select CC_GCC_HAS_PKGVERSION_BUGURL
286 config CC_GCC_4_4_or_later
288 select CC_GCC_4_3_or_later
292 select CC_GCC_4_5_or_later
293 select CC_GCC_USE_GMP_MPFR
294 select CC_GCC_USE_MPC
295 select CC_GCC_HAS_GRAPHITE
296 select CC_GCC_HAS_LTO
297 select CC_GCC_HAS_PKGVERSION_BUGURL
298 select CC_GCC_HAS_BUILD_ID
300 config CC_GCC_4_5_or_later
302 select CC_GCC_4_4_or_later
306 select CC_GCC_4_6_or_later
307 select CC_GCC_USE_GMP_MPFR
308 select CC_GCC_USE_MPC
309 select CC_GCC_HAS_GRAPHITE
310 select CC_GCC_HAS_LTO
311 select CC_GCC_HAS_PKGVERSION_BUGURL
312 select CC_GCC_HAS_BUILD_ID
313 select CC_GCC_HAS_LIBQUADMATH
315 config CC_GCC_4_6_or_later
317 select CC_GCC_4_5_or_later
321 select CC_GCC_4_7_or_later
322 select CC_GCC_USE_GMP_MPFR
323 select CC_GCC_USE_MPC
324 select CC_GCC_HAS_GRAPHITE
325 select CC_GCC_HAS_LTO
326 select CC_GCC_HAS_PKGVERSION_BUGURL
327 select CC_GCC_HAS_BUILD_ID
328 select CC_GCC_HAS_LNK_HASH_STYLE
329 select CC_GCC_HAS_LIBQUADMATH
331 config CC_GCC_4_7_or_later
333 select CC_GCC_4_6_or_later
337 select CC_GCC_4_8_or_later
338 select CC_GCC_USE_GMP_MPFR
339 select CC_GCC_USE_MPC
340 select CC_GCC_HAS_GRAPHITE
341 select CC_GCC_HAS_LTO
342 select CC_GCC_HAS_PKGVERSION_BUGURL
343 select CC_GCC_HAS_BUILD_ID
344 select CC_GCC_HAS_LNK_HASH_STYLE
345 select CC_GCC_HAS_LIBQUADMATH
346 select CC_SUPPORT_GOLANG
348 config CC_GCC_4_8_or_later
350 select CC_GCC_4_7_or_later
354 select CC_GCC_4_8_or_later
355 select CC_GCC_USE_GMP_MPFR
356 select CC_GCC_USE_MPC
357 select CC_GCC_HAS_GRAPHITE
358 select CC_GCC_HAS_LTO
359 select CC_GCC_HAS_PKGVERSION_BUGURL
360 select CC_GCC_HAS_BUILD_ID
361 select CC_GCC_HAS_LNK_HASH_STYLE
362 select CC_GCC_HAS_LIBQUADMATH
364 config CC_GCC_HAS_GRAPHITE
367 # For graphite: gcc 4.4..4.7 need ppl, while 4.8.. need isl
368 # Prompt in config/cc/gcc.in.2
369 config CC_GCC_USE_GRAPHITE
372 depends on CC_GCC_HAS_GRAPHITE
374 select PPL_NEEDED if !CC_GCC_4_8_or_later
375 select ISL_NEEDED if CC_GCC_4_8_or_later
377 Enable the GRAPHITE loop optimsations.
379 On some systems (eg. Cygwin), PPL and/or CLooG (required to enable
380 GRAPHITE) may not build properly (yet), so you'll have to say 'N'
381 here (or help debug the issues)
383 # The way LTO works is a bit twisted.
384 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
386 # - if binutils has plugins: LTO is handled by ld/gold by loading
387 # the plugin when linking
388 # - if binutils does not have plugins: LTO is handled by collect2
389 # In any case, LTO support does not depend on plugins, but takes
391 config CC_GCC_HAS_LTO
394 # Prompt in config/cc/gcc.in.2
395 config CC_GCC_USE_LTO
398 depends on CC_GCC_HAS_LTO
399 select CC_GCC_USE_LIBELF if CC_GCC_4_5
401 Enable the Link Time Optimisations.
403 config CC_GCC_HAS_PKGVERSION_BUGURL
406 config CC_GCC_HAS_BUILD_ID
409 config CC_GCC_HAS_LNK_HASH_STYLE
412 # Only enable gcc's support for plugins if binutils has it as well
413 # They are usefull only when doing LTO, but it does no harm enabling
414 # them even without LTO.
415 config CC_GCC_ENABLE_PLUGINS
417 depends on BINUTILS_PLUGINS
418 depends on ! STATIC_TOOLCHAIN
421 # If binutils installs gold, enable support for gold in gcc
424 depends on BINUTILS_GOLD_INSTALLED
427 config CC_GCC_USE_GMP_MPFR
432 config CC_GCC_USE_MPC
436 config CC_GCC_USE_LIBELF
440 config CC_GCC_HAS_LIBQUADMATH
445 # Don't remove next line
446 # CT_INSERT_VERSION_STRING_BELOW
447 default "linaro-4.8-2013.06-1" if CC_V_linaro_4_8
448 default "4.8.1" if CC_V_4_8_1
449 default "4.8.0" if CC_V_4_8_0
450 default "linaro-4.7-2013.06-1" if CC_V_linaro_4_7
451 default "4.7.3" if CC_V_4_7_3
452 default "4.7.2" if CC_V_4_7_2
453 default "4.7.1" if CC_V_4_7_1
454 default "4.7.0" if CC_V_4_7_0
455 default "linaro-4.6-2013.05" if CC_V_linaro_4_6
456 default "4.6.4" if CC_V_4_6_4
457 default "4.6.3" if CC_V_4_6_3
458 default "4.6.2" if CC_V_4_6_2
459 default "4.6.1" if CC_V_4_6_1
460 default "4.6.0" if CC_V_4_6_0
461 default "linaro-4.5-2012.03" if CC_V_linaro_4_5
462 default "4.5.3" if CC_V_4_5_3
463 default "4.5.2" if CC_V_4_5_2
464 default "4.5.1" if CC_V_4_5_1
465 default "4.5.0" if CC_V_4_5_0
466 default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4
467 default "4.4.7" if CC_V_4_4_7
468 default "4.4.6" if CC_V_4_4_6
469 default "4.4.5" if CC_V_4_4_5
470 default "4.4.4" if CC_V_4_4_4
471 default "4.4.3" if CC_V_4_4_3
472 default "4.4.2" if CC_V_4_4_2
473 default "4.4.1" if CC_V_4_4_1
474 default "4.4.0" if CC_V_4_4_0
475 default "4.3.6" if CC_V_4_3_6
476 default "4.3.5" if CC_V_4_3_5
477 default "4.3.4" if CC_V_4_3_4
478 default "4.3.3" if CC_V_4_3_3
479 default "4.3.2" if CC_V_4_3_2
480 default "4.3.1" if CC_V_4_3_1
481 default "4.3.0" if CC_V_4_3_0
482 default "4.2.4" if CC_V_4_2_4
483 default "4.2.2" if CC_V_4_2_2
484 default "4.1.2" if CC_V_4_1_2
485 default "4.0.4" if CC_V_4_0_4
486 default "3.4.6" if CC_V_3_4_6
487 default "custom" if CC_CUSTOM
489 config CC_LANG_JAVA_USE_ECJ
492 depends on CC_LANG_JAVA
493 depends on CC_GCC_4_3_or_later
495 # Fortran always requires GMP+MPFR, whatever the gcc version
496 config CC_LANG_FORTRAN
497 select CC_GCC_USE_GMP_MPFR