yann@448: # Compiler options yann@2444: # yann@2444: ## select CC_SUPPORT_CXX yann@2444: ## select CC_SUPPORT_FORTRAN yann@2444: ## select CC_SUPPORT_JAVA yann@2444: ## select CC_SUPPORT_ADA yann@2444: ## select CC_SUPPORT_OBJC yann@2444: ## select CC_SUPPORT_OBJCXX yann@2444: ## yann@2444: ## help gcc is the full-blown GNU compiler. This is what most people will choose. yann@2444: ## help yann@2444: ## help gcc supports many languages, a powerful code parser, optimised binary yann@2444: ## help output, and lots of other features. yann@923: yann@2367: config CC_GCC_SHOW_LINARO yann@2367: bool yann@3149: prompt "Show Linaro versions" 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" bryanhundven@3043: yann@1535: # Don't remove next line yann@1535: # CT_INSERT_VERSION_BELOW yann@448: yann@3174: config CC_V_linaro_4_7 benoit@2952: bool benoit@3201: prompt "linaro-4.7-2013.04" benoit@2952: depends on CC_GCC_SHOW_LINARO benoit@2952: select CC_GCC_4_7 benoit@2952: f@3057: config CC_V_4_7_2 f@3057: bool f@3057: prompt "4.7.2" f@3057: select CC_GCC_4_7 f@3057: bryanhundven@3015: config CC_V_4_7_1 bryanhundven@3015: bool yann@3149: prompt "4.7.1" bryanhundven@3015: select CC_GCC_4_7 bryanhundven@3015: bryanhundven@2943: config CC_V_4_7_0 bryanhundven@2943: bool yann@3149: prompt "4.7.0" bryanhundven@2943: select CC_GCC_4_7 bryanhundven@2943: yann@3174: config CC_V_linaro_4_6 yann@2366: bool benoit@3201: prompt "linaro-4.6-2013.04" yann@2367: depends on CC_GCC_SHOW_LINARO yann@2366: select CC_GCC_4_6 yann@2366: bryanhundven@2903: config CC_V_4_6_3 bryanhundven@2903: bool yann@2946: prompt "4.6.3" bryanhundven@2903: select CC_GCC_4_6 bryanhundven@2903: bryanhundven@2732: config CC_V_4_6_2 bryanhundven@2732: bool yann@2946: prompt "4.6.2" bryanhundven@2732: select CC_GCC_4_6 bryanhundven@2732: bryanhundven@2516: config CC_V_4_6_1 bryanhundven@2516: bool yann@2946: prompt "4.6.1" bryanhundven@2516: select CC_GCC_4_6 bryanhundven@2516: yann@2365: config CC_V_4_6_0 yann@2365: bool yann@2946: prompt "4.6.0" yann@2365: select CC_GCC_4_6 yann@2365: yann@3174: config CC_V_linaro_4_5 yann@2302: bool yann@3149: prompt "linaro-4.5-2012.03" yann@2367: depends on CC_GCC_SHOW_LINARO yann@2362: select CC_GCC_4_5 yann@2302: bryanhundven@2516: config CC_V_4_5_3 bryanhundven@2516: bool yann@2946: prompt "4.5.3" bryanhundven@2516: select CC_GCC_4_5 bryanhundven@2516: bryanhundven@2233: config CC_V_4_5_2 bryanhundven@2233: bool yann@2946: prompt "4.5.2" yann@2362: select CC_GCC_4_5 bryanhundven@2233: lacombar@2061: config CC_V_4_5_1 lacombar@2061: bool yann@2946: prompt "4.5.1" yann@2362: select CC_GCC_4_5 lacombar@2061: yann@1921: config CC_V_4_5_0 yann@1921: bool yann@2946: prompt "4.5.0" yann@2362: select CC_GCC_4_5 yann@1921: yann@2302: yann@3174: config CC_V_linaro_4_4 yann@2302: bool yann@3149: prompt "linaro-4.4-2011.02-0" yann@2367: depends on CC_GCC_SHOW_LINARO yann@2362: select CC_GCC_4_4 yann@2302: bryanhundven@2944: config CC_V_4_4_7 bryanhundven@2944: bool bryanhundven@2944: prompt "4.4.7" bryanhundven@2944: select CC_GCC_4_4 bryanhundven@2944: yann@2406: config CC_V_4_4_6 yann@2406: bool yann@2406: prompt "4.4.6" yann@2440: select CC_GCC_4_4 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: bryanhundven@2516: config CC_V_4_3_6 bryanhundven@2516: bool bryanhundven@2516: prompt "4.3.6" bryanhundven@2516: select CC_GCC_4_3 bryanhundven@2516: 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@3142: # We need that one, it's the only version with avr32 support yann@3142: # because we have a patch for it 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_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: david@3088: config CC_CUSTOM david@3088: bool david@3088: prompt "Custom gcc" david@3088: depends on EXPERIMENTAL david@3088: select CC_GCC_latest david@3088: yann@448: endchoice yann@448: david@3088: if CC_CUSTOM david@3088: david@3088: config CC_CUSTOM_LOCATION david@3088: string david@3088: prompt "Full path to custom gcc source" david@3088: default "" david@3088: help david@3088: Enter the path to the directory (or tarball) of your source for gcc, david@3088: or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc david@3088: david@3088: endif #CC_CUSTOM david@3088: yann@2362: config CC_GCC_4_2 yann@2362: bool 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: yann@2362: config CC_GCC_4_3 yann@2362: bool yann@2362: select CC_GCC_4_3_or_later yann@2362: select CC_GCC_USE_GMP_MPFR benoit@2486: select CC_GCC_HAS_PKGVERSION_BUGURL yann@2362: yann@1268: config CC_GCC_4_3_or_later yann@1268: bool lacombar@1881: select CC_GCC_4_2_or_later yann@2362: yann@2362: config CC_GCC_4_4 yann@2362: bool yann@2362: select CC_GCC_4_4_or_later yann@1848: select CC_GCC_USE_GMP_MPFR yann@2362: select CC_GCC_HAS_GRAPHITE benoit@2486: select CC_GCC_HAS_PKGVERSION_BUGURL yann@1268: yann@1320: config CC_GCC_4_4_or_later yann@1268: bool yann@1805: select CC_GCC_4_3_or_later yann@2362: yann@2362: config CC_GCC_4_5 yann@2362: bool 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 benoit@2486: select CC_GCC_HAS_PKGVERSION_BUGURL yann@2521: select CC_GCC_HAS_BUILD_ID yann@1848: yann@1920: config CC_GCC_4_5_or_later yann@1920: bool yann@1920: select CC_GCC_4_4_or_later yann@2122: yann@2363: config CC_GCC_4_6 yann@2363: bool 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 benoit@2486: select CC_GCC_HAS_PKGVERSION_BUGURL yann@2521: select CC_GCC_HAS_BUILD_ID yann@2979: select CC_GCC_HAS_LIBQUADMATH yann@2363: yann@2363: config CC_GCC_4_6_or_later yann@2363: bool yann@2363: select CC_GCC_4_5_or_later yann@2363: bryanhundven@2943: config CC_GCC_4_7 bryanhundven@2943: bool bryanhundven@2943: select CC_GCC_4_7_or_later bryanhundven@2943: select CC_GCC_USE_GMP_MPFR bryanhundven@2943: select CC_GCC_USE_MPC bryanhundven@2943: select CC_GCC_HAS_GRAPHITE bryanhundven@2943: select CC_GCC_HAS_LTO bryanhundven@2943: select CC_GCC_HAS_PKGVERSION_BUGURL bryanhundven@2943: select CC_GCC_HAS_BUILD_ID yann@2948: select CC_GCC_HAS_LNK_HASH_STYLE yann@2979: select CC_GCC_HAS_LIBQUADMATH bryanhundven@2943: bryanhundven@2943: config CC_GCC_4_7_or_later bryanhundven@2943: bool bryanhundven@2943: select CC_GCC_4_6_or_later bryanhundven@2943: bryanhundven@3043: config CC_GCC_latest bryanhundven@3043: bool bryanhundven@3043: select CC_GCC_4_7_or_later bryanhundven@3043: select CC_GCC_USE_GMP_MPFR bryanhundven@3043: select CC_GCC_USE_MPC bryanhundven@3043: select CC_GCC_HAS_GRAPHITE bryanhundven@3043: select CC_GCC_HAS_LTO bryanhundven@3043: select CC_GCC_HAS_PKGVERSION_BUGURL bryanhundven@3043: select CC_GCC_HAS_BUILD_ID bryanhundven@3043: select CC_GCC_HAS_LNK_HASH_STYLE bryanhundven@3043: select CC_GCC_HAS_LIBQUADMATH bryanhundven@3043: yann@2122: config CC_GCC_HAS_GRAPHITE yann@2122: bool 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@1920: benoit@2486: config CC_GCC_HAS_PKGVERSION_BUGURL benoit@2486: bool benoit@2486: yann@2521: config CC_GCC_HAS_BUILD_ID yann@2521: bool yann@2521: yann@2522: config CC_GCC_HAS_LNK_HASH_STYLE yann@2522: bool yann@2522: 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@2131: select GMP_NEEDED yann@2131: select MPFR_NEEDED yann@1848: yann@2014: config CC_GCC_USE_PPL_CLOOG yann@1848: bool yann@2131: select PPL_NEEDED yann@2131: select CLOOG_NEEDED yann@1268: yann@2122: config CC_GCC_USE_MPC yann@1920: bool yann@2131: select MPC_NEEDED yann@2122: yann@2122: config CC_GCC_USE_LIBELF yann@2122: bool yann@2131: select LIBELF_NEEDED yann@1920: yann@2979: config CC_GCC_HAS_LIBQUADMATH yann@2979: bool yann@2979: yann@448: config CC_VERSION yann@448: string yann@1535: # Don't remove next line yann@1535: # CT_INSERT_VERSION_STRING_BELOW benoit@3201: default "linaro-4.7-2013.04" if CC_V_linaro_4_7 f@3057: default "4.7.2" if CC_V_4_7_2 bryanhundven@3015: default "4.7.1" if CC_V_4_7_1 bryanhundven@2943: default "4.7.0" if CC_V_4_7_0 benoit@3201: default "linaro-4.6-2013.04" if CC_V_linaro_4_6 bryanhundven@2903: default "4.6.3" if CC_V_4_6_3 bryanhundven@2732: default "4.6.2" if CC_V_4_6_2 bryanhundven@2516: default "4.6.1" if CC_V_4_6_1 yann@2365: default "4.6.0" if CC_V_4_6_0 yann@3174: default "linaro-4.5-2012.03" if CC_V_linaro_4_5 bryanhundven@2516: default "4.5.3" if CC_V_4_5_3 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@3174: default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4 bryanhundven@2944: default "4.4.7" if CC_V_4_4_7 bryanhundven@2516: default "4.4.6" if CC_V_4_4_6 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 bryanhundven@2516: default "4.3.6" if CC_V_4_3_6 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.2" if CC_V_4_2_2 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 david@3088: default "custom" if CC_CUSTOM 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 yann@2579: yann@2579: # Fortran always requires GMP+MPFR, whatever the gcc version yann@2579: config CC_LANG_FORTRAN yann@2579: select CC_GCC_USE_GMP_MPFR