config/cc/gcc.in
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Tue May 31 20:12:35 2011 +0200 (2011-05-31)
changeset 2487 481cd34691f0
parent 2484 d1a8c2ae7946
child 2510 48f955c87081
permissions -rw-r--r--
gcc: promote PKGVERSION and BUGURL options to toolchain level

This patch promotes the PKGVERSION and BUGURL options to toolchain level so that
all toolchain components supporting them can benefit from them.

These options are passed to configure through --with-pkgversion and
--with-bugurl.

They are supported by binutils 2.18+, gcc 4.3+, eglibc 2.9+ and gdb 7.0+.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
yann@448
     1
# Compiler options
yann@2444
     2
#
yann@2444
     3
## select CC_SUPPORT_CXX
yann@2444
     4
## select CC_SUPPORT_FORTRAN
yann@2444
     5
## select CC_SUPPORT_JAVA
yann@2444
     6
## select CC_SUPPORT_ADA
yann@2444
     7
## select CC_SUPPORT_OBJC
yann@2444
     8
## select CC_SUPPORT_OBJCXX
yann@2444
     9
##
yann@2444
    10
## help gcc is the full-blown GNU compiler. This is what most people will choose.
yann@2444
    11
## help
yann@2444
    12
## help gcc supports many languages, a powerful code parser, optimised binary
yann@2444
    13
## help output, and lots of other features.
yann@923
    14
yann@2367
    15
config CC_GCC_SHOW_LINARO
yann@2367
    16
    bool
yann@2367
    17
    prompt "Show Linaro versions (EXPERIMENTAL)"
yann@2367
    18
    depends on EXPERIMENTAL
yann@2367
    19
    help
yann@2367
    20
      Linaro is maintaining some advanced/more stable/experimental versions
yann@2367
    21
      of gcc, especially for the ARM architecture.
yann@2367
    22
      
yann@2367
    23
      Those versions have not been blessed by the gcc comunity (nor have they
yann@2367
    24
      been cursed either!), but they look to be pretty much stable, and even
yann@2367
    25
      more stable than the upstream versions. YMMV...
yann@2367
    26
      
yann@2367
    27
      If you do not know what this Linaro stuff is, then simply say 'n' here,
yann@2367
    28
      and rest in peace. OTOH, if you know what you are doing, you will be
yann@2367
    29
      able to use and enjoy :-) the Linaro versions by saying 'y' here.
yann@2367
    30
      
yann@2367
    31
      Linaro: http://www.linaro.org/
yann@2367
    32
yann@448
    33
choice
yann@448
    34
    bool
yann@448
    35
    prompt "gcc version"
yann@1535
    36
# Don't remove next line
yann@1535
    37
# CT_INSERT_VERSION_BELOW
yann@448
    38
benoit@2477
    39
config CC_V_linaro_4_6_2011_05_0
yann@2366
    40
    bool
benoit@2477
    41
    prompt "linaro-4.6-2011.05-0 (EXPERIMENTAL)"
yann@2367
    42
    depends on CC_GCC_SHOW_LINARO
yann@2366
    43
    select CC_GCC_4_6
yann@2366
    44
yann@2365
    45
config CC_V_4_6_0
yann@2365
    46
    bool
yann@2365
    47
    prompt "4.6.0 (EXPERIMENTAL)"
yann@2365
    48
    depends on EXPERIMENTAL
yann@2365
    49
    select CC_GCC_4_6
yann@2365
    50
benoit@2477
    51
config CC_V_linaro_4_5_2011_05_0
yann@2302
    52
    bool
benoit@2477
    53
    prompt "linaro-4.5-2011.05-0 (EXPERIMENTAL)"
yann@2367
    54
    depends on CC_GCC_SHOW_LINARO
yann@2362
    55
    select CC_GCC_4_5
yann@2302
    56
bryanhundven@2233
    57
config CC_V_4_5_2
bryanhundven@2233
    58
    bool
bryanhundven@2233
    59
    prompt "4.5.2 (EXPERIMENTAL)"
bryanhundven@2233
    60
    depends on EXPERIMENTAL
yann@2362
    61
    select CC_GCC_4_5
bryanhundven@2233
    62
lacombar@2061
    63
config CC_V_4_5_1
lacombar@2061
    64
    bool
lacombar@2061
    65
    prompt "4.5.1 (EXPERIMENTAL)"
lacombar@2061
    66
    depends on EXPERIMENTAL
yann@2362
    67
    select CC_GCC_4_5
lacombar@2061
    68
yann@1921
    69
config CC_V_4_5_0
yann@1921
    70
    bool
yann@1921
    71
    prompt "4.5.0 (EXPERIMENTAL)"
yann@1921
    72
    depends on EXPERIMENTAL
yann@2362
    73
    select CC_GCC_4_5
yann@1921
    74
yann@2302
    75
yann@2302
    76
config CC_V_linaro_4_4_2011_02_0
yann@2302
    77
    bool
yann@2302
    78
    prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
yann@2367
    79
    depends on CC_GCC_SHOW_LINARO
yann@2362
    80
    select CC_GCC_4_4
yann@2302
    81
yann@2406
    82
config CC_V_4_4_6
yann@2406
    83
    bool
yann@2406
    84
    prompt "4.4.6"
yann@2440
    85
    select CC_GCC_4_4
yann@2406
    86
yann@2149
    87
config CC_V_4_4_5
yann@2149
    88
    bool
yann@2149
    89
    prompt "4.4.5"
yann@2362
    90
    select CC_GCC_4_4
yann@2149
    91
yann@1948
    92
config CC_V_4_4_4
yann@1948
    93
    bool
yann@2149
    94
    prompt "4.4.4"
yann@2362
    95
    select CC_GCC_4_4
yann@1948
    96
yann@1752
    97
config CC_V_4_4_3
yann@1752
    98
    bool
yann@1778
    99
    prompt "4.4.3"
yann@2362
   100
    select CC_GCC_4_4
yann@1752
   101
yann@1611
   102
config CC_V_4_4_2
yann@1611
   103
    bool
yann@1778
   104
    prompt "4.4.2"
yann@2362
   105
    select CC_GCC_4_4
yann@1611
   106
yann@1534
   107
config CC_V_4_4_1
yann@448
   108
    bool
yann@1778
   109
    prompt "4.4.1"
yann@2362
   110
    select CC_GCC_4_4
yann@1462
   111
yann@1268
   112
config CC_V_4_4_0
yann@1268
   113
    bool
yann@1778
   114
    prompt "4.4.0"
yann@2362
   115
    select CC_GCC_4_4
yann@1268
   116
yann@2124
   117
config CC_V_4_3_5
yann@2124
   118
    bool
yann@2124
   119
    prompt "4.3.5"
yann@2362
   120
    select CC_GCC_4_3
yann@2124
   121
yann@1534
   122
config CC_V_4_3_4
yann@1442
   123
    bool
yann@1534
   124
    prompt "4.3.4"
yann@2362
   125
    select CC_GCC_4_3
yann@1534
   126
yann@1534
   127
config CC_V_4_3_3
yann@1534
   128
    bool
yann@1534
   129
    prompt "4.3.3"
yann@2362
   130
    select CC_GCC_4_3
yann@1534
   131
yann@1534
   132
config CC_V_4_3_2
yann@1534
   133
    bool
yann@1534
   134
    prompt "4.3.2"
yann@2362
   135
    select CC_GCC_4_3
yann@1534
   136
yann@1534
   137
config CC_V_4_3_1
yann@1534
   138
    bool
yann@1534
   139
    prompt "4.3.1"
yann@2362
   140
    select CC_GCC_4_3
yann@1534
   141
yann@1534
   142
config CC_V_4_2_4
yann@1534
   143
    bool
yann@1534
   144
    prompt "4.2.4"
yann@2362
   145
    select CC_GCC_4_2
yann@1534
   146
yann@1534
   147
config CC_V_4_2_3
yann@1534
   148
    bool
yann@1615
   149
    prompt "4.2.3 (OBSOLETE)"
yann@2362
   150
    select CC_GCC_4_2
yann@1615
   151
    depends on OBSOLETE
yann@1534
   152
yann@1534
   153
config CC_V_4_2_2
yann@1534
   154
    bool
yann@1534
   155
    prompt "4.2.2"
yann@2362
   156
    select CC_GCC_4_2
yann@1534
   157
yann@1534
   158
config CC_V_4_2_1
yann@1534
   159
    bool
yann@1615
   160
    prompt "4.2.1 (OBSOLETE)"
yann@2362
   161
    select CC_GCC_4_2
yann@1615
   162
    depends on OBSOLETE
yann@1534
   163
yann@1534
   164
config CC_V_4_2_0
yann@1534
   165
    bool
yann@1615
   166
    prompt "4.2.0 (OBSOLETE)"
yann@2362
   167
    select CC_GCC_4_2
yann@1615
   168
    depends on OBSOLETE
yann@1534
   169
yann@1534
   170
config CC_V_4_1_2
yann@1534
   171
    bool
yann@1615
   172
    prompt "4.1.2 (OBSOLETE)"
yann@1615
   173
    depends on OBSOLETE
yann@1534
   174
yann@1534
   175
config CC_V_4_0_4
yann@1534
   176
    bool
yann@1615
   177
    prompt "4.0.4 (OBSOLETE)"
yann@1615
   178
    depends on OBSOLETE
yann@1534
   179
yann@1534
   180
config CC_V_3_4_6
yann@1534
   181
    bool
yann@1534
   182
    prompt "3.4.6 (OBSOLETE)"
yann@1534
   183
    depends on OBSOLETE
yann@1534
   184
yann@448
   185
endchoice
yann@448
   186
yann@2362
   187
config CC_GCC_4_2
yann@2362
   188
    bool
yann@2362
   189
    select CC_GCC_4_2_or_later
yann@2362
   190
lacombar@1881
   191
config CC_GCC_4_2_or_later
lacombar@1881
   192
    bool
lacombar@1881
   193
yann@2362
   194
config CC_GCC_4_3
yann@2362
   195
    bool
yann@2362
   196
    select CC_GCC_4_3_or_later
yann@2362
   197
    select CC_GCC_USE_GMP_MPFR
benoit@2486
   198
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@2362
   199
yann@1268
   200
config CC_GCC_4_3_or_later
yann@1268
   201
    bool
lacombar@1881
   202
    select CC_GCC_4_2_or_later
yann@2362
   203
yann@2362
   204
config CC_GCC_4_4
yann@2362
   205
    bool
yann@2362
   206
    select CC_GCC_4_4_or_later
yann@1848
   207
    select CC_GCC_USE_GMP_MPFR
yann@2362
   208
    select CC_GCC_HAS_GRAPHITE
benoit@2486
   209
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@1268
   210
yann@1320
   211
config CC_GCC_4_4_or_later
yann@1268
   212
    bool
yann@1805
   213
    select CC_GCC_4_3_or_later
yann@2362
   214
yann@2362
   215
config CC_GCC_4_5
yann@2362
   216
    bool
yann@2362
   217
    select CC_GCC_4_5_or_later
yann@2362
   218
    select CC_GCC_USE_GMP_MPFR
yann@2362
   219
    select CC_GCC_USE_MPC
yann@2122
   220
    select CC_GCC_HAS_GRAPHITE
yann@2362
   221
    select CC_GCC_HAS_LTO
benoit@2486
   222
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@1848
   223
yann@1920
   224
config CC_GCC_4_5_or_later
yann@1920
   225
    bool
yann@1920
   226
    select CC_GCC_4_4_or_later
yann@2122
   227
yann@2363
   228
config CC_GCC_4_6
yann@2363
   229
    bool
yann@2363
   230
    select CC_GCC_4_6_or_later
yann@2363
   231
    select CC_GCC_USE_GMP_MPFR
yann@2363
   232
    select CC_GCC_USE_MPC
yann@2363
   233
    select CC_GCC_HAS_GRAPHITE
yann@2363
   234
    select CC_GCC_HAS_LTO
benoit@2486
   235
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@2363
   236
yann@2363
   237
config CC_GCC_4_6_or_later
yann@2363
   238
    bool
yann@2363
   239
    select CC_GCC_4_5_or_later
yann@2363
   240
yann@2122
   241
config CC_GCC_HAS_GRAPHITE
yann@2122
   242
    bool
yann@2122
   243
yann@2287
   244
# The way LTO works is a bit twisted.
yann@2287
   245
# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
yann@2287
   246
# Basically:
yann@2287
   247
#   - if binutils has plugins: LTO is handled by ld/gold by loading
yann@2287
   248
#     the plugin when linking
yann@2287
   249
#   - if binutils does not have plugins: LTO is handled by collect2
yann@2287
   250
# In any case, LTO support does not depend on plugins, but takes
yann@2287
   251
# advantage of it
yann@2122
   252
config CC_GCC_HAS_LTO
yann@2122
   253
    bool
yann@1920
   254
benoit@2486
   255
config CC_GCC_HAS_PKGVERSION_BUGURL
benoit@2486
   256
    bool
benoit@2486
   257
yann@2287
   258
# Only enable gcc's support for plugins if binutils has it as well
yann@2287
   259
# They are usefull only when doing LTO, but it does no harm enabling
yann@2287
   260
# them even without LTO.
yann@2287
   261
config CC_GCC_ENABLE_PLUGINS
yann@2287
   262
    bool
yann@2287
   263
    depends on BINUTILS_PLUGINS
yann@2316
   264
    depends on ! STATIC_TOOLCHAIN
yann@2287
   265
    default y
yann@2287
   266
yann@2287
   267
# If binutils installs gold, enable support for gold in gcc
yann@2287
   268
config CC_GCC_GOLD
yann@2287
   269
    bool
yann@2287
   270
    depends on BINUTILS_GOLD_INSTALLED
yann@2287
   271
    default y
yann@2287
   272
yann@1848
   273
config CC_GCC_USE_GMP_MPFR
yann@1848
   274
    bool
yann@2131
   275
    select GMP_NEEDED
yann@2131
   276
    select MPFR_NEEDED
yann@1848
   277
yann@2014
   278
config CC_GCC_USE_PPL_CLOOG
yann@1848
   279
    bool
yann@2131
   280
    select PPL_NEEDED
yann@2131
   281
    select CLOOG_NEEDED
yann@1268
   282
yann@2122
   283
config CC_GCC_USE_MPC
yann@1920
   284
    bool
yann@2131
   285
    select MPC_NEEDED
yann@2122
   286
yann@2122
   287
config CC_GCC_USE_LIBELF
yann@2122
   288
    bool
yann@2131
   289
    select LIBELF_NEEDED
yann@1920
   290
yann@448
   291
config CC_VERSION
yann@448
   292
    string
yann@1535
   293
# Don't remove next line
yann@1535
   294
# CT_INSERT_VERSION_STRING_BELOW
yann@2406
   295
    default "4.4.6" if CC_V_4_4_6
benoit@2477
   296
    default "linaro-4.6-2011.05-0" if CC_V_linaro_4_6_2011_05_0
yann@2365
   297
    default "4.6.0" if CC_V_4_6_0
benoit@2477
   298
    default "linaro-4.5-2011.05-0" if CC_V_linaro_4_5_2011_05_0
bryanhundven@2233
   299
    default "4.5.2" if CC_V_4_5_2
lacombar@2061
   300
    default "4.5.1" if CC_V_4_5_1
yann@1921
   301
    default "4.5.0" if CC_V_4_5_0
yann@2302
   302
    default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
yann@2149
   303
    default "4.4.5" if CC_V_4_4_5
yann@1948
   304
    default "4.4.4" if CC_V_4_4_4
yann@1752
   305
    default "4.4.3" if CC_V_4_4_3
yann@1611
   306
    default "4.4.2" if CC_V_4_4_2
yann@1534
   307
    default "4.4.1" if CC_V_4_4_1
yann@1534
   308
    default "4.4.0" if CC_V_4_4_0
yann@2124
   309
    default "4.3.5" if CC_V_4_3_5
yann@1534
   310
    default "4.3.4" if CC_V_4_3_4
yann@1534
   311
    default "4.3.3" if CC_V_4_3_3
yann@1534
   312
    default "4.3.2" if CC_V_4_3_2
yann@1534
   313
    default "4.3.1" if CC_V_4_3_1
yann@1534
   314
    default "4.3.0" if CC_V_4_3_0
yann@1534
   315
    default "4.2.4" if CC_V_4_2_4
yann@1534
   316
    default "4.2.3" if CC_V_4_2_3
yann@1534
   317
    default "4.2.2" if CC_V_4_2_2
yann@1534
   318
    default "4.2.1" if CC_V_4_2_1
yann@1534
   319
    default "4.2.0" if CC_V_4_2_0
yann@1534
   320
    default "4.1.2" if CC_V_4_1_2
yann@1534
   321
    default "4.0.4" if CC_V_4_0_4
yann@1534
   322
    default "3.4.6" if CC_V_3_4_6
yann@448
   323
yann@2041
   324
config CC_LANG_JAVA_USE_ECJ
yann@448
   325
    bool
yann@765
   326
    default y
yann@2041
   327
    depends on CC_LANG_JAVA
yann@2041
   328
    depends on CC_GCC_4_3_or_later