config/cc/gcc.in
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Thu Nov 15 20:41:32 2012 +0100 (2012-11-15)
changeset 3113 34b685c4069c
parent 3093 f5af323f7805
child 3138 b5b389a84f48
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.11

Update Linaro GCC with the latest available revisions.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Message-Id: <8e49233e63d9d6051dc2.1353008548@advdt005-ubuntu>
Patchwork-Id: 199390
     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 (EXPERIMENTAL)"
    18     depends on EXPERIMENTAL
    19     help
    20       Linaro is maintaining some advanced/more stable/experimental versions
    21       of gcc, especially for the ARM architecture.
    22       
    23       Those versions have not been blessed by the gcc comunity (nor have they
    24       been cursed either!), but they look to be pretty much stable, and even
    25       more stable than the upstream versions. YMMV...
    26       
    27       If you do not know what this Linaro stuff is, then simply say 'n' here,
    28       and rest in peace. OTOH, if you know what you are doing, you will be
    29       able to use and enjoy :-) the Linaro versions by saying 'y' here.
    30       
    31       Linaro: http://www.linaro.org/
    32 
    33 choice
    34     bool
    35     prompt "gcc version"
    36 
    37 # Don't remove next line
    38 # CT_INSERT_VERSION_BELOW
    39 
    40 config CC_V_linaro_4_7_2012_11
    41     bool
    42     prompt "linaro-4.7-2012.11 (EXPERIMENTAL)"
    43     depends on CC_GCC_SHOW_LINARO
    44     select CC_GCC_4_7
    45 
    46 config CC_V_4_7_2
    47     bool
    48     prompt "4.7.2"
    49     select CC_GCC_4_7
    50 
    51 config CC_V_4_7_1
    52     bool
    53     prompt "4.7.1 (EXPERIMENTAL)"
    54     depends on EXPERIMENTAL
    55     select CC_GCC_4_7
    56 
    57 config CC_V_4_7_0
    58     bool
    59     prompt "4.7.0 (EXPERIMENTAL)"
    60     depends on EXPERIMENTAL
    61     select CC_GCC_4_7
    62 
    63 config CC_V_linaro_4_6_2012_11
    64     bool
    65     prompt "linaro-4.6-2012.11 (EXPERIMENTAL)"
    66     depends on CC_GCC_SHOW_LINARO
    67     select CC_GCC_4_6
    68 
    69 config CC_V_4_6_3
    70     bool
    71     prompt "4.6.3"
    72     select CC_GCC_4_6
    73 
    74 config CC_V_4_6_2
    75     bool
    76     prompt "4.6.2"
    77     select CC_GCC_4_6
    78 
    79 config CC_V_4_6_1
    80     bool
    81     prompt "4.6.1"
    82     select CC_GCC_4_6
    83 
    84 config CC_V_4_6_0
    85     bool
    86     prompt "4.6.0"
    87     select CC_GCC_4_6
    88 
    89 config CC_V_linaro_4_5_2012_03
    90     bool
    91     prompt "linaro-4.5-2012.03 (EXPERIMENTAL)"
    92     depends on CC_GCC_SHOW_LINARO
    93     select CC_GCC_4_5
    94 
    95 config CC_V_4_5_3
    96     bool
    97     prompt "4.5.3"
    98     select CC_GCC_4_5
    99 
   100 config CC_V_4_5_2
   101     bool
   102     prompt "4.5.2"
   103     select CC_GCC_4_5
   104 
   105 config CC_V_4_5_1
   106     bool
   107     prompt "4.5.1"
   108     select CC_GCC_4_5
   109 
   110 config CC_V_4_5_0
   111     bool
   112     prompt "4.5.0"
   113     select CC_GCC_4_5
   114 
   115 
   116 config CC_V_linaro_4_4_2011_02_0
   117     bool
   118     prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
   119     depends on CC_GCC_SHOW_LINARO
   120     select CC_GCC_4_4
   121 
   122 config CC_V_4_4_7
   123     bool
   124     prompt "4.4.7"
   125     select CC_GCC_4_4
   126 
   127 config CC_V_4_4_6
   128     bool
   129     prompt "4.4.6"
   130     select CC_GCC_4_4
   131 
   132 config CC_V_4_4_5
   133     bool
   134     prompt "4.4.5"
   135     select CC_GCC_4_4
   136 
   137 config CC_V_4_4_4
   138     bool
   139     prompt "4.4.4"
   140     select CC_GCC_4_4
   141 
   142 config CC_V_4_4_3
   143     bool
   144     prompt "4.4.3"
   145     select CC_GCC_4_4
   146 
   147 config CC_V_4_4_2
   148     bool
   149     prompt "4.4.2"
   150     select CC_GCC_4_4
   151 
   152 config CC_V_4_4_1
   153     bool
   154     prompt "4.4.1"
   155     select CC_GCC_4_4
   156 
   157 config CC_V_4_4_0
   158     bool
   159     prompt "4.4.0"
   160     select CC_GCC_4_4
   161 
   162 config CC_V_4_3_6
   163     bool
   164     prompt "4.3.6"
   165     select CC_GCC_4_3
   166 
   167 config CC_V_4_3_5
   168     bool
   169     prompt "4.3.5"
   170     select CC_GCC_4_3
   171 
   172 config CC_V_4_3_4
   173     bool
   174     prompt "4.3.4"
   175     select CC_GCC_4_3
   176 
   177 config CC_V_4_3_3
   178     bool
   179     prompt "4.3.3"
   180     select CC_GCC_4_3
   181 
   182 config CC_V_4_3_2
   183     bool
   184     prompt "4.3.2"
   185     select CC_GCC_4_3
   186 
   187 config CC_V_4_3_1
   188     bool
   189     prompt "4.3.1"
   190     select CC_GCC_4_3
   191 
   192 config CC_V_4_2_4
   193     bool
   194     prompt "4.2.4"
   195     select CC_GCC_4_2
   196 
   197 config CC_V_4_2_3
   198     bool
   199     prompt "4.2.3 (OBSOLETE)"
   200     select CC_GCC_4_2
   201     depends on OBSOLETE
   202 
   203 config CC_V_4_2_2
   204     bool
   205     prompt "4.2.2"
   206     select CC_GCC_4_2
   207 
   208 config CC_V_4_2_1
   209     bool
   210     prompt "4.2.1 (OBSOLETE)"
   211     select CC_GCC_4_2
   212     depends on OBSOLETE
   213 
   214 config CC_V_4_2_0
   215     bool
   216     prompt "4.2.0 (OBSOLETE)"
   217     select CC_GCC_4_2
   218     depends on OBSOLETE
   219 
   220 config CC_V_4_1_2
   221     bool
   222     prompt "4.1.2 (OBSOLETE)"
   223     depends on OBSOLETE
   224 
   225 config CC_V_4_0_4
   226     bool
   227     prompt "4.0.4 (OBSOLETE)"
   228     depends on OBSOLETE
   229 
   230 config CC_V_3_4_6
   231     bool
   232     prompt "3.4.6 (OBSOLETE)"
   233     depends on OBSOLETE
   234 
   235 config CC_CUSTOM
   236     bool
   237     prompt "Custom gcc"
   238     depends on EXPERIMENTAL
   239     select CC_GCC_latest
   240 
   241 endchoice
   242 
   243 if CC_CUSTOM
   244 
   245 config CC_CUSTOM_LOCATION
   246     string
   247     prompt "Full path to custom gcc source"
   248     default ""
   249     help
   250       Enter the path to the directory (or tarball) of your source for gcc,
   251       or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
   252 
   253 endif #CC_CUSTOM
   254 
   255 config CC_GCC_4_2
   256     bool
   257     select CC_GCC_4_2_or_later
   258 
   259 config CC_GCC_4_2_or_later
   260     bool
   261 
   262 config CC_GCC_4_3
   263     bool
   264     select CC_GCC_4_3_or_later
   265     select CC_GCC_USE_GMP_MPFR
   266     select CC_GCC_HAS_PKGVERSION_BUGURL
   267 
   268 config CC_GCC_4_3_or_later
   269     bool
   270     select CC_GCC_4_2_or_later
   271 
   272 config CC_GCC_4_4
   273     bool
   274     select CC_GCC_4_4_or_later
   275     select CC_GCC_USE_GMP_MPFR
   276     select CC_GCC_HAS_GRAPHITE
   277     select CC_GCC_HAS_PKGVERSION_BUGURL
   278 
   279 config CC_GCC_4_4_or_later
   280     bool
   281     select CC_GCC_4_3_or_later
   282 
   283 config CC_GCC_4_5
   284     bool
   285     select CC_GCC_4_5_or_later
   286     select CC_GCC_USE_GMP_MPFR
   287     select CC_GCC_USE_MPC
   288     select CC_GCC_HAS_GRAPHITE
   289     select CC_GCC_HAS_LTO
   290     select CC_GCC_HAS_PKGVERSION_BUGURL
   291     select CC_GCC_HAS_BUILD_ID
   292 
   293 config CC_GCC_4_5_or_later
   294     bool
   295     select CC_GCC_4_4_or_later
   296 
   297 config CC_GCC_4_6
   298     bool
   299     select CC_GCC_4_6_or_later
   300     select CC_GCC_USE_GMP_MPFR
   301     select CC_GCC_USE_MPC
   302     select CC_GCC_HAS_GRAPHITE
   303     select CC_GCC_HAS_LTO
   304     select CC_GCC_HAS_PKGVERSION_BUGURL
   305     select CC_GCC_HAS_BUILD_ID
   306     select CC_GCC_HAS_LIBQUADMATH
   307 
   308 config CC_GCC_4_6_or_later
   309     bool
   310     select CC_GCC_4_5_or_later
   311 
   312 config CC_GCC_4_7
   313     bool
   314     select CC_GCC_4_7_or_later
   315     select CC_GCC_USE_GMP_MPFR
   316     select CC_GCC_USE_MPC
   317     select CC_GCC_HAS_GRAPHITE
   318     select CC_GCC_HAS_LTO
   319     select CC_GCC_HAS_PKGVERSION_BUGURL
   320     select CC_GCC_HAS_BUILD_ID
   321     select CC_GCC_HAS_LNK_HASH_STYLE
   322     select CC_GCC_HAS_LIBQUADMATH
   323 
   324 config CC_GCC_4_7_or_later
   325     bool
   326     select CC_GCC_4_6_or_later
   327 
   328 config CC_GCC_latest
   329     bool
   330     select CC_GCC_4_7_or_later
   331     select CC_GCC_USE_GMP_MPFR
   332     select CC_GCC_USE_MPC
   333     select CC_GCC_HAS_GRAPHITE
   334     select CC_GCC_HAS_LTO
   335     select CC_GCC_HAS_PKGVERSION_BUGURL
   336     select CC_GCC_HAS_BUILD_ID
   337     select CC_GCC_HAS_LNK_HASH_STYLE
   338     select CC_GCC_HAS_LIBQUADMATH
   339 
   340 config CC_GCC_HAS_GRAPHITE
   341     bool
   342 
   343 # The way LTO works is a bit twisted.
   344 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
   345 # Basically:
   346 #   - if binutils has plugins: LTO is handled by ld/gold by loading
   347 #     the plugin when linking
   348 #   - if binutils does not have plugins: LTO is handled by collect2
   349 # In any case, LTO support does not depend on plugins, but takes
   350 # advantage of it
   351 config CC_GCC_HAS_LTO
   352     bool
   353 
   354 config CC_GCC_HAS_PKGVERSION_BUGURL
   355     bool
   356 
   357 config CC_GCC_HAS_BUILD_ID
   358     bool
   359 
   360 config CC_GCC_HAS_LNK_HASH_STYLE
   361     bool
   362 
   363 # Only enable gcc's support for plugins if binutils has it as well
   364 # They are usefull only when doing LTO, but it does no harm enabling
   365 # them even without LTO.
   366 config CC_GCC_ENABLE_PLUGINS
   367     bool
   368     depends on BINUTILS_PLUGINS
   369     depends on ! STATIC_TOOLCHAIN
   370     default y
   371 
   372 # If binutils installs gold, enable support for gold in gcc
   373 config CC_GCC_GOLD
   374     bool
   375     depends on BINUTILS_GOLD_INSTALLED
   376     default y
   377 
   378 config CC_GCC_USE_GMP_MPFR
   379     bool
   380     select GMP_NEEDED
   381     select MPFR_NEEDED
   382 
   383 config CC_GCC_USE_PPL_CLOOG
   384     bool
   385     select PPL_NEEDED
   386     select CLOOG_NEEDED
   387 
   388 config CC_GCC_USE_MPC
   389     bool
   390     select MPC_NEEDED
   391 
   392 config CC_GCC_USE_LIBELF
   393     bool
   394     select LIBELF_NEEDED
   395 
   396 config CC_GCC_HAS_LIBQUADMATH
   397     bool
   398 
   399 config CC_VERSION
   400     string
   401 # Don't remove next line
   402 # CT_INSERT_VERSION_STRING_BELOW
   403     default "linaro-4.7-2012.11" if CC_V_linaro_4_7_2012_11
   404     default "4.7.2" if CC_V_4_7_2
   405     default "4.7.1" if CC_V_4_7_1
   406     default "4.7.0" if CC_V_4_7_0
   407     default "linaro-4.6-2012.11" if CC_V_linaro_4_6_2012_11
   408     default "4.6.3" if CC_V_4_6_3
   409     default "4.6.2" if CC_V_4_6_2
   410     default "4.6.1" if CC_V_4_6_1
   411     default "4.6.0" if CC_V_4_6_0
   412     default "linaro-4.5-2012.03" if CC_V_linaro_4_5_2012_03
   413     default "4.5.3" if CC_V_4_5_3
   414     default "4.5.2" if CC_V_4_5_2
   415     default "4.5.1" if CC_V_4_5_1
   416     default "4.5.0" if CC_V_4_5_0
   417     default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
   418     default "4.4.7" if CC_V_4_4_7
   419     default "4.4.6" if CC_V_4_4_6
   420     default "4.4.5" if CC_V_4_4_5
   421     default "4.4.4" if CC_V_4_4_4
   422     default "4.4.3" if CC_V_4_4_3
   423     default "4.4.2" if CC_V_4_4_2
   424     default "4.4.1" if CC_V_4_4_1
   425     default "4.4.0" if CC_V_4_4_0
   426     default "4.3.6" if CC_V_4_3_6
   427     default "4.3.5" if CC_V_4_3_5
   428     default "4.3.4" if CC_V_4_3_4
   429     default "4.3.3" if CC_V_4_3_3
   430     default "4.3.2" if CC_V_4_3_2
   431     default "4.3.1" if CC_V_4_3_1
   432     default "4.3.0" if CC_V_4_3_0
   433     default "4.2.4" if CC_V_4_2_4
   434     default "4.2.3" if CC_V_4_2_3
   435     default "4.2.2" if CC_V_4_2_2
   436     default "4.2.1" if CC_V_4_2_1
   437     default "4.2.0" if CC_V_4_2_0
   438     default "4.1.2" if CC_V_4_1_2
   439     default "4.0.4" if CC_V_4_0_4
   440     default "3.4.6" if CC_V_3_4_6
   441     default "custom" if CC_CUSTOM
   442 
   443 config CC_LANG_JAVA_USE_ECJ
   444     bool
   445     default y
   446     depends on CC_LANG_JAVA
   447     depends on CC_GCC_4_3_or_later
   448 
   449 # Fortran always requires GMP+MPFR, whatever the gcc version
   450 config CC_LANG_FORTRAN
   451     select CC_GCC_USE_GMP_MPFR