config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Jul 29 00:06:35 2013 +0200 (2013-07-29)
changeset 3228 8b9af6488210
parent 3221 0fdcf9204209
child 3232 c500e2df7952
permissions -rw-r--r--
cc/gcc: add 4.8.1

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 # Compiler options
     2 #
     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
     9 ##
    10 ## help gcc is the full-blown GNU compiler. This is what most people will choose.
    11 ## help
    12 ## help gcc supports many languages, a powerful code parser, optimised binary
    13 ## help output, and lots of other features.
    14 
    15 config CC_GCC_SHOW_LINARO
    16     bool
    17     prompt "Show Linaro versions"
    18     help
    19       Linaro is maintaining some advanced/more stable/experimental versions
    20       of gcc, especially for the ARM architecture.
    21       
    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...
    25       
    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.
    29       
    30       Linaro: http://www.linaro.org/
    31 
    32 choice
    33     bool
    34     prompt "gcc version"
    35 
    36 # Don't remove next line
    37 # CT_INSERT_VERSION_BELOW
    38 
    39 config CC_V_linaro_4_8
    40     bool
    41     prompt "linaro-4.8-2013.06-1"
    42     depends on CC_GCC_SHOW_LINARO
    43     select CC_GCC_4_8
    44 
    45 config CC_V_4_8_1
    46     bool
    47     prompt "4.8.1"
    48     select CC_GCC_4_8
    49 
    50 config CC_V_4_8_0
    51     bool
    52     prompt "4.8.0"
    53     select CC_GCC_4_8
    54 
    55 config CC_V_linaro_4_7
    56     bool
    57     prompt "linaro-4.7-2013.06-1"
    58     depends on CC_GCC_SHOW_LINARO
    59     select CC_GCC_4_7
    60 
    61 config CC_V_4_7_3
    62     bool
    63     prompt "4.7.3"
    64     select CC_GCC_4_7
    65 
    66 config CC_V_4_7_2
    67     bool
    68     prompt "4.7.2"
    69     select CC_GCC_4_7
    70 
    71 config CC_V_4_7_1
    72     bool
    73     prompt "4.7.1"
    74     select CC_GCC_4_7
    75 
    76 config CC_V_4_7_0
    77     bool
    78     prompt "4.7.0"
    79     select CC_GCC_4_7
    80 
    81 config CC_V_linaro_4_6
    82     bool
    83     prompt "linaro-4.6-2013.05"
    84     depends on CC_GCC_SHOW_LINARO
    85     select CC_GCC_4_6
    86 
    87 config CC_V_4_6_4
    88     bool
    89     prompt "4.6.4"
    90     select CC_GCC_4_6
    91 
    92 config CC_V_4_6_3
    93     bool
    94     prompt "4.6.3"
    95     select CC_GCC_4_6
    96 
    97 config CC_V_4_6_2
    98     bool
    99     prompt "4.6.2"
   100     select CC_GCC_4_6
   101 
   102 config CC_V_4_6_1
   103     bool
   104     prompt "4.6.1"
   105     select CC_GCC_4_6
   106 
   107 config CC_V_4_6_0
   108     bool
   109     prompt "4.6.0"
   110     select CC_GCC_4_6
   111 
   112 config CC_V_linaro_4_5
   113     bool
   114     prompt "linaro-4.5-2012.03"
   115     depends on CC_GCC_SHOW_LINARO
   116     select CC_GCC_4_5
   117 
   118 config CC_V_4_5_3
   119     bool
   120     prompt "4.5.3"
   121     select CC_GCC_4_5
   122 
   123 config CC_V_4_5_2
   124     bool
   125     prompt "4.5.2"
   126     select CC_GCC_4_5
   127 
   128 config CC_V_4_5_1
   129     bool
   130     prompt "4.5.1"
   131     select CC_GCC_4_5
   132 
   133 config CC_V_4_5_0
   134     bool
   135     prompt "4.5.0"
   136     select CC_GCC_4_5
   137 
   138 
   139 config CC_V_linaro_4_4
   140     bool
   141     prompt "linaro-4.4-2011.02-0"
   142     depends on CC_GCC_SHOW_LINARO
   143     select CC_GCC_4_4
   144 
   145 config CC_V_4_4_7
   146     bool
   147     prompt "4.4.7"
   148     select CC_GCC_4_4
   149 
   150 config CC_V_4_4_6
   151     bool
   152     prompt "4.4.6"
   153     select CC_GCC_4_4
   154 
   155 config CC_V_4_4_5
   156     bool
   157     prompt "4.4.5"
   158     select CC_GCC_4_4
   159 
   160 config CC_V_4_4_4
   161     bool
   162     prompt "4.4.4"
   163     select CC_GCC_4_4
   164 
   165 config CC_V_4_4_3
   166     bool
   167     prompt "4.4.3"
   168     select CC_GCC_4_4
   169 
   170 config CC_V_4_4_2
   171     bool
   172     prompt "4.4.2"
   173     select CC_GCC_4_4
   174 
   175 config CC_V_4_4_1
   176     bool
   177     prompt "4.4.1"
   178     select CC_GCC_4_4
   179 
   180 config CC_V_4_4_0
   181     bool
   182     prompt "4.4.0"
   183     select CC_GCC_4_4
   184 
   185 config CC_V_4_3_6
   186     bool
   187     prompt "4.3.6"
   188     select CC_GCC_4_3
   189 
   190 config CC_V_4_3_5
   191     bool
   192     prompt "4.3.5"
   193     select CC_GCC_4_3
   194 
   195 config CC_V_4_3_4
   196     bool
   197     prompt "4.3.4"
   198     select CC_GCC_4_3
   199 
   200 config CC_V_4_3_3
   201     bool
   202     prompt "4.3.3"
   203     select CC_GCC_4_3
   204 
   205 config CC_V_4_3_2
   206     bool
   207     prompt "4.3.2"
   208     select CC_GCC_4_3
   209 
   210 config CC_V_4_3_1
   211     bool
   212     prompt "4.3.1"
   213     select CC_GCC_4_3
   214 
   215 config CC_V_4_2_4
   216     bool
   217     prompt "4.2.4"
   218     select CC_GCC_4_2
   219 
   220 # We need that one, it's the only version with avr32 support
   221 # because we have a patch for it
   222 config CC_V_4_2_2
   223     bool
   224     prompt "4.2.2"
   225     select CC_GCC_4_2
   226 
   227 config CC_V_4_1_2
   228     bool
   229     prompt "4.1.2 (OBSOLETE)"
   230     depends on OBSOLETE
   231 
   232 config CC_V_4_0_4
   233     bool
   234     prompt "4.0.4 (OBSOLETE)"
   235     depends on OBSOLETE
   236 
   237 config CC_V_3_4_6
   238     bool
   239     prompt "3.4.6 (OBSOLETE)"
   240     depends on OBSOLETE
   241 
   242 config CC_CUSTOM
   243     bool
   244     prompt "Custom gcc"
   245     depends on EXPERIMENTAL
   246     select CC_GCC_latest
   247 
   248 endchoice
   249 
   250 if CC_CUSTOM
   251 
   252 config CC_CUSTOM_LOCATION
   253     string
   254     prompt "Full path to custom gcc source"
   255     default ""
   256     help
   257       Enter the path to the directory (or tarball) of your source for gcc,
   258       or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
   259 
   260 endif #CC_CUSTOM
   261 
   262 config CC_GCC_4_2
   263     bool
   264     select CC_GCC_4_2_or_later
   265 
   266 config CC_GCC_4_2_or_later
   267     bool
   268 
   269 config CC_GCC_4_3
   270     bool
   271     select CC_GCC_4_3_or_later
   272     select CC_GCC_USE_GMP_MPFR
   273     select CC_GCC_HAS_PKGVERSION_BUGURL
   274 
   275 config CC_GCC_4_3_or_later
   276     bool
   277     select CC_GCC_4_2_or_later
   278 
   279 config CC_GCC_4_4
   280     bool
   281     select CC_GCC_4_4_or_later
   282     select CC_GCC_USE_GMP_MPFR
   283     select CC_GCC_HAS_GRAPHITE
   284     select CC_GCC_HAS_PKGVERSION_BUGURL
   285 
   286 config CC_GCC_4_4_or_later
   287     bool
   288     select CC_GCC_4_3_or_later
   289 
   290 config CC_GCC_4_5
   291     bool
   292     select CC_GCC_4_5_or_later
   293     select CC_GCC_USE_GMP_MPFR
   294     select CC_GCC_USE_MPC
   295     select CC_GCC_HAS_GRAPHITE
   296     select CC_GCC_HAS_LTO
   297     select CC_GCC_HAS_PKGVERSION_BUGURL
   298     select CC_GCC_HAS_BUILD_ID
   299 
   300 config CC_GCC_4_5_or_later
   301     bool
   302     select CC_GCC_4_4_or_later
   303 
   304 config CC_GCC_4_6
   305     bool
   306     select CC_GCC_4_6_or_later
   307     select CC_GCC_USE_GMP_MPFR
   308     select CC_GCC_USE_MPC
   309     select CC_GCC_HAS_GRAPHITE
   310     select CC_GCC_HAS_LTO
   311     select CC_GCC_HAS_PKGVERSION_BUGURL
   312     select CC_GCC_HAS_BUILD_ID
   313     select CC_GCC_HAS_LIBQUADMATH
   314 
   315 config CC_GCC_4_6_or_later
   316     bool
   317     select CC_GCC_4_5_or_later
   318 
   319 config CC_GCC_4_7
   320     bool
   321     select CC_GCC_4_7_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
   330 
   331 config CC_GCC_4_7_or_later
   332     bool
   333     select CC_GCC_4_6_or_later
   334 
   335 config CC_GCC_4_8
   336     bool
   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
   346 
   347 config CC_GCC_4_8_or_later
   348     bool
   349     select CC_GCC_4_7_or_later
   350 
   351 config CC_GCC_latest
   352     bool
   353     select CC_GCC_4_8_or_later
   354     select CC_GCC_USE_GMP_MPFR
   355     select CC_GCC_USE_MPC
   356     select CC_GCC_HAS_GRAPHITE
   357     select CC_GCC_HAS_LTO
   358     select CC_GCC_HAS_PKGVERSION_BUGURL
   359     select CC_GCC_HAS_BUILD_ID
   360     select CC_GCC_HAS_LNK_HASH_STYLE
   361     select CC_GCC_HAS_LIBQUADMATH
   362 
   363 config CC_GCC_HAS_GRAPHITE
   364     bool
   365 
   366 # For graphite: gcc 4.4..4.7 need ppl, while 4.8.. need isl
   367 # Prompt in config/cc/gcc.in.2
   368 config CC_GCC_USE_GRAPHITE
   369     bool
   370     default y
   371     depends on CC_GCC_HAS_GRAPHITE
   372     select CLOOG_NEEDED
   373     select PPL_NEEDED if !CC_GCC_4_8_or_later
   374     select ISL_NEEDED if CC_GCC_4_8_or_later
   375     help
   376       Enable the GRAPHITE loop optimsations.
   377       
   378       On some systems (eg. Cygwin), PPL and/or CLooG (required to enable
   379       GRAPHITE) may not build properly (yet), so you'll have to say 'N'
   380       here (or help debug the issues)
   381 
   382 # The way LTO works is a bit twisted.
   383 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
   384 # Basically:
   385 #   - if binutils has plugins: LTO is handled by ld/gold by loading
   386 #     the plugin when linking
   387 #   - if binutils does not have plugins: LTO is handled by collect2
   388 # In any case, LTO support does not depend on plugins, but takes
   389 # advantage of it
   390 config CC_GCC_HAS_LTO
   391     bool
   392 
   393 # Prompt in config/cc/gcc.in.2
   394 config CC_GCC_USE_LTO
   395     bool
   396     default y
   397     depends on CC_GCC_HAS_LTO
   398     select CC_GCC_USE_LIBELF if CC_GCC_4_5
   399     help
   400       Enable the Link Time Optimisations.
   401 
   402 config CC_GCC_HAS_PKGVERSION_BUGURL
   403     bool
   404 
   405 config CC_GCC_HAS_BUILD_ID
   406     bool
   407 
   408 config CC_GCC_HAS_LNK_HASH_STYLE
   409     bool
   410 
   411 # Only enable gcc's support for plugins if binutils has it as well
   412 # They are usefull only when doing LTO, but it does no harm enabling
   413 # them even without LTO.
   414 config CC_GCC_ENABLE_PLUGINS
   415     bool
   416     depends on BINUTILS_PLUGINS
   417     depends on ! STATIC_TOOLCHAIN
   418     default y
   419 
   420 # If binutils installs gold, enable support for gold in gcc
   421 config CC_GCC_GOLD
   422     bool
   423     depends on BINUTILS_GOLD_INSTALLED
   424     default y
   425 
   426 config CC_GCC_USE_GMP_MPFR
   427     bool
   428     select GMP_NEEDED
   429     select MPFR_NEEDED
   430 
   431     select CLOOG_NEEDED
   432 
   433 config CC_GCC_USE_MPC
   434     bool
   435     select MPC_NEEDED
   436 
   437 config CC_GCC_USE_LIBELF
   438     bool
   439     select LIBELF_NEEDED
   440 
   441 config CC_GCC_HAS_LIBQUADMATH
   442     bool
   443 
   444 config CC_VERSION
   445     string
   446 # Don't remove next line
   447 # CT_INSERT_VERSION_STRING_BELOW
   448     default "linaro-4.8-2013.06-1" if CC_V_linaro_4_8
   449     default "4.8.1" if CC_V_4_8_1
   450     default "4.8.0" if CC_V_4_8_0
   451     default "linaro-4.7-2013.06-1" if CC_V_linaro_4_7
   452     default "4.7.3" if CC_V_4_7_3
   453     default "4.7.2" if CC_V_4_7_2
   454     default "4.7.1" if CC_V_4_7_1
   455     default "4.7.0" if CC_V_4_7_0
   456     default "linaro-4.6-2013.05" if CC_V_linaro_4_6
   457     default "4.6.4" if CC_V_4_6_4
   458     default "4.6.3" if CC_V_4_6_3
   459     default "4.6.2" if CC_V_4_6_2
   460     default "4.6.1" if CC_V_4_6_1
   461     default "4.6.0" if CC_V_4_6_0
   462     default "linaro-4.5-2012.03" if CC_V_linaro_4_5
   463     default "4.5.3" if CC_V_4_5_3
   464     default "4.5.2" if CC_V_4_5_2
   465     default "4.5.1" if CC_V_4_5_1
   466     default "4.5.0" if CC_V_4_5_0
   467     default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4
   468     default "4.4.7" if CC_V_4_4_7
   469     default "4.4.6" if CC_V_4_4_6
   470     default "4.4.5" if CC_V_4_4_5
   471     default "4.4.4" if CC_V_4_4_4
   472     default "4.4.3" if CC_V_4_4_3
   473     default "4.4.2" if CC_V_4_4_2
   474     default "4.4.1" if CC_V_4_4_1
   475     default "4.4.0" if CC_V_4_4_0
   476     default "4.3.6" if CC_V_4_3_6
   477     default "4.3.5" if CC_V_4_3_5
   478     default "4.3.4" if CC_V_4_3_4
   479     default "4.3.3" if CC_V_4_3_3
   480     default "4.3.2" if CC_V_4_3_2
   481     default "4.3.1" if CC_V_4_3_1
   482     default "4.3.0" if CC_V_4_3_0
   483     default "4.2.4" if CC_V_4_2_4
   484     default "4.2.2" if CC_V_4_2_2
   485     default "4.1.2" if CC_V_4_1_2
   486     default "4.0.4" if CC_V_4_0_4
   487     default "3.4.6" if CC_V_3_4_6
   488     default "custom" if CC_CUSTOM
   489 
   490 config CC_LANG_JAVA_USE_ECJ
   491     bool
   492     default y
   493     depends on CC_LANG_JAVA
   494     depends on CC_GCC_4_3_or_later
   495 
   496 # Fortran always requires GMP+MPFR, whatever the gcc version
   497 config CC_LANG_FORTRAN
   498     select CC_GCC_USE_GMP_MPFR