config/cc/gcc.in
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Fri Sep 21 16:10:34 2012 +0200 (2012-09-21)
changeset 3054 e978441f521c
parent 3043 ff167977b163
child 3057 b60b008ab49c
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.09

Update Linaro GCC with the latest available revisions.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Message-Id: <cd97309e8b617d7d729e.1348236736@advdt005-ubuntu>
PatchWork-ID: 185741
     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 config CC_V_SVN
    38     bool
    39     prompt "gcc from svn"
    40     depends on EXPERIMENTAL
    41     depends on CONFIGURE_has_svn
    42     select CC_GCC_latest
    43 
    44 # Don't remove next line
    45 # CT_INSERT_VERSION_BELOW
    46 
    47 config CC_V_linaro_4_7_2012_09
    48     bool
    49     prompt "linaro-4.7-2012.09 (EXPERIMENTAL)"
    50     depends on CC_GCC_SHOW_LINARO
    51     select CC_GCC_4_7
    52 
    53 config CC_V_4_7_1
    54     bool
    55     prompt "4.7.1 (EXPERIMENTAL)"
    56     depends on EXPERIMENTAL
    57     select CC_GCC_4_7
    58 
    59 config CC_V_4_7_0
    60     bool
    61     prompt "4.7.0 (EXPERIMENTAL)"
    62     depends on EXPERIMENTAL
    63     select CC_GCC_4_7
    64 
    65 config CC_V_linaro_4_6_2012_09
    66     bool
    67     prompt "linaro-4.6-2012.09 (EXPERIMENTAL)"
    68     depends on CC_GCC_SHOW_LINARO
    69     select CC_GCC_4_6
    70 
    71 config CC_V_4_6_3
    72     bool
    73     prompt "4.6.3"
    74     select CC_GCC_4_6
    75 
    76 config CC_V_4_6_2
    77     bool
    78     prompt "4.6.2"
    79     select CC_GCC_4_6
    80 
    81 config CC_V_4_6_1
    82     bool
    83     prompt "4.6.1"
    84     select CC_GCC_4_6
    85 
    86 config CC_V_4_6_0
    87     bool
    88     prompt "4.6.0"
    89     select CC_GCC_4_6
    90 
    91 config CC_V_linaro_4_5_2012_03
    92     bool
    93     prompt "linaro-4.5-2012.03 (EXPERIMENTAL)"
    94     depends on CC_GCC_SHOW_LINARO
    95     select CC_GCC_4_5
    96 
    97 config CC_V_4_5_3
    98     bool
    99     prompt "4.5.3"
   100     select CC_GCC_4_5
   101 
   102 config CC_V_4_5_2
   103     bool
   104     prompt "4.5.2"
   105     select CC_GCC_4_5
   106 
   107 config CC_V_4_5_1
   108     bool
   109     prompt "4.5.1"
   110     select CC_GCC_4_5
   111 
   112 config CC_V_4_5_0
   113     bool
   114     prompt "4.5.0"
   115     select CC_GCC_4_5
   116 
   117 
   118 config CC_V_linaro_4_4_2011_02_0
   119     bool
   120     prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
   121     depends on CC_GCC_SHOW_LINARO
   122     select CC_GCC_4_4
   123 
   124 config CC_V_4_4_7
   125     bool
   126     prompt "4.4.7"
   127     select CC_GCC_4_4
   128 
   129 config CC_V_4_4_6
   130     bool
   131     prompt "4.4.6"
   132     select CC_GCC_4_4
   133 
   134 config CC_V_4_4_5
   135     bool
   136     prompt "4.4.5"
   137     select CC_GCC_4_4
   138 
   139 config CC_V_4_4_4
   140     bool
   141     prompt "4.4.4"
   142     select CC_GCC_4_4
   143 
   144 config CC_V_4_4_3
   145     bool
   146     prompt "4.4.3"
   147     select CC_GCC_4_4
   148 
   149 config CC_V_4_4_2
   150     bool
   151     prompt "4.4.2"
   152     select CC_GCC_4_4
   153 
   154 config CC_V_4_4_1
   155     bool
   156     prompt "4.4.1"
   157     select CC_GCC_4_4
   158 
   159 config CC_V_4_4_0
   160     bool
   161     prompt "4.4.0"
   162     select CC_GCC_4_4
   163 
   164 config CC_V_4_3_6
   165     bool
   166     prompt "4.3.6"
   167     select CC_GCC_4_3
   168 
   169 config CC_V_4_3_5
   170     bool
   171     prompt "4.3.5"
   172     select CC_GCC_4_3
   173 
   174 config CC_V_4_3_4
   175     bool
   176     prompt "4.3.4"
   177     select CC_GCC_4_3
   178 
   179 config CC_V_4_3_3
   180     bool
   181     prompt "4.3.3"
   182     select CC_GCC_4_3
   183 
   184 config CC_V_4_3_2
   185     bool
   186     prompt "4.3.2"
   187     select CC_GCC_4_3
   188 
   189 config CC_V_4_3_1
   190     bool
   191     prompt "4.3.1"
   192     select CC_GCC_4_3
   193 
   194 config CC_V_4_2_4
   195     bool
   196     prompt "4.2.4"
   197     select CC_GCC_4_2
   198 
   199 config CC_V_4_2_3
   200     bool
   201     prompt "4.2.3 (OBSOLETE)"
   202     select CC_GCC_4_2
   203     depends on OBSOLETE
   204 
   205 config CC_V_4_2_2
   206     bool
   207     prompt "4.2.2"
   208     select CC_GCC_4_2
   209 
   210 config CC_V_4_2_1
   211     bool
   212     prompt "4.2.1 (OBSOLETE)"
   213     select CC_GCC_4_2
   214     depends on OBSOLETE
   215 
   216 config CC_V_4_2_0
   217     bool
   218     prompt "4.2.0 (OBSOLETE)"
   219     select CC_GCC_4_2
   220     depends on OBSOLETE
   221 
   222 config CC_V_4_1_2
   223     bool
   224     prompt "4.1.2 (OBSOLETE)"
   225     depends on OBSOLETE
   226 
   227 config CC_V_4_0_4
   228     bool
   229     prompt "4.0.4 (OBSOLETE)"
   230     depends on OBSOLETE
   231 
   232 config CC_V_3_4_6
   233     bool
   234     prompt "3.4.6 (OBSOLETE)"
   235     depends on OBSOLETE
   236 
   237 endchoice
   238 
   239 if CC_V_SVN
   240 
   241 config GCC_BRANCH
   242     string
   243     prompt "Branch or tag to use"
   244     default "trunk"
   245     help
   246       Enter the branch of gcc to use. Default is trunk
   247       
   248       A few examples might be:
   249       * trunk
   250       * branches/gcc-4_7-branch
   251       * branches/gcc-4_4-branch
   252       * branches/gccgo
   253       * branches/google
   254       * tags/gcc_4_7_1_release
   255       * tags/microblaze-4.4.2
   256 
   257 config GCC_REVISION
   258     string
   259     prompt "Revision to use"
   260     default "HEAD"
   261     help
   262       Enter the revision of you want to use. Default is HEAD
   263       
   264       A revision argument can be one of:
   265           NUMBER       revision number
   266           '{' DATE '}' revision at start of the date (*)
   267           'HEAD'       latest in repository
   268       
   269       (*) If you want to use a date, please use ISO-8601 formats if
   270       at all possible.
   271 
   272 config GCC_HTTP
   273     bool
   274     prompt "use http:// instead of svn://"
   275     help
   276       By default, when gcc is downloaded it is checked out using
   277       svn://gcc.gnu.org/svn/gcc. This option allows you to download gcc
   278       from http://gcc.gnu.org/svn/gcc, if you are behind a proxy or firewall.
   279       If you are behind a proxy, don't forget to update your
   280       .subversion/servers file with your proxy info in [global].
   281 
   282 config GCC_CHECKOUT
   283     bool
   284     prompt "checkout instead of export"
   285     help
   286       By default, the gcc download will be an export of the subversion
   287       repository. If you say 'y' here, then the repository will instead be
   288       checked-out, so that you can update it later.
   289       
   290       Note that crosstool-NG will *not* update your working copy, you will
   291       have to do that yourself.
   292 
   293 endif
   294 
   295 config CC_GCC_4_2
   296     bool
   297     select CC_GCC_4_2_or_later
   298 
   299 config CC_GCC_4_2_or_later
   300     bool
   301 
   302 config CC_GCC_4_3
   303     bool
   304     select CC_GCC_4_3_or_later
   305     select CC_GCC_USE_GMP_MPFR
   306     select CC_GCC_HAS_PKGVERSION_BUGURL
   307 
   308 config CC_GCC_4_3_or_later
   309     bool
   310     select CC_GCC_4_2_or_later
   311 
   312 config CC_GCC_4_4
   313     bool
   314     select CC_GCC_4_4_or_later
   315     select CC_GCC_USE_GMP_MPFR
   316     select CC_GCC_HAS_GRAPHITE
   317     select CC_GCC_HAS_PKGVERSION_BUGURL
   318 
   319 config CC_GCC_4_4_or_later
   320     bool
   321     select CC_GCC_4_3_or_later
   322 
   323 config CC_GCC_4_5
   324     bool
   325     select CC_GCC_4_5_or_later
   326     select CC_GCC_USE_GMP_MPFR
   327     select CC_GCC_USE_MPC
   328     select CC_GCC_HAS_GRAPHITE
   329     select CC_GCC_HAS_LTO
   330     select CC_GCC_HAS_PKGVERSION_BUGURL
   331     select CC_GCC_HAS_BUILD_ID
   332 
   333 config CC_GCC_4_5_or_later
   334     bool
   335     select CC_GCC_4_4_or_later
   336 
   337 config CC_GCC_4_6
   338     bool
   339     select CC_GCC_4_6_or_later
   340     select CC_GCC_USE_GMP_MPFR
   341     select CC_GCC_USE_MPC
   342     select CC_GCC_HAS_GRAPHITE
   343     select CC_GCC_HAS_LTO
   344     select CC_GCC_HAS_PKGVERSION_BUGURL
   345     select CC_GCC_HAS_BUILD_ID
   346     select CC_GCC_HAS_LIBQUADMATH
   347 
   348 config CC_GCC_4_6_or_later
   349     bool
   350     select CC_GCC_4_5_or_later
   351 
   352 config CC_GCC_4_7
   353     bool
   354     select CC_GCC_4_7_or_later
   355     select CC_GCC_USE_GMP_MPFR
   356     select CC_GCC_USE_MPC
   357     select CC_GCC_HAS_GRAPHITE
   358     select CC_GCC_HAS_LTO
   359     select CC_GCC_HAS_PKGVERSION_BUGURL
   360     select CC_GCC_HAS_BUILD_ID
   361     select CC_GCC_HAS_LNK_HASH_STYLE
   362     select CC_GCC_HAS_LIBQUADMATH
   363 
   364 config CC_GCC_4_7_or_later
   365     bool
   366     select CC_GCC_4_6_or_later
   367 
   368 config CC_GCC_latest
   369     bool
   370     select CC_GCC_4_7_or_later
   371     select CC_GCC_USE_GMP_MPFR
   372     select CC_GCC_USE_MPC
   373     select CC_GCC_HAS_GRAPHITE
   374     select CC_GCC_HAS_LTO
   375     select CC_GCC_HAS_PKGVERSION_BUGURL
   376     select CC_GCC_HAS_BUILD_ID
   377     select CC_GCC_HAS_LNK_HASH_STYLE
   378     select CC_GCC_HAS_LIBQUADMATH
   379 
   380 config CC_GCC_HAS_GRAPHITE
   381     bool
   382 
   383 # The way LTO works is a bit twisted.
   384 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
   385 # Basically:
   386 #   - if binutils has plugins: LTO is handled by ld/gold by loading
   387 #     the plugin when linking
   388 #   - if binutils does not have plugins: LTO is handled by collect2
   389 # In any case, LTO support does not depend on plugins, but takes
   390 # advantage of it
   391 config CC_GCC_HAS_LTO
   392     bool
   393 
   394 config CC_GCC_HAS_PKGVERSION_BUGURL
   395     bool
   396 
   397 config CC_GCC_HAS_BUILD_ID
   398     bool
   399 
   400 config CC_GCC_HAS_LNK_HASH_STYLE
   401     bool
   402 
   403 # Only enable gcc's support for plugins if binutils has it as well
   404 # They are usefull only when doing LTO, but it does no harm enabling
   405 # them even without LTO.
   406 config CC_GCC_ENABLE_PLUGINS
   407     bool
   408     depends on BINUTILS_PLUGINS
   409     depends on ! STATIC_TOOLCHAIN
   410     default y
   411 
   412 # If binutils installs gold, enable support for gold in gcc
   413 config CC_GCC_GOLD
   414     bool
   415     depends on BINUTILS_GOLD_INSTALLED
   416     default y
   417 
   418 config CC_GCC_USE_GMP_MPFR
   419     bool
   420     select GMP_NEEDED
   421     select MPFR_NEEDED
   422 
   423 config CC_GCC_USE_PPL_CLOOG
   424     bool
   425     select PPL_NEEDED
   426     select CLOOG_NEEDED
   427 
   428 config CC_GCC_USE_MPC
   429     bool
   430     select MPC_NEEDED
   431 
   432 config CC_GCC_USE_LIBELF
   433     bool
   434     select LIBELF_NEEDED
   435 
   436 config CC_GCC_HAS_LIBQUADMATH
   437     bool
   438 
   439 config CC_VERSION
   440     string
   441     default "SVN" if CC_V_SVN
   442 # Don't remove next line
   443 # CT_INSERT_VERSION_STRING_BELOW
   444     default "linaro-4.7-2012.09" if CC_V_linaro_4_7_2012_09
   445     default "4.7.1" if CC_V_4_7_1
   446     default "4.7.0" if CC_V_4_7_0
   447     default "linaro-4.6-2012.09" if CC_V_linaro_4_6_2012_09
   448     default "4.6.3" if CC_V_4_6_3
   449     default "4.6.2" if CC_V_4_6_2
   450     default "4.6.1" if CC_V_4_6_1
   451     default "4.6.0" if CC_V_4_6_0
   452     default "linaro-4.5-2012.03" if CC_V_linaro_4_5_2012_03
   453     default "4.5.3" if CC_V_4_5_3
   454     default "4.5.2" if CC_V_4_5_2
   455     default "4.5.1" if CC_V_4_5_1
   456     default "4.5.0" if CC_V_4_5_0
   457     default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
   458     default "4.4.7" if CC_V_4_4_7
   459     default "4.4.6" if CC_V_4_4_6
   460     default "4.4.5" if CC_V_4_4_5
   461     default "4.4.4" if CC_V_4_4_4
   462     default "4.4.3" if CC_V_4_4_3
   463     default "4.4.2" if CC_V_4_4_2
   464     default "4.4.1" if CC_V_4_4_1
   465     default "4.4.0" if CC_V_4_4_0
   466     default "4.3.6" if CC_V_4_3_6
   467     default "4.3.5" if CC_V_4_3_5
   468     default "4.3.4" if CC_V_4_3_4
   469     default "4.3.3" if CC_V_4_3_3
   470     default "4.3.2" if CC_V_4_3_2
   471     default "4.3.1" if CC_V_4_3_1
   472     default "4.3.0" if CC_V_4_3_0
   473     default "4.2.4" if CC_V_4_2_4
   474     default "4.2.3" if CC_V_4_2_3
   475     default "4.2.2" if CC_V_4_2_2
   476     default "4.2.1" if CC_V_4_2_1
   477     default "4.2.0" if CC_V_4_2_0
   478     default "4.1.2" if CC_V_4_1_2
   479     default "4.0.4" if CC_V_4_0_4
   480     default "3.4.6" if CC_V_3_4_6
   481 
   482 config CC_LANG_JAVA_USE_ECJ
   483     bool
   484     default y
   485     depends on CC_LANG_JAVA
   486     depends on CC_GCC_4_3_or_later
   487 
   488 # Fortran always requires GMP+MPFR, whatever the gcc version
   489 config CC_LANG_FORTRAN
   490     select CC_GCC_USE_GMP_MPFR