config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Jan 28 18:53:37 2011 +0100 (2011-01-28)
changeset 2287 61608c9365ab
parent 2233 e65b82c6aa2c
child 2302 e85077497eb1
child 2392 578509ec492d
permissions -rw-r--r--
cc/gcc: enable plugins if needed

Enabling plugins in binutils is not enough, and gcc also
needs to be ./configured with --enable-plugins, although
this is not documented anywhere... :-/

Reported-by: karthik duraisami <kdconstant@hotmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@448
     1
# Compiler options
yann@448
     2
yann@923
     3
config CC_gcc
yann@923
     4
    select CC_SUPPORT_CXX
yann@923
     5
    select CC_SUPPORT_FORTRAN
yann@923
     6
    select CC_SUPPORT_JAVA
yann@923
     7
    select CC_SUPPORT_ADA
yann@923
     8
    select CC_SUPPORT_OBJC
yann@923
     9
    select CC_SUPPORT_OBJCXX
yann@923
    10
    help
yann@923
    11
      gcc is the full-blown GNU compiler. This is what most people will choose.
yann@923
    12
      
yann@923
    13
      gcc supports many languages, a powerful code parser, optimised binary
yann@923
    14
      output, and lots of other features.
yann@923
    15
yann@448
    16
choice
yann@448
    17
    bool
yann@448
    18
    prompt "gcc version"
yann@1535
    19
# Don't remove next line
yann@1535
    20
# CT_INSERT_VERSION_BELOW
yann@448
    21
bryanhundven@2233
    22
config CC_V_4_5_2
bryanhundven@2233
    23
    bool
bryanhundven@2233
    24
    prompt "4.5.2 (EXPERIMENTAL)"
bryanhundven@2233
    25
    depends on EXPERIMENTAL
bryanhundven@2233
    26
    select CC_GCC_4_5_or_later
bryanhundven@2233
    27
lacombar@2061
    28
config CC_V_4_5_1
lacombar@2061
    29
    bool
lacombar@2061
    30
    prompt "4.5.1 (EXPERIMENTAL)"
lacombar@2061
    31
    depends on EXPERIMENTAL
lacombar@2061
    32
    select CC_GCC_4_5_or_later
lacombar@2061
    33
yann@1921
    34
config CC_V_4_5_0
yann@1921
    35
    bool
yann@1921
    36
    prompt "4.5.0 (EXPERIMENTAL)"
yann@1921
    37
    depends on EXPERIMENTAL
yann@1921
    38
    select CC_GCC_4_5_or_later
yann@1921
    39
yann@2149
    40
config CC_V_4_4_5
yann@2149
    41
    bool
yann@2149
    42
    prompt "4.4.5"
yann@2149
    43
    select CC_GCC_4_4_or_later
yann@2149
    44
yann@1948
    45
config CC_V_4_4_4
yann@1948
    46
    bool
yann@2149
    47
    prompt "4.4.4"
yann@1948
    48
    select CC_GCC_4_4_or_later
yann@1948
    49
yann@1752
    50
config CC_V_4_4_3
yann@1752
    51
    bool
yann@1778
    52
    prompt "4.4.3"
yann@1752
    53
    select CC_GCC_4_4_or_later
yann@1752
    54
yann@1611
    55
config CC_V_4_4_2
yann@1611
    56
    bool
yann@1778
    57
    prompt "4.4.2"
yann@1611
    58
    select CC_GCC_4_4_or_later
yann@1611
    59
yann@1534
    60
config CC_V_4_4_1
yann@448
    61
    bool
yann@1778
    62
    prompt "4.4.1"
yann@1534
    63
    select CC_GCC_4_4_or_later
yann@1462
    64
yann@1268
    65
config CC_V_4_4_0
yann@1268
    66
    bool
yann@1778
    67
    prompt "4.4.0"
yann@1320
    68
    select CC_GCC_4_4_or_later
yann@1268
    69
yann@2124
    70
config CC_V_4_3_5
yann@2124
    71
    bool
yann@2124
    72
    prompt "4.3.5"
yann@2124
    73
    select CC_GCC_4_3_or_later
yann@2124
    74
yann@1534
    75
config CC_V_4_3_4
yann@1442
    76
    bool
yann@1534
    77
    prompt "4.3.4"
yann@1534
    78
    select CC_GCC_4_3_or_later
yann@1534
    79
yann@1534
    80
config CC_V_4_3_3
yann@1534
    81
    bool
yann@1534
    82
    prompt "4.3.3"
yann@1534
    83
    select CC_GCC_4_3_or_later
yann@1534
    84
yann@1534
    85
config CC_V_4_3_2
yann@1534
    86
    bool
yann@1534
    87
    prompt "4.3.2"
yann@1534
    88
    select CC_GCC_4_3_or_later
yann@1534
    89
yann@1534
    90
config CC_V_4_3_1
yann@1534
    91
    bool
yann@1534
    92
    prompt "4.3.1"
yann@1534
    93
    select CC_GCC_4_3_or_later
yann@1534
    94
yann@1534
    95
config CC_V_4_2_4
yann@1534
    96
    bool
yann@1534
    97
    prompt "4.2.4"
lacombar@1881
    98
    select CC_GCC_4_2_or_later
yann@1534
    99
yann@1534
   100
config CC_V_4_2_3
yann@1534
   101
    bool
yann@1615
   102
    prompt "4.2.3 (OBSOLETE)"
lacombar@1881
   103
    select CC_GCC_4_2_or_later
yann@1615
   104
    depends on OBSOLETE
yann@1534
   105
yann@1534
   106
config CC_V_4_2_2
yann@1534
   107
    bool
yann@1534
   108
    prompt "4.2.2"
lacombar@1881
   109
    select CC_GCC_4_2_or_later
yann@1534
   110
yann@1534
   111
config CC_V_4_2_1
yann@1534
   112
    bool
yann@1615
   113
    prompt "4.2.1 (OBSOLETE)"
lacombar@1881
   114
    select CC_GCC_4_2_or_later
yann@1615
   115
    depends on OBSOLETE
yann@1534
   116
yann@1534
   117
config CC_V_4_2_0
yann@1534
   118
    bool
yann@1615
   119
    prompt "4.2.0 (OBSOLETE)"
lacombar@1881
   120
    select CC_GCC_4_2_or_later
yann@1615
   121
    depends on OBSOLETE
yann@1534
   122
yann@1534
   123
config CC_V_4_1_2
yann@1534
   124
    bool
yann@1615
   125
    prompt "4.1.2 (OBSOLETE)"
yann@1615
   126
    depends on OBSOLETE
yann@1534
   127
yann@1534
   128
config CC_V_4_0_4
yann@1534
   129
    bool
yann@1615
   130
    prompt "4.0.4 (OBSOLETE)"
yann@1615
   131
    depends on OBSOLETE
yann@1534
   132
yann@1534
   133
config CC_V_3_4_6
yann@1534
   134
    bool
yann@1534
   135
    prompt "3.4.6 (OBSOLETE)"
yann@1534
   136
    depends on OBSOLETE
yann@1534
   137
yann@448
   138
endchoice
yann@448
   139
lacombar@1881
   140
config CC_GCC_4_2_or_later
lacombar@1881
   141
    bool
lacombar@1881
   142
    default n
lacombar@1881
   143
yann@1268
   144
config CC_GCC_4_3_or_later
yann@1268
   145
    bool
yann@1268
   146
    default n
lacombar@1881
   147
    select CC_GCC_4_2_or_later
yann@1848
   148
    select CC_GCC_USE_GMP_MPFR
yann@1268
   149
yann@1320
   150
config CC_GCC_4_4_or_later
yann@1268
   151
    bool
yann@1268
   152
    default n
yann@1805
   153
    select CC_GCC_4_3_or_later
yann@2122
   154
    select CC_GCC_HAS_GRAPHITE
yann@1848
   155
yann@1920
   156
config CC_GCC_4_5_or_later
yann@1920
   157
    bool
yann@1920
   158
    default n
yann@1920
   159
    select CC_GCC_4_4_or_later
yann@2122
   160
    select CC_GCC_USE_MPC
yann@2122
   161
    select CC_GCC_HAS_LTO
yann@2122
   162
yann@2122
   163
config CC_GCC_HAS_GRAPHITE
yann@2122
   164
    bool
yann@2122
   165
    default n
yann@2122
   166
yann@2287
   167
# The way LTO works is a bit twisted.
yann@2287
   168
# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
yann@2287
   169
# Basically:
yann@2287
   170
#   - if binutils has plugins: LTO is handled by ld/gold by loading
yann@2287
   171
#     the plugin when linking
yann@2287
   172
#   - if binutils does not have plugins: LTO is handled by collect2
yann@2287
   173
# In any case, LTO support does not depend on plugins, but takes
yann@2287
   174
# advantage of it
yann@2122
   175
config CC_GCC_HAS_LTO
yann@2122
   176
    bool
yann@2122
   177
    default n
yann@1920
   178
yann@2287
   179
# Only enable gcc's support for plugins if binutils has it as well
yann@2287
   180
# They are usefull only when doing LTO, but it does no harm enabling
yann@2287
   181
# them even without LTO.
yann@2287
   182
config CC_GCC_ENABLE_PLUGINS
yann@2287
   183
    bool
yann@2287
   184
    depends on BINUTILS_PLUGINS
yann@2287
   185
    default y
yann@2287
   186
yann@2287
   187
# If binutils installs gold, enable support for gold in gcc
yann@2287
   188
config CC_GCC_GOLD
yann@2287
   189
    bool
yann@2287
   190
    depends on BINUTILS_GOLD_INSTALLED
yann@2287
   191
    default y
yann@2287
   192
yann@1848
   193
config CC_GCC_USE_GMP_MPFR
yann@1848
   194
    bool
yann@1848
   195
    default n
yann@2131
   196
    select GMP_NEEDED
yann@2131
   197
    select MPFR_NEEDED
yann@1848
   198
yann@2014
   199
config CC_GCC_USE_PPL_CLOOG
yann@1848
   200
    bool
yann@1848
   201
    default n
yann@2131
   202
    select PPL_NEEDED
yann@2131
   203
    select CLOOG_NEEDED
yann@1268
   204
yann@2122
   205
config CC_GCC_USE_MPC
yann@1920
   206
    bool
yann@1920
   207
    default n
yann@2131
   208
    select MPC_NEEDED
yann@2122
   209
yann@2122
   210
config CC_GCC_USE_LIBELF
yann@2122
   211
    bool
yann@2122
   212
    default n
yann@2131
   213
    select LIBELF_NEEDED
yann@1920
   214
yann@448
   215
config CC_VERSION
yann@448
   216
    string
yann@1535
   217
# Don't remove next line
yann@1535
   218
# CT_INSERT_VERSION_STRING_BELOW
bryanhundven@2233
   219
    default "4.5.2" if CC_V_4_5_2
lacombar@2061
   220
    default "4.5.1" if CC_V_4_5_1
yann@1921
   221
    default "4.5.0" if CC_V_4_5_0
yann@2149
   222
    default "4.4.5" if CC_V_4_4_5
yann@1948
   223
    default "4.4.4" if CC_V_4_4_4
yann@1752
   224
    default "4.4.3" if CC_V_4_4_3
yann@1611
   225
    default "4.4.2" if CC_V_4_4_2
yann@1534
   226
    default "4.4.1" if CC_V_4_4_1
yann@1534
   227
    default "4.4.0" if CC_V_4_4_0
yann@2124
   228
    default "4.3.5" if CC_V_4_3_5
yann@1534
   229
    default "4.3.4" if CC_V_4_3_4
yann@1534
   230
    default "4.3.3" if CC_V_4_3_3
yann@1534
   231
    default "4.3.2" if CC_V_4_3_2
yann@1534
   232
    default "4.3.1" if CC_V_4_3_1
yann@1534
   233
    default "4.3.0" if CC_V_4_3_0
yann@1534
   234
    default "4.2.4" if CC_V_4_2_4
yann@1534
   235
    default "4.2.3" if CC_V_4_2_3
yann@1534
   236
    default "4.2.2" if CC_V_4_2_2
yann@1534
   237
    default "4.2.1" if CC_V_4_2_1
yann@1534
   238
    default "4.2.0" if CC_V_4_2_0
yann@1534
   239
    default "4.1.2" if CC_V_4_1_2
yann@1534
   240
    default "4.0.4" if CC_V_4_0_4
yann@1534
   241
    default "3.4.6" if CC_V_3_4_6
yann@448
   242
yann@2041
   243
config CC_LANG_JAVA_USE_ECJ
yann@448
   244
    bool
yann@765
   245
    default y
yann@2041
   246
    depends on CC_LANG_JAVA
yann@2041
   247
    depends on CC_GCC_4_3_or_later
yann@2041
   248
yann@2041
   249
config CC_PKGVERSION
yann@2041
   250
    string
yann@2041
   251
    prompt "gcc ID string"
yann@2041
   252
    depends on CC_GCC_4_3_or_later
yann@2041
   253
    default "crosstool-NG-${CT_VERSION}"
yann@448
   254
    help
yann@2041
   255
      Specify a string that identifies your package. You may wish to include
yann@2041
   256
      a build number or build date. This version string will be included in
yann@2041
   257
      the output of gcc --version.
yann@448
   258
yann@2041
   259
      This is passed to the configure flag --with-pkgversion.
yann@765
   260
yann@2041
   261
config CC_BUGURL
yann@2041
   262
    string
yann@2041
   263
    prompt "gcc bug URL"
yann@2041
   264
    depends on CC_GCC_4_3_or_later
yann@2041
   265
    default ""
yann@765
   266
    help
yann@2041
   267
      Specify the URL that users should visit if they wish to report a bug.
yann@765
   268
yann@1484
   269
config CC_ENABLE_CXX_FLAGS
yann@1484
   270
    string
yann@1484
   271
    prompt "Flags to pass to --enable-cxx-flags"
yann@1484
   272
    default ""
yann@1484
   273
    help
yann@1484
   274
      Enter here the value of the gcc's ./configure option --enable-cxx-flags.
yann@1484
   275
      Leave empty if you don't know better.
yann@1484
   276
      
yann@1484
   277
      Note: just pass in the option _value_, that is only the part that goes
yann@1484
   278
      after the '=' sign.
yann@1484
   279
yann@448
   280
config CC_CORE_EXTRA_CONFIG
yann@448
   281
    string
yann@448
   282
    prompt "Core gcc extra config"
yann@448
   283
    default ""
yann@448
   284
    help
yann@448
   285
      Extra flags to pass onto ./configure when configuring the core gcc.
yann@448
   286
      
yann@448
   287
      The core gcc is a stripped down, C-only compiler needed to build
yann@448
   288
      the C library. Kinda bootstrap gcc, if you wish.
yann@448
   289
yann@448
   290
config CC_EXTRA_CONFIG
yann@448
   291
    string
yann@448
   292
    prompt "gcc extra config"
yann@448
   293
    default ""
yann@850
   294
    depends on ! BARE_METAL
yann@448
   295
    help
yann@448
   296
      Extra flags to pass onto ./configure when configuring gcc.