config/cc/gcc.in
author Cody P Schafer <dev@codyps.com>
Sun May 11 23:31:54 2014 +0200 (2014-05-11)
changeset 3319 283cebef7061
parent 3282 1e26cdc4c228
permissions -rw-r--r--
cc/gcc: add 4.9.0

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