config/cc/gcc.in
author Michael Hope <michael.hope@linaro.org>
Wed Sep 28 15:28:23 2011 +1300 (2011-09-28)
changeset 2691 da1768e4b17f
parent 2611 1d0de24249a6
child 2719 3e3f8a86f1c0
permissions -rw-r--r--
cc/gcc: update to the Linaro 2011.09

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