config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Apr 30 17:20:53 2012 +0200 (2012-04-30)
changeset 2946 100b9861cfed
parent 2944 8bddd94e068b
child 2948 3396ce2c25ef
permissions -rw-r--r--
cc/gcc: remove experimental for some versions

Remove EXPERIMENTAL for the 4.5 and 4.6 series.

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