config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Sun Jan 05 19:44:45 2014 +0100 (2014-01-05)
changeset 3277 ead33a889ef9
parent 3245 469e9b4f1264
child 3282 1e26cdc4c228
permissions -rw-r--r--
cc/gcc: bump Linaro versions

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