# Compiler options # ## select CC_SUPPORT_CXX ## select CC_SUPPORT_FORTRAN ## select CC_SUPPORT_JAVA ## select CC_SUPPORT_ADA ## select CC_SUPPORT_OBJC ## select CC_SUPPORT_OBJCXX ## ## help gcc is the full-blown GNU compiler. This is what most people will choose. ## help ## help gcc supports many languages, a powerful code parser, optimised binary ## help output, and lots of other features. config CC_GCC_SHOW_LINARO bool prompt "Show Linaro versions (EXPERIMENTAL)" depends on EXPERIMENTAL help Linaro is maintaining some advanced/more stable/experimental versions of gcc, especially for the ARM architecture. Those versions have not been blessed by the gcc comunity (nor have they been cursed either!), but they look to be pretty much stable, and even more stable than the upstream versions. YMMV... If you do not know what this Linaro stuff is, then simply say 'n' here, and rest in peace. OTOH, if you know what you are doing, you will be able to use and enjoy :-) the Linaro versions by saying 'y' here. Linaro: http://www.linaro.org/ choice bool prompt "gcc version" config CC_V_SVN bool prompt "gcc from svn" depends on EXPERIMENTAL depends on CONFIGURE_has_svn select CC_GCC_latest # Don't remove next line # CT_INSERT_VERSION_BELOW config CC_V_linaro_4_7_2012_10 bool prompt "linaro-4.7-2012.10 (EXPERIMENTAL)" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_7 config CC_V_4_7_2 bool prompt "4.7.2" select CC_GCC_4_7 config CC_V_4_7_1 bool prompt "4.7.1 (EXPERIMENTAL)" depends on EXPERIMENTAL select CC_GCC_4_7 config CC_V_4_7_0 bool prompt "4.7.0 (EXPERIMENTAL)" depends on EXPERIMENTAL select CC_GCC_4_7 config CC_V_linaro_4_6_2012_10 bool prompt "linaro-4.6-2012.10 (EXPERIMENTAL)" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_6 config CC_V_4_6_3 bool prompt "4.6.3" select CC_GCC_4_6 config CC_V_4_6_2 bool prompt "4.6.2" select CC_GCC_4_6 config CC_V_4_6_1 bool prompt "4.6.1" select CC_GCC_4_6 config CC_V_4_6_0 bool prompt "4.6.0" select CC_GCC_4_6 config CC_V_linaro_4_5_2012_03 bool prompt "linaro-4.5-2012.03 (EXPERIMENTAL)" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_5 config CC_V_4_5_3 bool prompt "4.5.3" select CC_GCC_4_5 config CC_V_4_5_2 bool prompt "4.5.2" select CC_GCC_4_5 config CC_V_4_5_1 bool prompt "4.5.1" select CC_GCC_4_5 config CC_V_4_5_0 bool prompt "4.5.0" select CC_GCC_4_5 config CC_V_linaro_4_4_2011_02_0 bool prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)" depends on CC_GCC_SHOW_LINARO select CC_GCC_4_4 config CC_V_4_4_7 bool prompt "4.4.7" select CC_GCC_4_4 config CC_V_4_4_6 bool prompt "4.4.6" select CC_GCC_4_4 config CC_V_4_4_5 bool prompt "4.4.5" select CC_GCC_4_4 config CC_V_4_4_4 bool prompt "4.4.4" select CC_GCC_4_4 config CC_V_4_4_3 bool prompt "4.4.3" select CC_GCC_4_4 config CC_V_4_4_2 bool prompt "4.4.2" select CC_GCC_4_4 config CC_V_4_4_1 bool prompt "4.4.1" select CC_GCC_4_4 config CC_V_4_4_0 bool prompt "4.4.0" select CC_GCC_4_4 config CC_V_4_3_6 bool prompt "4.3.6" select CC_GCC_4_3 config CC_V_4_3_5 bool prompt "4.3.5" select CC_GCC_4_3 config CC_V_4_3_4 bool prompt "4.3.4" select CC_GCC_4_3 config CC_V_4_3_3 bool prompt "4.3.3" select CC_GCC_4_3 config CC_V_4_3_2 bool prompt "4.3.2" select CC_GCC_4_3 config CC_V_4_3_1 bool prompt "4.3.1" select CC_GCC_4_3 config CC_V_4_2_4 bool prompt "4.2.4" select CC_GCC_4_2 config CC_V_4_2_3 bool prompt "4.2.3 (OBSOLETE)" select CC_GCC_4_2 depends on OBSOLETE config CC_V_4_2_2 bool prompt "4.2.2" select CC_GCC_4_2 config CC_V_4_2_1 bool prompt "4.2.1 (OBSOLETE)" select CC_GCC_4_2 depends on OBSOLETE config CC_V_4_2_0 bool prompt "4.2.0 (OBSOLETE)" select CC_GCC_4_2 depends on OBSOLETE config CC_V_4_1_2 bool prompt "4.1.2 (OBSOLETE)" depends on OBSOLETE config CC_V_4_0_4 bool prompt "4.0.4 (OBSOLETE)" depends on OBSOLETE config CC_V_3_4_6 bool prompt "3.4.6 (OBSOLETE)" depends on OBSOLETE config CC_CUSTOM bool prompt "Custom gcc" depends on EXPERIMENTAL select CC_GCC_latest endchoice if CC_V_SVN config GCC_BRANCH string prompt "Branch or tag to use" default "trunk" help Enter the branch of gcc to use. Default is trunk A few examples might be: * trunk * branches/gcc-4_7-branch * branches/gcc-4_4-branch * branches/gccgo * branches/google * tags/gcc_4_7_1_release * tags/microblaze-4.4.2 config GCC_REVISION string prompt "Revision to use" default "HEAD" help Enter the revision of you want to use. Default is HEAD A revision argument can be one of: NUMBER revision number '{' DATE '}' revision at start of the date (*) 'HEAD' latest in repository (*) If you want to use a date, please use ISO-8601 formats if at all possible. config GCC_HTTP bool prompt "use http:// instead of svn://" help By default, when gcc is downloaded it is checked out using svn://gcc.gnu.org/svn/gcc. This option allows you to download gcc from http://gcc.gnu.org/svn/gcc, if you are behind a proxy or firewall. If you are behind a proxy, don't forget to update your .subversion/servers file with your proxy info in [global]. config GCC_CHECKOUT bool prompt "checkout instead of export" help By default, the gcc download will be an export of the subversion repository. If you say 'y' here, then the repository will instead be checked-out, so that you can update it later. Note that crosstool-NG will *not* update your working copy, you will have to do that yourself. endif if CC_CUSTOM config CC_CUSTOM_LOCATION string prompt "Full path to custom gcc source" default "" help Enter the path to the directory (or tarball) of your source for gcc, or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc endif #CC_CUSTOM config CC_GCC_4_2 bool select CC_GCC_4_2_or_later config CC_GCC_4_2_or_later bool config CC_GCC_4_3 bool select CC_GCC_4_3_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_HAS_PKGVERSION_BUGURL config CC_GCC_4_3_or_later bool select CC_GCC_4_2_or_later config CC_GCC_4_4 bool select CC_GCC_4_4_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_HAS_GRAPHITE select CC_GCC_HAS_PKGVERSION_BUGURL config CC_GCC_4_4_or_later bool select CC_GCC_4_3_or_later config CC_GCC_4_5 bool select CC_GCC_4_5_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC select CC_GCC_HAS_GRAPHITE select CC_GCC_HAS_LTO select CC_GCC_HAS_PKGVERSION_BUGURL select CC_GCC_HAS_BUILD_ID config CC_GCC_4_5_or_later bool select CC_GCC_4_4_or_later config CC_GCC_4_6 bool select CC_GCC_4_6_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC select CC_GCC_HAS_GRAPHITE select CC_GCC_HAS_LTO select CC_GCC_HAS_PKGVERSION_BUGURL select CC_GCC_HAS_BUILD_ID select CC_GCC_HAS_LIBQUADMATH config CC_GCC_4_6_or_later bool select CC_GCC_4_5_or_later config CC_GCC_4_7 bool select CC_GCC_4_7_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC select CC_GCC_HAS_GRAPHITE select CC_GCC_HAS_LTO select CC_GCC_HAS_PKGVERSION_BUGURL select CC_GCC_HAS_BUILD_ID select CC_GCC_HAS_LNK_HASH_STYLE select CC_GCC_HAS_LIBQUADMATH config CC_GCC_4_7_or_later bool select CC_GCC_4_6_or_later config CC_GCC_latest bool select CC_GCC_4_7_or_later select CC_GCC_USE_GMP_MPFR select CC_GCC_USE_MPC select CC_GCC_HAS_GRAPHITE select CC_GCC_HAS_LTO select CC_GCC_HAS_PKGVERSION_BUGURL select CC_GCC_HAS_BUILD_ID select CC_GCC_HAS_LNK_HASH_STYLE select CC_GCC_HAS_LIBQUADMATH config CC_GCC_HAS_GRAPHITE bool # The way LTO works is a bit twisted. # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements # Basically: # - if binutils has plugins: LTO is handled by ld/gold by loading # the plugin when linking # - if binutils does not have plugins: LTO is handled by collect2 # In any case, LTO support does not depend on plugins, but takes # advantage of it config CC_GCC_HAS_LTO bool config CC_GCC_HAS_PKGVERSION_BUGURL bool config CC_GCC_HAS_BUILD_ID bool config CC_GCC_HAS_LNK_HASH_STYLE bool # Only enable gcc's support for plugins if binutils has it as well # They are usefull only when doing LTO, but it does no harm enabling # them even without LTO. config CC_GCC_ENABLE_PLUGINS bool depends on BINUTILS_PLUGINS depends on ! STATIC_TOOLCHAIN default y # If binutils installs gold, enable support for gold in gcc config CC_GCC_GOLD bool depends on BINUTILS_GOLD_INSTALLED default y config CC_GCC_USE_GMP_MPFR bool select GMP_NEEDED select MPFR_NEEDED config CC_GCC_USE_PPL_CLOOG bool select PPL_NEEDED select CLOOG_NEEDED config CC_GCC_USE_MPC bool select MPC_NEEDED config CC_GCC_USE_LIBELF bool select LIBELF_NEEDED config CC_GCC_HAS_LIBQUADMATH bool config CC_VERSION string default "SVN" if CC_V_SVN # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW default "linaro-4.7-2012.10" if CC_V_linaro_4_7_2012_10 default "4.7.2" if CC_V_4_7_2 default "4.7.1" if CC_V_4_7_1 default "4.7.0" if CC_V_4_7_0 default "linaro-4.6-2012.10" if CC_V_linaro_4_6_2012_10 default "4.6.3" if CC_V_4_6_3 default "4.6.2" if CC_V_4_6_2 default "4.6.1" if CC_V_4_6_1 default "4.6.0" if CC_V_4_6_0 default "linaro-4.5-2012.03" if CC_V_linaro_4_5_2012_03 default "4.5.3" if CC_V_4_5_3 default "4.5.2" if CC_V_4_5_2 default "4.5.1" if CC_V_4_5_1 default "4.5.0" if CC_V_4_5_0 default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0 default "4.4.7" if CC_V_4_4_7 default "4.4.6" if CC_V_4_4_6 default "4.4.5" if CC_V_4_4_5 default "4.4.4" if CC_V_4_4_4 default "4.4.3" if CC_V_4_4_3 default "4.4.2" if CC_V_4_4_2 default "4.4.1" if CC_V_4_4_1 default "4.4.0" if CC_V_4_4_0 default "4.3.6" if CC_V_4_3_6 default "4.3.5" if CC_V_4_3_5 default "4.3.4" if CC_V_4_3_4 default "4.3.3" if CC_V_4_3_3 default "4.3.2" if CC_V_4_3_2 default "4.3.1" if CC_V_4_3_1 default "4.3.0" if CC_V_4_3_0 default "4.2.4" if CC_V_4_2_4 default "4.2.3" if CC_V_4_2_3 default "4.2.2" if CC_V_4_2_2 default "4.2.1" if CC_V_4_2_1 default "4.2.0" if CC_V_4_2_0 default "4.1.2" if CC_V_4_1_2 default "4.0.4" if CC_V_4_0_4 default "3.4.6" if CC_V_3_4_6 default "custom" if CC_CUSTOM config CC_LANG_JAVA_USE_ECJ bool default y depends on CC_LANG_JAVA depends on CC_GCC_4_3_or_later # Fortran always requires GMP+MPFR, whatever the gcc version config CC_LANG_FORTRAN select CC_GCC_USE_GMP_MPFR