config/cc/gcc.in
author "Bryan Hundven" <bryanhundven@gmail.com>
Thu Mar 01 15:20:09 2012 -0800 (2012-03-01)
changeset 2903 00465900641c
parent 2880 e0d70cf2b396
child 2918 887e3fb340a6
permissions -rw-r--r--
Add updated gcc 4.6.3

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