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

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