config/cc/gcc.in
author "Bryan Hundven" <bryanhundven@gmail.com>
Fri Mar 23 01:36:42 2012 -0700 (2012-03-23)
changeset 2943 ededa826097f
parent 2941 13e40098fffc
child 2944 8bddd94e068b
permissions -rw-r--r--
cc/gcc: add gcc-4.7.0

Add the new release gcc-4.7.0.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[yann.morin.1998@free.fr: add 4.7.0 patch]
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 (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 # Don't remove next line
    37 # CT_INSERT_VERSION_BELOW
    38 
    39 config CC_V_4_7_0
    40     bool
    41     prompt "4.7.0 (EXPERIMENTAL)"
    42     depends on EXPERIMENTAL
    43     select CC_GCC_4_7
    44 
    45 config CC_V_linaro_4_6_2012_04
    46     bool
    47     prompt "linaro-4.6-2012.04 (EXPERIMENTAL)"
    48     depends on CC_GCC_SHOW_LINARO
    49     select CC_GCC_4_6
    50 
    51 config CC_V_4_6_3
    52     bool
    53     prompt "4.6.3 (EXPERIMENTAL)"
    54     depends on EXPERIMENTAL
    55     select CC_GCC_4_6
    56 
    57 config CC_V_4_6_2
    58     bool
    59     prompt "4.6.2 (EXPERIMENTAL)"
    60     depends on EXPERIMENTAL
    61     select CC_GCC_4_6
    62 
    63 config CC_V_4_6_1
    64     bool
    65     prompt "4.6.1 (EXPERIMENTAL)"
    66     depends on EXPERIMENTAL
    67     select CC_GCC_4_6
    68 
    69 config CC_V_4_6_0
    70     bool
    71     prompt "4.6.0 (EXPERIMENTAL)"
    72     depends on EXPERIMENTAL
    73     select CC_GCC_4_6
    74 
    75 config CC_V_linaro_4_5_2012_03
    76     bool
    77     prompt "linaro-4.5-2012.03 (EXPERIMENTAL)"
    78     depends on CC_GCC_SHOW_LINARO
    79     select CC_GCC_4_5
    80 
    81 config CC_V_4_5_3
    82     bool
    83     prompt "4.5.3 (EXPERIMENTAL)"
    84     depends on EXPERIMENTAL
    85     select CC_GCC_4_5
    86 
    87 config CC_V_4_5_2
    88     bool
    89     prompt "4.5.2 (EXPERIMENTAL)"
    90     depends on EXPERIMENTAL
    91     select CC_GCC_4_5
    92 
    93 config CC_V_4_5_1
    94     bool
    95     prompt "4.5.1 (EXPERIMENTAL)"
    96     depends on EXPERIMENTAL
    97     select CC_GCC_4_5
    98 
    99 config CC_V_4_5_0
   100     bool
   101     prompt "4.5.0 (EXPERIMENTAL)"
   102     depends on EXPERIMENTAL
   103     select CC_GCC_4_5
   104 
   105 
   106 config CC_V_linaro_4_4_2011_02_0
   107     bool
   108     prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
   109     depends on CC_GCC_SHOW_LINARO
   110     select CC_GCC_4_4
   111 
   112 config CC_V_4_4_6
   113     bool
   114     prompt "4.4.6"
   115     select CC_GCC_4_4
   116 
   117 config CC_V_4_4_5
   118     bool
   119     prompt "4.4.5"
   120     select CC_GCC_4_4
   121 
   122 config CC_V_4_4_4
   123     bool
   124     prompt "4.4.4"
   125     select CC_GCC_4_4
   126 
   127 config CC_V_4_4_3
   128     bool
   129     prompt "4.4.3"
   130     select CC_GCC_4_4
   131 
   132 config CC_V_4_4_2
   133     bool
   134     prompt "4.4.2"
   135     select CC_GCC_4_4
   136 
   137 config CC_V_4_4_1
   138     bool
   139     prompt "4.4.1"
   140     select CC_GCC_4_4
   141 
   142 config CC_V_4_4_0
   143     bool
   144     prompt "4.4.0"
   145     select CC_GCC_4_4
   146 
   147 config CC_V_4_3_6
   148     bool
   149     prompt "4.3.6"
   150     select CC_GCC_4_3
   151 
   152 config CC_V_4_3_5
   153     bool
   154     prompt "4.3.5"
   155     select CC_GCC_4_3
   156 
   157 config CC_V_4_3_4
   158     bool
   159     prompt "4.3.4"
   160     select CC_GCC_4_3
   161 
   162 config CC_V_4_3_3
   163     bool
   164     prompt "4.3.3"
   165     select CC_GCC_4_3
   166 
   167 config CC_V_4_3_2
   168     bool
   169     prompt "4.3.2"
   170     select CC_GCC_4_3
   171 
   172 config CC_V_4_3_1
   173     bool
   174     prompt "4.3.1"
   175     select CC_GCC_4_3
   176 
   177 config CC_V_4_2_4
   178     bool
   179     prompt "4.2.4"
   180     select CC_GCC_4_2
   181 
   182 config CC_V_4_2_3
   183     bool
   184     prompt "4.2.3 (OBSOLETE)"
   185     select CC_GCC_4_2
   186     depends on OBSOLETE
   187 
   188 config CC_V_4_2_2
   189     bool
   190     prompt "4.2.2"
   191     select CC_GCC_4_2
   192 
   193 config CC_V_4_2_1
   194     bool
   195     prompt "4.2.1 (OBSOLETE)"
   196     select CC_GCC_4_2
   197     depends on OBSOLETE
   198 
   199 config CC_V_4_2_0
   200     bool
   201     prompt "4.2.0 (OBSOLETE)"
   202     select CC_GCC_4_2
   203     depends on OBSOLETE
   204 
   205 config CC_V_4_1_2
   206     bool
   207     prompt "4.1.2 (OBSOLETE)"
   208     depends on OBSOLETE
   209 
   210 config CC_V_4_0_4
   211     bool
   212     prompt "4.0.4 (OBSOLETE)"
   213     depends on OBSOLETE
   214 
   215 config CC_V_3_4_6
   216     bool
   217     prompt "3.4.6 (OBSOLETE)"
   218     depends on OBSOLETE
   219 
   220 endchoice
   221 
   222 config CC_GCC_4_2
   223     bool
   224     select CC_GCC_4_2_or_later
   225 
   226 config CC_GCC_4_2_or_later
   227     bool
   228 
   229 config CC_GCC_4_3
   230     bool
   231     select CC_GCC_4_3_or_later
   232     select CC_GCC_USE_GMP_MPFR
   233     select CC_GCC_HAS_PKGVERSION_BUGURL
   234 
   235 config CC_GCC_4_3_or_later
   236     bool
   237     select CC_GCC_4_2_or_later
   238 
   239 config CC_GCC_4_4
   240     bool
   241     select CC_GCC_4_4_or_later
   242     select CC_GCC_USE_GMP_MPFR
   243     select CC_GCC_HAS_GRAPHITE
   244     select CC_GCC_HAS_PKGVERSION_BUGURL
   245 
   246 config CC_GCC_4_4_or_later
   247     bool
   248     select CC_GCC_4_3_or_later
   249 
   250 config CC_GCC_4_5
   251     bool
   252     select CC_GCC_4_5_or_later
   253     select CC_GCC_USE_GMP_MPFR
   254     select CC_GCC_USE_MPC
   255     select CC_GCC_HAS_GRAPHITE
   256     select CC_GCC_HAS_LTO
   257     select CC_GCC_HAS_PKGVERSION_BUGURL
   258     select CC_GCC_HAS_BUILD_ID
   259 
   260 config CC_GCC_4_5_or_later
   261     bool
   262     select CC_GCC_4_4_or_later
   263 
   264 config CC_GCC_4_6
   265     bool
   266     select CC_GCC_4_6_or_later
   267     select CC_GCC_USE_GMP_MPFR
   268     select CC_GCC_USE_MPC
   269     select CC_GCC_HAS_GRAPHITE
   270     select CC_GCC_HAS_LTO
   271     select CC_GCC_HAS_PKGVERSION_BUGURL
   272     select CC_GCC_HAS_BUILD_ID
   273 
   274 config CC_GCC_4_6_or_later
   275     bool
   276     select CC_GCC_4_5_or_later
   277 
   278 config CC_GCC_4_7
   279     bool
   280     select CC_GCC_4_7_or_later
   281     select CC_GCC_USE_GMP_MPFR
   282     select CC_GCC_USE_MPC
   283     select CC_GCC_HAS_GRAPHITE
   284     select CC_GCC_HAS_LTO
   285     select CC_GCC_HAS_PKGVERSION_BUGURL
   286     select CC_GCC_HAS_BUILD_ID
   287 
   288 config CC_GCC_4_7_or_later
   289     bool
   290     select CC_GCC_4_6_or_later
   291 
   292 config CC_GCC_HAS_GRAPHITE
   293     bool
   294 
   295 # The way LTO works is a bit twisted.
   296 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
   297 # Basically:
   298 #   - if binutils has plugins: LTO is handled by ld/gold by loading
   299 #     the plugin when linking
   300 #   - if binutils does not have plugins: LTO is handled by collect2
   301 # In any case, LTO support does not depend on plugins, but takes
   302 # advantage of it
   303 config CC_GCC_HAS_LTO
   304     bool
   305 
   306 config CC_GCC_HAS_PKGVERSION_BUGURL
   307     bool
   308 
   309 config CC_GCC_HAS_BUILD_ID
   310     bool
   311 
   312 # For the upcoming 4.7 ?
   313 # None have linker-hash-style support for now...
   314 config CC_GCC_HAS_LNK_HASH_STYLE
   315     bool
   316 
   317 # Only enable gcc's support for plugins if binutils has it as well
   318 # They are usefull only when doing LTO, but it does no harm enabling
   319 # them even without LTO.
   320 config CC_GCC_ENABLE_PLUGINS
   321     bool
   322     depends on BINUTILS_PLUGINS
   323     depends on ! STATIC_TOOLCHAIN
   324     default y
   325 
   326 # If binutils installs gold, enable support for gold in gcc
   327 config CC_GCC_GOLD
   328     bool
   329     depends on BINUTILS_GOLD_INSTALLED
   330     default y
   331 
   332 config CC_GCC_USE_GMP_MPFR
   333     bool
   334     select GMP_NEEDED
   335     select MPFR_NEEDED
   336 
   337 config CC_GCC_USE_PPL_CLOOG
   338     bool
   339     select PPL_NEEDED
   340     select CLOOG_NEEDED
   341 
   342 config CC_GCC_USE_MPC
   343     bool
   344     select MPC_NEEDED
   345 
   346 config CC_GCC_USE_LIBELF
   347     bool
   348     select LIBELF_NEEDED
   349 
   350 config CC_VERSION
   351     string
   352 # Don't remove next line
   353 # CT_INSERT_VERSION_STRING_BELOW
   354     default "4.7.0" if CC_V_4_7_0
   355     default "linaro-4.6-2012.04" if CC_V_linaro_4_6_2012_04
   356     default "4.6.3" if CC_V_4_6_3
   357     default "4.6.2" if CC_V_4_6_2
   358     default "4.6.1" if CC_V_4_6_1
   359     default "4.6.0" if CC_V_4_6_0
   360     default "linaro-4.5-2012.03" if CC_V_linaro_4_5_2012_03
   361     default "4.5.3" if CC_V_4_5_3
   362     default "4.5.2" if CC_V_4_5_2
   363     default "4.5.1" if CC_V_4_5_1
   364     default "4.5.0" if CC_V_4_5_0
   365     default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
   366     default "4.4.6" if CC_V_4_4_6
   367     default "4.4.5" if CC_V_4_4_5
   368     default "4.4.4" if CC_V_4_4_4
   369     default "4.4.3" if CC_V_4_4_3
   370     default "4.4.2" if CC_V_4_4_2
   371     default "4.4.1" if CC_V_4_4_1
   372     default "4.4.0" if CC_V_4_4_0
   373     default "4.3.6" if CC_V_4_3_6
   374     default "4.3.5" if CC_V_4_3_5
   375     default "4.3.4" if CC_V_4_3_4
   376     default "4.3.3" if CC_V_4_3_3
   377     default "4.3.2" if CC_V_4_3_2
   378     default "4.3.1" if CC_V_4_3_1
   379     default "4.3.0" if CC_V_4_3_0
   380     default "4.2.4" if CC_V_4_2_4
   381     default "4.2.3" if CC_V_4_2_3
   382     default "4.2.2" if CC_V_4_2_2
   383     default "4.2.1" if CC_V_4_2_1
   384     default "4.2.0" if CC_V_4_2_0
   385     default "4.1.2" if CC_V_4_1_2
   386     default "4.0.4" if CC_V_4_0_4
   387     default "3.4.6" if CC_V_3_4_6
   388 
   389 config CC_LANG_JAVA_USE_ECJ
   390     bool
   391     default y
   392     depends on CC_LANG_JAVA
   393     depends on CC_GCC_4_3_or_later
   394 
   395 # Fortran always requires GMP+MPFR, whatever the gcc version
   396 config CC_LANG_FORTRAN
   397     select CC_GCC_USE_GMP_MPFR