config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Mar 26 22:04:22 2011 +0100 (2011-03-26)
changeset 2367 d4c9c0071bbb
parent 2366 78ea01560905
child 2406 95e0c248d257
permissions -rw-r--r--
cc/gcc: hide Linaro options by default

It can be quite confusing for a new-comer to find strange
version numbers for gcc, so hide the Linaro versions by
default.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # Compiler options
     2 
     3 config CC_gcc
     4     select CC_SUPPORT_CXX
     5     select CC_SUPPORT_FORTRAN
     6     select CC_SUPPORT_JAVA
     7     select CC_SUPPORT_ADA
     8     select CC_SUPPORT_OBJC
     9     select CC_SUPPORT_OBJCXX
    10     help
    11       gcc is the full-blown GNU compiler. This is what most people will choose.
    12       
    13       gcc supports many languages, a powerful code parser, optimised binary
    14       output, and lots of other features.
    15 
    16 config CC_GCC_SHOW_LINARO
    17     bool
    18     prompt "Show Linaro versions (EXPERIMENTAL)"
    19     depends on EXPERIMENTAL
    20     help
    21       Linaro is maintaining some advanced/more stable/experimental versions
    22       of gcc, especially for the ARM architecture.
    23       
    24       Those versions have not been blessed by the gcc comunity (nor have they
    25       been cursed either!), but they look to be pretty much stable, and even
    26       more stable than the upstream versions. YMMV...
    27       
    28       If you do not know what this Linaro stuff is, then simply say 'n' here,
    29       and rest in peace. OTOH, if you know what you are doing, you will be
    30       able to use and enjoy :-) the Linaro versions by saying 'y' here.
    31       
    32       Linaro: http://www.linaro.org/
    33 
    34 choice
    35     bool
    36     prompt "gcc version"
    37 # Don't remove next line
    38 # CT_INSERT_VERSION_BELOW
    39 
    40 config CC_V_linaro_4_6_2011_03_0
    41     bool
    42     prompt "linaro-4.6-2011.03-0 (EXPERIMENTAL)"
    43     depends on CC_GCC_SHOW_LINARO
    44     select CC_GCC_4_6
    45 
    46 config CC_V_4_6_0
    47     bool
    48     prompt "4.6.0 (EXPERIMENTAL)"
    49     depends on EXPERIMENTAL
    50     select CC_GCC_4_6
    51 
    52 config CC_V_linaro_4_5_2011_03_0
    53     bool
    54     prompt "linaro-4.5-2011.03-0 (EXPERIMENTAL)"
    55     depends on CC_GCC_SHOW_LINARO
    56     select CC_GCC_4_5
    57 
    58 config CC_V_4_5_2
    59     bool
    60     prompt "4.5.2 (EXPERIMENTAL)"
    61     depends on EXPERIMENTAL
    62     select CC_GCC_4_5
    63 
    64 config CC_V_4_5_1
    65     bool
    66     prompt "4.5.1 (EXPERIMENTAL)"
    67     depends on EXPERIMENTAL
    68     select CC_GCC_4_5
    69 
    70 config CC_V_4_5_0
    71     bool
    72     prompt "4.5.0 (EXPERIMENTAL)"
    73     depends on EXPERIMENTAL
    74     select CC_GCC_4_5
    75 
    76 
    77 config CC_V_linaro_4_4_2011_02_0
    78     bool
    79     prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
    80     depends on CC_GCC_SHOW_LINARO
    81     select CC_GCC_4_4
    82 
    83 config CC_V_4_4_5
    84     bool
    85     prompt "4.4.5"
    86     select CC_GCC_4_4
    87 
    88 config CC_V_4_4_4
    89     bool
    90     prompt "4.4.4"
    91     select CC_GCC_4_4
    92 
    93 config CC_V_4_4_3
    94     bool
    95     prompt "4.4.3"
    96     select CC_GCC_4_4
    97 
    98 config CC_V_4_4_2
    99     bool
   100     prompt "4.4.2"
   101     select CC_GCC_4_4
   102 
   103 config CC_V_4_4_1
   104     bool
   105     prompt "4.4.1"
   106     select CC_GCC_4_4
   107 
   108 config CC_V_4_4_0
   109     bool
   110     prompt "4.4.0"
   111     select CC_GCC_4_4
   112 
   113 config CC_V_4_3_5
   114     bool
   115     prompt "4.3.5"
   116     select CC_GCC_4_3
   117 
   118 config CC_V_4_3_4
   119     bool
   120     prompt "4.3.4"
   121     select CC_GCC_4_3
   122 
   123 config CC_V_4_3_3
   124     bool
   125     prompt "4.3.3"
   126     select CC_GCC_4_3
   127 
   128 config CC_V_4_3_2
   129     bool
   130     prompt "4.3.2"
   131     select CC_GCC_4_3
   132 
   133 config CC_V_4_3_1
   134     bool
   135     prompt "4.3.1"
   136     select CC_GCC_4_3
   137 
   138 config CC_V_4_2_4
   139     bool
   140     prompt "4.2.4"
   141     select CC_GCC_4_2
   142 
   143 config CC_V_4_2_3
   144     bool
   145     prompt "4.2.3 (OBSOLETE)"
   146     select CC_GCC_4_2
   147     depends on OBSOLETE
   148 
   149 config CC_V_4_2_2
   150     bool
   151     prompt "4.2.2"
   152     select CC_GCC_4_2
   153 
   154 config CC_V_4_2_1
   155     bool
   156     prompt "4.2.1 (OBSOLETE)"
   157     select CC_GCC_4_2
   158     depends on OBSOLETE
   159 
   160 config CC_V_4_2_0
   161     bool
   162     prompt "4.2.0 (OBSOLETE)"
   163     select CC_GCC_4_2
   164     depends on OBSOLETE
   165 
   166 config CC_V_4_1_2
   167     bool
   168     prompt "4.1.2 (OBSOLETE)"
   169     depends on OBSOLETE
   170 
   171 config CC_V_4_0_4
   172     bool
   173     prompt "4.0.4 (OBSOLETE)"
   174     depends on OBSOLETE
   175 
   176 config CC_V_3_4_6
   177     bool
   178     prompt "3.4.6 (OBSOLETE)"
   179     depends on OBSOLETE
   180 
   181 endchoice
   182 
   183 config CC_GCC_4_2
   184     bool
   185     default n
   186     select CC_GCC_4_2_or_later
   187 
   188 config CC_GCC_4_2_or_later
   189     bool
   190     default n
   191 
   192 config CC_GCC_4_3
   193     bool
   194     default n
   195     select CC_GCC_4_3_or_later
   196     select CC_GCC_USE_GMP_MPFR
   197 
   198 config CC_GCC_4_3_or_later
   199     bool
   200     default n
   201     select CC_GCC_4_2_or_later
   202 
   203 config CC_GCC_4_4
   204     bool
   205     default n
   206     select CC_GCC_4_4_or_later
   207     select CC_GCC_USE_GMP_MPFR
   208     select CC_GCC_HAS_GRAPHITE
   209 
   210 config CC_GCC_4_4_or_later
   211     bool
   212     default n
   213     select CC_GCC_4_3_or_later
   214 
   215 config CC_GCC_4_5
   216     bool
   217     default n
   218     select CC_GCC_4_5_or_later
   219     select CC_GCC_USE_GMP_MPFR
   220     select CC_GCC_USE_MPC
   221     select CC_GCC_HAS_GRAPHITE
   222     select CC_GCC_HAS_LTO
   223 
   224 config CC_GCC_4_5_or_later
   225     bool
   226     default n
   227     select CC_GCC_4_4_or_later
   228 
   229 config CC_GCC_4_6
   230     bool
   231     default n
   232     select CC_GCC_4_6_or_later
   233     select CC_GCC_USE_GMP_MPFR
   234     select CC_GCC_USE_MPC
   235     select CC_GCC_HAS_GRAPHITE
   236     select CC_GCC_HAS_LTO
   237 
   238 config CC_GCC_4_6_or_later
   239     bool
   240     default n
   241     select CC_GCC_4_5_or_later
   242 
   243 config CC_GCC_HAS_GRAPHITE
   244     bool
   245     default n
   246 
   247 # The way LTO works is a bit twisted.
   248 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
   249 # Basically:
   250 #   - if binutils has plugins: LTO is handled by ld/gold by loading
   251 #     the plugin when linking
   252 #   - if binutils does not have plugins: LTO is handled by collect2
   253 # In any case, LTO support does not depend on plugins, but takes
   254 # advantage of it
   255 config CC_GCC_HAS_LTO
   256     bool
   257     default n
   258 
   259 # Only enable gcc's support for plugins if binutils has it as well
   260 # They are usefull only when doing LTO, but it does no harm enabling
   261 # them even without LTO.
   262 config CC_GCC_ENABLE_PLUGINS
   263     bool
   264     depends on BINUTILS_PLUGINS
   265     depends on ! STATIC_TOOLCHAIN
   266     default y
   267 
   268 # If binutils installs gold, enable support for gold in gcc
   269 config CC_GCC_GOLD
   270     bool
   271     depends on BINUTILS_GOLD_INSTALLED
   272     default y
   273 
   274 config CC_GCC_USE_GMP_MPFR
   275     bool
   276     default n
   277     select GMP_NEEDED
   278     select MPFR_NEEDED
   279 
   280 config CC_GCC_USE_PPL_CLOOG
   281     bool
   282     default n
   283     select PPL_NEEDED
   284     select CLOOG_NEEDED
   285 
   286 config CC_GCC_USE_MPC
   287     bool
   288     default n
   289     select MPC_NEEDED
   290 
   291 config CC_GCC_USE_LIBELF
   292     bool
   293     default n
   294     select LIBELF_NEEDED
   295 
   296 config CC_VERSION
   297     string
   298 # Don't remove next line
   299 # CT_INSERT_VERSION_STRING_BELOW
   300     default "linaro-4.6-2011.03-0" if CC_V_linaro_4_6_2011_03_0
   301     default "4.6.0" if CC_V_4_6_0
   302     default "linaro-4.5-2011.03-0" if CC_V_linaro_4_5_2011_03_0
   303     default "4.5.2" if CC_V_4_5_2
   304     default "4.5.1" if CC_V_4_5_1
   305     default "4.5.0" if CC_V_4_5_0
   306     default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
   307     default "4.4.5" if CC_V_4_4_5
   308     default "4.4.4" if CC_V_4_4_4
   309     default "4.4.3" if CC_V_4_4_3
   310     default "4.4.2" if CC_V_4_4_2
   311     default "4.4.1" if CC_V_4_4_1
   312     default "4.4.0" if CC_V_4_4_0
   313     default "4.3.5" if CC_V_4_3_5
   314     default "4.3.4" if CC_V_4_3_4
   315     default "4.3.3" if CC_V_4_3_3
   316     default "4.3.2" if CC_V_4_3_2
   317     default "4.3.1" if CC_V_4_3_1
   318     default "4.3.0" if CC_V_4_3_0
   319     default "4.2.4" if CC_V_4_2_4
   320     default "4.2.3" if CC_V_4_2_3
   321     default "4.2.2" if CC_V_4_2_2
   322     default "4.2.1" if CC_V_4_2_1
   323     default "4.2.0" if CC_V_4_2_0
   324     default "4.1.2" if CC_V_4_1_2
   325     default "4.0.4" if CC_V_4_0_4
   326     default "3.4.6" if CC_V_3_4_6
   327 
   328 config CC_LANG_JAVA_USE_ECJ
   329     bool
   330     default y
   331     depends on CC_LANG_JAVA
   332     depends on CC_GCC_4_3_or_later
   333 
   334 config CC_PKGVERSION
   335     string
   336     prompt "gcc ID string"
   337     depends on CC_GCC_4_3_or_later
   338     default "crosstool-NG-${CT_VERSION}"
   339     help
   340       Specify a string that identifies your package. You may wish to include
   341       a build number or build date. This version string will be included in
   342       the output of gcc --version.
   343 
   344       This is passed to the configure flag --with-pkgversion.
   345 
   346 config CC_BUGURL
   347     string
   348     prompt "gcc bug URL"
   349     depends on CC_GCC_4_3_or_later
   350     default ""
   351     help
   352       Specify the URL that users should visit if they wish to report a bug.
   353 
   354 config CC_ENABLE_CXX_FLAGS
   355     string
   356     prompt "Flags to pass to --enable-cxx-flags"
   357     default ""
   358     help
   359       Enter here the value of the gcc's ./configure option --enable-cxx-flags.
   360       Leave empty if you don't know better.
   361       
   362       Note: just pass in the option _value_, that is only the part that goes
   363       after the '=' sign.
   364 
   365 config CC_CORE_EXTRA_CONFIG
   366     string
   367     prompt "Core gcc extra config"
   368     default ""
   369     help
   370       Extra flags to pass onto ./configure when configuring the core gcc.
   371       
   372       The core gcc is a stripped down, C-only compiler needed to build
   373       the C library. Kinda bootstrap gcc, if you wish.
   374 
   375 config CC_EXTRA_CONFIG
   376     string
   377     prompt "gcc extra config"
   378     default ""
   379     depends on ! BARE_METAL
   380     help
   381       Extra flags to pass onto ./configure when configuring gcc.