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
50 config CC_V_linaro_4_7
52 prompt "linaro-4.7-2013.06-1"
53 depends on CC_GCC_SHOW_LINARO
76 config CC_V_linaro_4_6
78 prompt "linaro-4.6-2013.05"
79 depends on CC_GCC_SHOW_LINARO
107 config CC_V_linaro_4_5
109 prompt "linaro-4.5-2012.03"
110 depends on CC_GCC_SHOW_LINARO
134 config CC_V_linaro_4_4
136 prompt "linaro-4.4-2011.02-0"
137 depends on CC_GCC_SHOW_LINARO
215 # We need that one, it's the only version with avr32 support
216 # because we have a patch for it
224 prompt "4.1.2 (OBSOLETE)"
229 prompt "4.0.4 (OBSOLETE)"
234 prompt "3.4.6 (OBSOLETE)"
240 depends on EXPERIMENTAL
247 config CC_CUSTOM_LOCATION
249 prompt "Full path to custom gcc source"
252 Enter the path to the directory (or tarball) of your source for gcc,
253 or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
259 select CC_GCC_4_2_or_later
261 config CC_GCC_4_2_or_later
266 select CC_GCC_4_3_or_later
267 select CC_GCC_USE_GMP_MPFR
268 select CC_GCC_HAS_PKGVERSION_BUGURL
270 config CC_GCC_4_3_or_later
272 select CC_GCC_4_2_or_later
276 select CC_GCC_4_4_or_later
277 select CC_GCC_USE_GMP_MPFR
278 select CC_GCC_HAS_GRAPHITE
279 select CC_GCC_HAS_PKGVERSION_BUGURL
281 config CC_GCC_4_4_or_later
283 select CC_GCC_4_3_or_later
287 select CC_GCC_4_5_or_later
288 select CC_GCC_USE_GMP_MPFR
289 select CC_GCC_USE_MPC
290 select CC_GCC_HAS_GRAPHITE
291 select CC_GCC_HAS_LTO
292 select CC_GCC_HAS_PKGVERSION_BUGURL
293 select CC_GCC_HAS_BUILD_ID
295 config CC_GCC_4_5_or_later
297 select CC_GCC_4_4_or_later
301 select CC_GCC_4_6_or_later
302 select CC_GCC_USE_GMP_MPFR
303 select CC_GCC_USE_MPC
304 select CC_GCC_HAS_GRAPHITE
305 select CC_GCC_HAS_LTO
306 select CC_GCC_HAS_PKGVERSION_BUGURL
307 select CC_GCC_HAS_BUILD_ID
308 select CC_GCC_HAS_LIBQUADMATH
310 config CC_GCC_4_6_or_later
312 select CC_GCC_4_5_or_later
316 select CC_GCC_4_7_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_LNK_HASH_STYLE
324 select CC_GCC_HAS_LIBQUADMATH
326 config CC_GCC_4_7_or_later
328 select CC_GCC_4_6_or_later
332 select CC_GCC_4_8_or_later
333 select CC_GCC_USE_GMP_MPFR
334 select CC_GCC_USE_MPC
335 select CC_GCC_HAS_GRAPHITE
336 select CC_GCC_HAS_LTO
337 select CC_GCC_HAS_PKGVERSION_BUGURL
338 select CC_GCC_HAS_BUILD_ID
339 select CC_GCC_HAS_LNK_HASH_STYLE
340 select CC_GCC_HAS_LIBQUADMATH
342 config CC_GCC_4_8_or_later
344 select CC_GCC_4_7_or_later
348 select CC_GCC_4_8_or_later
349 select CC_GCC_USE_GMP_MPFR
350 select CC_GCC_USE_MPC
351 select CC_GCC_HAS_GRAPHITE
352 select CC_GCC_HAS_LTO
353 select CC_GCC_HAS_PKGVERSION_BUGURL
354 select CC_GCC_HAS_BUILD_ID
355 select CC_GCC_HAS_LNK_HASH_STYLE
356 select CC_GCC_HAS_LIBQUADMATH
358 config CC_GCC_HAS_GRAPHITE
361 # For graphite: gcc 4.4..4.7 need ppl, while 4.8.. need isl
362 # Prompt in config/cc/gcc.in.2
363 config CC_GCC_USE_GRAPHITE
366 depends on CC_GCC_HAS_GRAPHITE
368 select PPL_NEEDED if !CC_GCC_4_8_or_later
369 select ISL_NEEDED if CC_GCC_4_8_or_later
371 Enable the GRAPHITE loop optimsations.
373 On some systems (eg. Cygwin), PPL and/or CLooG (required to enable
374 GRAPHITE) may not build properly (yet), so you'll have to say 'N'
375 here (or help debug the issues)
377 # The way LTO works is a bit twisted.
378 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
380 # - if binutils has plugins: LTO is handled by ld/gold by loading
381 # the plugin when linking
382 # - if binutils does not have plugins: LTO is handled by collect2
383 # In any case, LTO support does not depend on plugins, but takes
385 config CC_GCC_HAS_LTO
388 # Prompt in config/cc/gcc.in.2
389 config CC_GCC_USE_LTO
392 depends on CC_GCC_HAS_LTO
393 select CC_GCC_USE_LIBELF if CC_GCC_4_5
395 Enable the Link Time Optimisations.
397 config CC_GCC_HAS_PKGVERSION_BUGURL
400 config CC_GCC_HAS_BUILD_ID
403 config CC_GCC_HAS_LNK_HASH_STYLE
406 # Only enable gcc's support for plugins if binutils has it as well
407 # They are usefull only when doing LTO, but it does no harm enabling
408 # them even without LTO.
409 config CC_GCC_ENABLE_PLUGINS
411 depends on BINUTILS_PLUGINS
412 depends on ! STATIC_TOOLCHAIN
415 # If binutils installs gold, enable support for gold in gcc
418 depends on BINUTILS_GOLD_INSTALLED
421 config CC_GCC_USE_GMP_MPFR
428 config CC_GCC_USE_MPC
432 config CC_GCC_USE_LIBELF
436 config CC_GCC_HAS_LIBQUADMATH
441 # Don't remove next line
442 # CT_INSERT_VERSION_STRING_BELOW
443 default "linaro-4.8-2013.06-1" if CC_V_linaro_4_8
444 default "4.8.0" if CC_V_4_8_0
445 default "linaro-4.7-2013.06-1" if CC_V_linaro_4_7
446 default "4.7.3" if CC_V_4_7_3
447 default "4.7.2" if CC_V_4_7_2
448 default "4.7.1" if CC_V_4_7_1
449 default "4.7.0" if CC_V_4_7_0
450 default "linaro-4.6-2013.05" if CC_V_linaro_4_6
451 default "4.6.4" if CC_V_4_6_4
452 default "4.6.3" if CC_V_4_6_3
453 default "4.6.2" if CC_V_4_6_2
454 default "4.6.1" if CC_V_4_6_1
455 default "4.6.0" if CC_V_4_6_0
456 default "linaro-4.5-2012.03" if CC_V_linaro_4_5
457 default "4.5.3" if CC_V_4_5_3
458 default "4.5.2" if CC_V_4_5_2
459 default "4.5.1" if CC_V_4_5_1
460 default "4.5.0" if CC_V_4_5_0
461 default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4
462 default "4.4.7" if CC_V_4_4_7
463 default "4.4.6" if CC_V_4_4_6
464 default "4.4.5" if CC_V_4_4_5
465 default "4.4.4" if CC_V_4_4_4
466 default "4.4.3" if CC_V_4_4_3
467 default "4.4.2" if CC_V_4_4_2
468 default "4.4.1" if CC_V_4_4_1
469 default "4.4.0" if CC_V_4_4_0
470 default "4.3.6" if CC_V_4_3_6
471 default "4.3.5" if CC_V_4_3_5
472 default "4.3.4" if CC_V_4_3_4
473 default "4.3.3" if CC_V_4_3_3
474 default "4.3.2" if CC_V_4_3_2
475 default "4.3.1" if CC_V_4_3_1
476 default "4.3.0" if CC_V_4_3_0
477 default "4.2.4" if CC_V_4_2_4
478 default "4.2.2" if CC_V_4_2_2
479 default "4.1.2" if CC_V_4_1_2
480 default "4.0.4" if CC_V_4_0_4
481 default "3.4.6" if CC_V_3_4_6
482 default "custom" if CC_CUSTOM
484 config CC_LANG_JAVA_USE_ECJ
487 depends on CC_LANG_JAVA
488 depends on CC_GCC_4_3_or_later
490 # Fortran always requires GMP+MPFR, whatever the gcc version
491 config CC_LANG_FORTRAN
492 select CC_GCC_USE_GMP_MPFR