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_7
41 prompt "linaro-4.7-2013.04"
42 depends on CC_GCC_SHOW_LINARO
65 config CC_V_linaro_4_6
67 prompt "linaro-4.6-2013.04"
68 depends on CC_GCC_SHOW_LINARO
96 config CC_V_linaro_4_5
98 prompt "linaro-4.5-2012.03"
99 depends on CC_GCC_SHOW_LINARO
123 config CC_V_linaro_4_4
125 prompt "linaro-4.4-2011.02-0"
126 depends on CC_GCC_SHOW_LINARO
204 # We need that one, it's the only version with avr32 support
205 # because we have a patch for it
213 prompt "4.1.2 (OBSOLETE)"
218 prompt "4.0.4 (OBSOLETE)"
223 prompt "3.4.6 (OBSOLETE)"
229 depends on EXPERIMENTAL
236 config CC_CUSTOM_LOCATION
238 prompt "Full path to custom gcc source"
241 Enter the path to the directory (or tarball) of your source for gcc,
242 or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
248 select CC_GCC_4_2_or_later
250 config CC_GCC_4_2_or_later
255 select CC_GCC_4_3_or_later
256 select CC_GCC_USE_GMP_MPFR
257 select CC_GCC_HAS_PKGVERSION_BUGURL
259 config CC_GCC_4_3_or_later
261 select CC_GCC_4_2_or_later
265 select CC_GCC_4_4_or_later
266 select CC_GCC_USE_GMP_MPFR
267 select CC_GCC_HAS_GRAPHITE
268 select CC_GCC_HAS_PKGVERSION_BUGURL
270 config CC_GCC_4_4_or_later
272 select CC_GCC_4_3_or_later
276 select CC_GCC_4_5_or_later
277 select CC_GCC_USE_GMP_MPFR
278 select CC_GCC_USE_MPC
279 select CC_GCC_HAS_GRAPHITE
280 select CC_GCC_HAS_LTO
281 select CC_GCC_HAS_PKGVERSION_BUGURL
282 select CC_GCC_HAS_BUILD_ID
284 config CC_GCC_4_5_or_later
286 select CC_GCC_4_4_or_later
290 select CC_GCC_4_6_or_later
291 select CC_GCC_USE_GMP_MPFR
292 select CC_GCC_USE_MPC
293 select CC_GCC_HAS_GRAPHITE
294 select CC_GCC_HAS_LTO
295 select CC_GCC_HAS_PKGVERSION_BUGURL
296 select CC_GCC_HAS_BUILD_ID
297 select CC_GCC_HAS_LIBQUADMATH
299 config CC_GCC_4_6_or_later
301 select CC_GCC_4_5_or_later
305 select CC_GCC_4_7_or_later
306 select CC_GCC_USE_GMP_MPFR
307 select CC_GCC_USE_MPC
308 select CC_GCC_HAS_GRAPHITE
309 select CC_GCC_HAS_LTO
310 select CC_GCC_HAS_PKGVERSION_BUGURL
311 select CC_GCC_HAS_BUILD_ID
312 select CC_GCC_HAS_LNK_HASH_STYLE
313 select CC_GCC_HAS_LIBQUADMATH
315 config CC_GCC_4_7_or_later
317 select CC_GCC_4_6_or_later
321 select CC_GCC_4_8_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_8_or_later
333 select CC_GCC_4_7_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
347 config CC_GCC_HAS_GRAPHITE
350 # For graphite: gcc 4.4..4.7 need ppl, while 4.8.. need isl
351 # Prompt in config/cc/gcc.in.2
352 config CC_GCC_USE_GRAPHITE
355 depends on CC_GCC_HAS_GRAPHITE
357 select PPL_NEEDED if !CC_GCC_4_8_or_later
358 select ISL_NEEDED if CC_GCC_4_8_or_later
360 Enable the GRAPHITE loop optimsations.
362 On some systems (eg. Cygwin), PPL and/or CLooG (required to enable
363 GRAPHITE) may not build properly (yet), so you'll have to say 'N'
364 here (or help debug the issues)
366 # The way LTO works is a bit twisted.
367 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
369 # - if binutils has plugins: LTO is handled by ld/gold by loading
370 # the plugin when linking
371 # - if binutils does not have plugins: LTO is handled by collect2
372 # In any case, LTO support does not depend on plugins, but takes
374 config CC_GCC_HAS_LTO
377 # Prompt in config/cc/gcc.in.2
378 config CC_GCC_USE_LTO
381 depends on CC_GCC_HAS_LTO
382 select CC_GCC_USE_LIBELF if CC_GCC_4_5
384 Enable the Link Time Optimisations.
386 config CC_GCC_HAS_PKGVERSION_BUGURL
389 config CC_GCC_HAS_BUILD_ID
392 config CC_GCC_HAS_LNK_HASH_STYLE
395 # Only enable gcc's support for plugins if binutils has it as well
396 # They are usefull only when doing LTO, but it does no harm enabling
397 # them even without LTO.
398 config CC_GCC_ENABLE_PLUGINS
400 depends on BINUTILS_PLUGINS
401 depends on ! STATIC_TOOLCHAIN
404 # If binutils installs gold, enable support for gold in gcc
407 depends on BINUTILS_GOLD_INSTALLED
410 config CC_GCC_USE_GMP_MPFR
417 config CC_GCC_USE_MPC
421 config CC_GCC_USE_LIBELF
425 config CC_GCC_HAS_LIBQUADMATH
430 # Don't remove next line
431 # CT_INSERT_VERSION_STRING_BELOW
432 default "linaro-4.7-2013.04" if CC_V_linaro_4_7
433 default "4.7.3" if CC_V_4_7_3
434 default "4.7.2" if CC_V_4_7_2
435 default "4.7.1" if CC_V_4_7_1
436 default "4.7.0" if CC_V_4_7_0
437 default "linaro-4.6-2013.04" if CC_V_linaro_4_6
438 default "4.6.4" if CC_V_4_6_4
439 default "4.6.3" if CC_V_4_6_3
440 default "4.6.2" if CC_V_4_6_2
441 default "4.6.1" if CC_V_4_6_1
442 default "4.6.0" if CC_V_4_6_0
443 default "linaro-4.5-2012.03" if CC_V_linaro_4_5
444 default "4.5.3" if CC_V_4_5_3
445 default "4.5.2" if CC_V_4_5_2
446 default "4.5.1" if CC_V_4_5_1
447 default "4.5.0" if CC_V_4_5_0
448 default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4
449 default "4.4.7" if CC_V_4_4_7
450 default "4.4.6" if CC_V_4_4_6
451 default "4.4.5" if CC_V_4_4_5
452 default "4.4.4" if CC_V_4_4_4
453 default "4.4.3" if CC_V_4_4_3
454 default "4.4.2" if CC_V_4_4_2
455 default "4.4.1" if CC_V_4_4_1
456 default "4.4.0" if CC_V_4_4_0
457 default "4.3.6" if CC_V_4_3_6
458 default "4.3.5" if CC_V_4_3_5
459 default "4.3.4" if CC_V_4_3_4
460 default "4.3.3" if CC_V_4_3_3
461 default "4.3.2" if CC_V_4_3_2
462 default "4.3.1" if CC_V_4_3_1
463 default "4.3.0" if CC_V_4_3_0
464 default "4.2.4" if CC_V_4_2_4
465 default "4.2.2" if CC_V_4_2_2
466 default "4.1.2" if CC_V_4_1_2
467 default "4.0.4" if CC_V_4_0_4
468 default "3.4.6" if CC_V_3_4_6
469 default "custom" if CC_CUSTOM
471 config CC_LANG_JAVA_USE_ECJ
474 depends on CC_LANG_JAVA
475 depends on CC_GCC_4_3_or_later
477 # Fortran always requires GMP+MPFR, whatever the gcc version
478 config CC_LANG_FORTRAN
479 select CC_GCC_USE_GMP_MPFR