config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 26 11:53:05 2012 +0100 (2012-12-26)
changeset 3142 6569f6a9060c
parent 3138 b5b389a84f48
child 3149 e1611da4bb05
permissions -rw-r--r--
all: remove versions marked obsolete

For major components, keep the latest version of each major releases.

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 
    37 # Don't remove next line
    38 # CT_INSERT_VERSION_BELOW
    39 
    40 config CC_V_linaro_4_7_2012_12
    41     bool
    42     prompt "linaro-4.7-2012.12 (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_12
    64     bool
    65     prompt "linaro-4.6-2012.12 (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 # We need that one, it's the only version with avr32 support
   198 # because we have a patch for it
   199 config CC_V_4_2_2
   200     bool
   201     prompt "4.2.2"
   202     select CC_GCC_4_2
   203 
   204 config CC_V_4_1_2
   205     bool
   206     prompt "4.1.2 (OBSOLETE)"
   207     depends on OBSOLETE
   208 
   209 config CC_V_4_0_4
   210     bool
   211     prompt "4.0.4 (OBSOLETE)"
   212     depends on OBSOLETE
   213 
   214 config CC_V_3_4_6
   215     bool
   216     prompt "3.4.6 (OBSOLETE)"
   217     depends on OBSOLETE
   218 
   219 config CC_CUSTOM
   220     bool
   221     prompt "Custom gcc"
   222     depends on EXPERIMENTAL
   223     select CC_GCC_latest
   224 
   225 endchoice
   226 
   227 if CC_CUSTOM
   228 
   229 config CC_CUSTOM_LOCATION
   230     string
   231     prompt "Full path to custom gcc source"
   232     default ""
   233     help
   234       Enter the path to the directory (or tarball) of your source for gcc,
   235       or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc
   236 
   237 endif #CC_CUSTOM
   238 
   239 config CC_GCC_4_2
   240     bool
   241     select CC_GCC_4_2_or_later
   242 
   243 config CC_GCC_4_2_or_later
   244     bool
   245 
   246 config CC_GCC_4_3
   247     bool
   248     select CC_GCC_4_3_or_later
   249     select CC_GCC_USE_GMP_MPFR
   250     select CC_GCC_HAS_PKGVERSION_BUGURL
   251 
   252 config CC_GCC_4_3_or_later
   253     bool
   254     select CC_GCC_4_2_or_later
   255 
   256 config CC_GCC_4_4
   257     bool
   258     select CC_GCC_4_4_or_later
   259     select CC_GCC_USE_GMP_MPFR
   260     select CC_GCC_HAS_GRAPHITE
   261     select CC_GCC_HAS_PKGVERSION_BUGURL
   262 
   263 config CC_GCC_4_4_or_later
   264     bool
   265     select CC_GCC_4_3_or_later
   266 
   267 config CC_GCC_4_5
   268     bool
   269     select CC_GCC_4_5_or_later
   270     select CC_GCC_USE_GMP_MPFR
   271     select CC_GCC_USE_MPC
   272     select CC_GCC_HAS_GRAPHITE
   273     select CC_GCC_HAS_LTO
   274     select CC_GCC_HAS_PKGVERSION_BUGURL
   275     select CC_GCC_HAS_BUILD_ID
   276 
   277 config CC_GCC_4_5_or_later
   278     bool
   279     select CC_GCC_4_4_or_later
   280 
   281 config CC_GCC_4_6
   282     bool
   283     select CC_GCC_4_6_or_later
   284     select CC_GCC_USE_GMP_MPFR
   285     select CC_GCC_USE_MPC
   286     select CC_GCC_HAS_GRAPHITE
   287     select CC_GCC_HAS_LTO
   288     select CC_GCC_HAS_PKGVERSION_BUGURL
   289     select CC_GCC_HAS_BUILD_ID
   290     select CC_GCC_HAS_LIBQUADMATH
   291 
   292 config CC_GCC_4_6_or_later
   293     bool
   294     select CC_GCC_4_5_or_later
   295 
   296 config CC_GCC_4_7
   297     bool
   298     select CC_GCC_4_7_or_later
   299     select CC_GCC_USE_GMP_MPFR
   300     select CC_GCC_USE_MPC
   301     select CC_GCC_HAS_GRAPHITE
   302     select CC_GCC_HAS_LTO
   303     select CC_GCC_HAS_PKGVERSION_BUGURL
   304     select CC_GCC_HAS_BUILD_ID
   305     select CC_GCC_HAS_LNK_HASH_STYLE
   306     select CC_GCC_HAS_LIBQUADMATH
   307 
   308 config CC_GCC_4_7_or_later
   309     bool
   310     select CC_GCC_4_6_or_later
   311 
   312 config CC_GCC_latest
   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_HAS_GRAPHITE
   325     bool
   326 
   327 # The way LTO works is a bit twisted.
   328 # See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
   329 # Basically:
   330 #   - if binutils has plugins: LTO is handled by ld/gold by loading
   331 #     the plugin when linking
   332 #   - if binutils does not have plugins: LTO is handled by collect2
   333 # In any case, LTO support does not depend on plugins, but takes
   334 # advantage of it
   335 config CC_GCC_HAS_LTO
   336     bool
   337 
   338 config CC_GCC_HAS_PKGVERSION_BUGURL
   339     bool
   340 
   341 config CC_GCC_HAS_BUILD_ID
   342     bool
   343 
   344 config CC_GCC_HAS_LNK_HASH_STYLE
   345     bool
   346 
   347 # Only enable gcc's support for plugins if binutils has it as well
   348 # They are usefull only when doing LTO, but it does no harm enabling
   349 # them even without LTO.
   350 config CC_GCC_ENABLE_PLUGINS
   351     bool
   352     depends on BINUTILS_PLUGINS
   353     depends on ! STATIC_TOOLCHAIN
   354     default y
   355 
   356 # If binutils installs gold, enable support for gold in gcc
   357 config CC_GCC_GOLD
   358     bool
   359     depends on BINUTILS_GOLD_INSTALLED
   360     default y
   361 
   362 config CC_GCC_USE_GMP_MPFR
   363     bool
   364     select GMP_NEEDED
   365     select MPFR_NEEDED
   366 
   367 config CC_GCC_USE_PPL_CLOOG
   368     bool
   369     select PPL_NEEDED
   370     select CLOOG_NEEDED
   371 
   372 config CC_GCC_USE_MPC
   373     bool
   374     select MPC_NEEDED
   375 
   376 config CC_GCC_USE_LIBELF
   377     bool
   378     select LIBELF_NEEDED
   379 
   380 config CC_GCC_HAS_LIBQUADMATH
   381     bool
   382 
   383 config CC_VERSION
   384     string
   385 # Don't remove next line
   386 # CT_INSERT_VERSION_STRING_BELOW
   387     default "linaro-4.7-2012.12" if CC_V_linaro_4_7_2012_12
   388     default "4.7.2" if CC_V_4_7_2
   389     default "4.7.1" if CC_V_4_7_1
   390     default "4.7.0" if CC_V_4_7_0
   391     default "linaro-4.6-2012.12" if CC_V_linaro_4_6_2012_12
   392     default "4.6.3" if CC_V_4_6_3
   393     default "4.6.2" if CC_V_4_6_2
   394     default "4.6.1" if CC_V_4_6_1
   395     default "4.6.0" if CC_V_4_6_0
   396     default "linaro-4.5-2012.03" if CC_V_linaro_4_5_2012_03
   397     default "4.5.3" if CC_V_4_5_3
   398     default "4.5.2" if CC_V_4_5_2
   399     default "4.5.1" if CC_V_4_5_1
   400     default "4.5.0" if CC_V_4_5_0
   401     default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
   402     default "4.4.7" if CC_V_4_4_7
   403     default "4.4.6" if CC_V_4_4_6
   404     default "4.4.5" if CC_V_4_4_5
   405     default "4.4.4" if CC_V_4_4_4
   406     default "4.4.3" if CC_V_4_4_3
   407     default "4.4.2" if CC_V_4_4_2
   408     default "4.4.1" if CC_V_4_4_1
   409     default "4.4.0" if CC_V_4_4_0
   410     default "4.3.6" if CC_V_4_3_6
   411     default "4.3.5" if CC_V_4_3_5
   412     default "4.3.4" if CC_V_4_3_4
   413     default "4.3.3" if CC_V_4_3_3
   414     default "4.3.2" if CC_V_4_3_2
   415     default "4.3.1" if CC_V_4_3_1
   416     default "4.3.0" if CC_V_4_3_0
   417     default "4.2.4" if CC_V_4_2_4
   418     default "4.2.2" if CC_V_4_2_2
   419     default "4.1.2" if CC_V_4_1_2
   420     default "4.0.4" if CC_V_4_0_4
   421     default "3.4.6" if CC_V_3_4_6
   422     default "custom" if CC_CUSTOM
   423 
   424 config CC_LANG_JAVA_USE_ECJ
   425     bool
   426     default y
   427     depends on CC_LANG_JAVA
   428     depends on CC_GCC_4_3_or_later
   429 
   430 # Fortran always requires GMP+MPFR, whatever the gcc version
   431 config CC_LANG_FORTRAN
   432     select CC_GCC_USE_GMP_MPFR