yann@448: # Compiler options yann@448: yann@923: config CC_gcc yann@923: select CC_SUPPORT_CXX yann@923: select CC_SUPPORT_FORTRAN yann@923: select CC_SUPPORT_JAVA yann@923: select CC_SUPPORT_ADA yann@923: select CC_SUPPORT_OBJC yann@923: select CC_SUPPORT_OBJCXX yann@923: help yann@923: gcc is the full-blown GNU compiler. This is what most people will choose. yann@923: yann@923: gcc supports many languages, a powerful code parser, optimised binary yann@923: output, and lots of other features. yann@923: yann@2367: config CC_GCC_SHOW_LINARO yann@2367: bool yann@2367: prompt "Show Linaro versions (EXPERIMENTAL)" yann@2367: depends on EXPERIMENTAL yann@2367: help yann@2367: Linaro is maintaining some advanced/more stable/experimental versions yann@2367: of gcc, especially for the ARM architecture. yann@2367: yann@2367: Those versions have not been blessed by the gcc comunity (nor have they yann@2367: been cursed either!), but they look to be pretty much stable, and even yann@2367: more stable than the upstream versions. YMMV... yann@2367: yann@2367: If you do not know what this Linaro stuff is, then simply say 'n' here, yann@2367: and rest in peace. OTOH, if you know what you are doing, you will be yann@2367: able to use and enjoy :-) the Linaro versions by saying 'y' here. yann@2367: yann@2367: Linaro: http://www.linaro.org/ yann@2367: yann@448: choice yann@448: bool yann@448: prompt "gcc version" yann@1535: # Don't remove next line yann@1535: # CT_INSERT_VERSION_BELOW yann@448: yann@2416: config CC_V_linaro_4_6_2011_04_0 yann@2366: bool yann@2416: prompt "linaro-4.6-2011.04-0 (EXPERIMENTAL)" yann@2367: depends on CC_GCC_SHOW_LINARO yann@2366: select CC_GCC_4_6 yann@2366: yann@2365: config CC_V_4_6_0 yann@2365: bool yann@2365: prompt "4.6.0 (EXPERIMENTAL)" yann@2365: depends on EXPERIMENTAL yann@2365: select CC_GCC_4_6 yann@2365: yann@2416: config CC_V_linaro_4_5_2011_04_0 yann@2302: bool yann@2416: prompt "linaro-4.5-2011.04-0 (EXPERIMENTAL)" yann@2367: depends on CC_GCC_SHOW_LINARO yann@2362: select CC_GCC_4_5 yann@2302: bryanhundven@2233: config CC_V_4_5_2 bryanhundven@2233: bool bryanhundven@2233: prompt "4.5.2 (EXPERIMENTAL)" bryanhundven@2233: depends on EXPERIMENTAL yann@2362: select CC_GCC_4_5 bryanhundven@2233: lacombar@2061: config CC_V_4_5_1 lacombar@2061: bool lacombar@2061: prompt "4.5.1 (EXPERIMENTAL)" lacombar@2061: depends on EXPERIMENTAL yann@2362: select CC_GCC_4_5 lacombar@2061: yann@1921: config CC_V_4_5_0 yann@1921: bool yann@1921: prompt "4.5.0 (EXPERIMENTAL)" yann@1921: depends on EXPERIMENTAL yann@2362: select CC_GCC_4_5 yann@1921: yann@2302: yann@2302: config CC_V_linaro_4_4_2011_02_0 yann@2302: bool yann@2302: prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)" yann@2367: depends on CC_GCC_SHOW_LINARO yann@2362: select CC_GCC_4_4 yann@2302: yann@2406: config CC_V_4_4_6 yann@2406: bool yann@2406: prompt "4.4.6" yann@2406: select CC_GCC_4_4_or_later yann@2406: yann@2149: config CC_V_4_4_5 yann@2149: bool yann@2149: prompt "4.4.5" yann@2362: select CC_GCC_4_4 yann@2149: yann@1948: config CC_V_4_4_4 yann@1948: bool yann@2149: prompt "4.4.4" yann@2362: select CC_GCC_4_4 yann@1948: yann@1752: config CC_V_4_4_3 yann@1752: bool yann@1778: prompt "4.4.3" yann@2362: select CC_GCC_4_4 yann@1752: yann@1611: config CC_V_4_4_2 yann@1611: bool yann@1778: prompt "4.4.2" yann@2362: select CC_GCC_4_4 yann@1611: yann@1534: config CC_V_4_4_1 yann@448: bool yann@1778: prompt "4.4.1" yann@2362: select CC_GCC_4_4 yann@1462: yann@1268: config CC_V_4_4_0 yann@1268: bool yann@1778: prompt "4.4.0" yann@2362: select CC_GCC_4_4 yann@1268: yann@2124: config CC_V_4_3_5 yann@2124: bool yann@2124: prompt "4.3.5" yann@2362: select CC_GCC_4_3 yann@2124: yann@1534: config CC_V_4_3_4 yann@1442: bool yann@1534: prompt "4.3.4" yann@2362: select CC_GCC_4_3 yann@1534: yann@1534: config CC_V_4_3_3 yann@1534: bool yann@1534: prompt "4.3.3" yann@2362: select CC_GCC_4_3 yann@1534: yann@1534: config CC_V_4_3_2 yann@1534: bool yann@1534: prompt "4.3.2" yann@2362: select CC_GCC_4_3 yann@1534: yann@1534: config CC_V_4_3_1 yann@1534: bool yann@1534: prompt "4.3.1" yann@2362: select CC_GCC_4_3 yann@1534: yann@1534: config CC_V_4_2_4 yann@1534: bool yann@1534: prompt "4.2.4" yann@2362: select CC_GCC_4_2 yann@1534: yann@1534: config CC_V_4_2_3 yann@1534: bool yann@1615: prompt "4.2.3 (OBSOLETE)" yann@2362: select CC_GCC_4_2 yann@1615: depends on OBSOLETE yann@1534: yann@1534: config CC_V_4_2_2 yann@1534: bool yann@1534: prompt "4.2.2" yann@2362: select CC_GCC_4_2 yann@1534: yann@1534: config CC_V_4_2_1 yann@1534: bool yann@1615: prompt "4.2.1 (OBSOLETE)" yann@2362: select CC_GCC_4_2 yann@1615: depends on OBSOLETE yann@1534: yann@1534: config CC_V_4_2_0 yann@1534: bool yann@1615: prompt "4.2.0 (OBSOLETE)" yann@2362: select CC_GCC_4_2 yann@1615: depends on OBSOLETE yann@1534: yann@1534: config CC_V_4_1_2 yann@1534: bool yann@1615: prompt "4.1.2 (OBSOLETE)" yann@1615: depends on OBSOLETE yann@1534: yann@1534: config CC_V_4_0_4 yann@1534: bool yann@1615: prompt "4.0.4 (OBSOLETE)" yann@1615: depends on OBSOLETE yann@1534: yann@1534: config CC_V_3_4_6 yann@1534: bool yann@1534: prompt "3.4.6 (OBSOLETE)" yann@1534: depends on OBSOLETE yann@1534: yann@448: endchoice yann@448: yann@2362: config CC_GCC_4_2 yann@2362: bool yann@2362: default n yann@2362: select CC_GCC_4_2_or_later yann@2362: lacombar@1881: config CC_GCC_4_2_or_later lacombar@1881: bool lacombar@1881: default n lacombar@1881: yann@2362: config CC_GCC_4_3 yann@2362: bool yann@2362: default n yann@2362: select CC_GCC_4_3_or_later yann@2362: select CC_GCC_USE_GMP_MPFR yann@2362: yann@1268: config CC_GCC_4_3_or_later yann@1268: bool yann@1268: default n lacombar@1881: select CC_GCC_4_2_or_later yann@2362: yann@2362: config CC_GCC_4_4 yann@2362: bool yann@2362: default n yann@2362: select CC_GCC_4_4_or_later yann@1848: select CC_GCC_USE_GMP_MPFR yann@2362: select CC_GCC_HAS_GRAPHITE yann@1268: yann@1320: config CC_GCC_4_4_or_later yann@1268: bool yann@1268: default n yann@1805: select CC_GCC_4_3_or_later yann@2362: yann@2362: config CC_GCC_4_5 yann@2362: bool yann@2362: default n yann@2362: select CC_GCC_4_5_or_later yann@2362: select CC_GCC_USE_GMP_MPFR yann@2362: select CC_GCC_USE_MPC yann@2122: select CC_GCC_HAS_GRAPHITE yann@2362: select CC_GCC_HAS_LTO yann@1848: yann@1920: config CC_GCC_4_5_or_later yann@1920: bool yann@1920: default n yann@1920: select CC_GCC_4_4_or_later yann@2122: yann@2363: config CC_GCC_4_6 yann@2363: bool yann@2363: default n yann@2363: select CC_GCC_4_6_or_later yann@2363: select CC_GCC_USE_GMP_MPFR yann@2363: select CC_GCC_USE_MPC yann@2363: select CC_GCC_HAS_GRAPHITE yann@2363: select CC_GCC_HAS_LTO yann@2363: yann@2363: config CC_GCC_4_6_or_later yann@2363: bool yann@2363: default n yann@2363: select CC_GCC_4_5_or_later yann@2363: yann@2122: config CC_GCC_HAS_GRAPHITE yann@2122: bool yann@2122: default n yann@2122: yann@2287: # The way LTO works is a bit twisted. yann@2287: # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements yann@2287: # Basically: yann@2287: # - if binutils has plugins: LTO is handled by ld/gold by loading yann@2287: # the plugin when linking yann@2287: # - if binutils does not have plugins: LTO is handled by collect2 yann@2287: # In any case, LTO support does not depend on plugins, but takes yann@2287: # advantage of it yann@2122: config CC_GCC_HAS_LTO yann@2122: bool yann@2122: default n yann@1920: yann@2287: # Only enable gcc's support for plugins if binutils has it as well yann@2287: # They are usefull only when doing LTO, but it does no harm enabling yann@2287: # them even without LTO. yann@2287: config CC_GCC_ENABLE_PLUGINS yann@2287: bool yann@2287: depends on BINUTILS_PLUGINS yann@2316: depends on ! STATIC_TOOLCHAIN yann@2287: default y yann@2287: yann@2287: # If binutils installs gold, enable support for gold in gcc yann@2287: config CC_GCC_GOLD yann@2287: bool yann@2287: depends on BINUTILS_GOLD_INSTALLED yann@2287: default y yann@2287: yann@1848: config CC_GCC_USE_GMP_MPFR yann@1848: bool yann@1848: default n yann@2131: select GMP_NEEDED yann@2131: select MPFR_NEEDED yann@1848: yann@2014: config CC_GCC_USE_PPL_CLOOG yann@1848: bool yann@1848: default n yann@2131: select PPL_NEEDED yann@2131: select CLOOG_NEEDED yann@1268: yann@2122: config CC_GCC_USE_MPC yann@1920: bool yann@1920: default n yann@2131: select MPC_NEEDED yann@2122: yann@2122: config CC_GCC_USE_LIBELF yann@2122: bool yann@2122: default n yann@2131: select LIBELF_NEEDED yann@1920: yann@448: config CC_VERSION yann@448: string yann@1535: # Don't remove next line yann@1535: # CT_INSERT_VERSION_STRING_BELOW yann@2406: default "4.4.6" if CC_V_4_4_6 yann@2416: default "linaro-4.6-2011.04-0" if CC_V_linaro_4_6_2011_04_0 yann@2365: default "4.6.0" if CC_V_4_6_0 yann@2416: default "linaro-4.5-2011.04-0" if CC_V_linaro_4_5_2011_04_0 bryanhundven@2233: default "4.5.2" if CC_V_4_5_2 lacombar@2061: default "4.5.1" if CC_V_4_5_1 yann@1921: default "4.5.0" if CC_V_4_5_0 yann@2302: default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0 yann@2149: default "4.4.5" if CC_V_4_4_5 yann@1948: default "4.4.4" if CC_V_4_4_4 yann@1752: default "4.4.3" if CC_V_4_4_3 yann@1611: default "4.4.2" if CC_V_4_4_2 yann@1534: default "4.4.1" if CC_V_4_4_1 yann@1534: default "4.4.0" if CC_V_4_4_0 yann@2124: default "4.3.5" if CC_V_4_3_5 yann@1534: default "4.3.4" if CC_V_4_3_4 yann@1534: default "4.3.3" if CC_V_4_3_3 yann@1534: default "4.3.2" if CC_V_4_3_2 yann@1534: default "4.3.1" if CC_V_4_3_1 yann@1534: default "4.3.0" if CC_V_4_3_0 yann@1534: default "4.2.4" if CC_V_4_2_4 yann@1534: default "4.2.3" if CC_V_4_2_3 yann@1534: default "4.2.2" if CC_V_4_2_2 yann@1534: default "4.2.1" if CC_V_4_2_1 yann@1534: default "4.2.0" if CC_V_4_2_0 yann@1534: default "4.1.2" if CC_V_4_1_2 yann@1534: default "4.0.4" if CC_V_4_0_4 yann@1534: default "3.4.6" if CC_V_3_4_6 yann@448: yann@2041: config CC_LANG_JAVA_USE_ECJ yann@448: bool yann@765: default y yann@2041: depends on CC_LANG_JAVA yann@2041: depends on CC_GCC_4_3_or_later