config/binutils/binutils.in
author Niels Penneman <niels@penneman.org>
Fri Jan 03 10:49:02 2014 +0100 (2014-01-03)
changeset 3268 d461981ab9cc
parent 3264 38113b831a2f
permissions -rw-r--r--
binutils/binutils: 2.24 is 2_24_or_later and experimental

Signed-off-by: Niels Penneman <niels@penneman.org>
Message-Id: <8cc1deb25227cd5c33c8.1388742700@i7sb.local>
Patchwork-Id: 306519
yann@1345
     1
# binutils options
yann@1345
     2
yann@1345
     3
comment "GNU binutils"
yann@1345
     4
yann@1345
     5
choice
yann@1345
     6
    bool
yann@1345
     7
    prompt "binutils version"
yann@1535
     8
# Don't remove next line
yann@1535
     9
# CT_INSERT_VERSION_BELOW
yann@1345
    10
yann@3263
    11
config BINUTILS_V_2_24
yann@3263
    12
    bool
niels@3268
    13
    prompt "2.24 (EXPERIMENTAL)"
niels@3268
    14
    depends on EXPERIMENTAL
niels@3268
    15
    select BINUTILS_2_24_or_later
yann@3263
    16
yann@3240
    17
config BINUTILS_V_2_23_2
yann@3240
    18
    bool
yann@3240
    19
    prompt "2.23.2 (EXPERIMENTAL)"
yann@3240
    20
    depends on EXPERIMENTAL
yann@3257
    21
    select BINUTILS_2_23_or_later
yann@3240
    22
yann@3154
    23
config BINUTILS_V_2_23_1
yann@3154
    24
    bool
yann@3154
    25
    prompt "2.23.1 (EXPERIMENTAL)"
yann@3154
    26
    depends on EXPERIMENTAL
yann@3173
    27
    select BINUTILS_2_23_or_later
yann@3154
    28
titus@2797
    29
config BINUTILS_V_2_22
titus@2797
    30
    bool
yann@3149
    31
    prompt "2.22"
titus@2797
    32
    select BINUTILS_2_22_or_later
titus@2797
    33
michael@2696
    34
config BINUTILS_V_2_21_53
michael@2696
    35
    bool
yann@3149
    36
    prompt "2.21.53"
michael@2696
    37
    select BINUTILS_2_21_or_later
michael@2696
    38
yann@2665
    39
config BINUTILS_V_2_21_1a
yann@2665
    40
    bool
yann@2665
    41
    prompt "2.21.1a"
yann@2665
    42
    select BINUTILS_2_21_or_later
yann@2665
    43
yann@2664
    44
config BINUTILS_V_2_20_1a
js@2012
    45
    bool
yann@2664
    46
    prompt "2.20.1a"
benoit@2488
    47
    select BINUTILS_2_20_or_later
js@2012
    48
yann@2664
    49
config BINUTILS_V_2_19_1a
yann@1345
    50
    bool
yann@2664
    51
    prompt "2.19.1a"
benoit@2488
    52
    select BINUTILS_2_19_or_later
yann@1345
    53
yann@2664
    54
config BINUTILS_V_2_18a
yann@1345
    55
    bool
yann@2664
    56
    prompt "2.18a"
benoit@2488
    57
    select BINUTILS_2_18_or_later
yann@1345
    58
david@3089
    59
config BINUTILS_CUSTOM
david@3089
    60
    bool
david@3089
    61
    prompt "Custom binutils"
david@3089
    62
    depends on EXPERIMENTAL
david@3089
    63
    select BINUTILS_2_22_or_later
david@3089
    64
yann@1345
    65
endchoice
yann@1345
    66
david@3089
    67
if BINUTILS_CUSTOM
david@3089
    68
david@3089
    69
config BINUTILS_CUSTOM_LOCATION
david@3089
    70
    string
david@3089
    71
    prompt "Full path to custom binutils source"
david@3089
    72
    default ""
david@3089
    73
    help
david@3089
    74
      Enter the path to the directory (or tarball) of your source for binutils,
david@3089
    75
      or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/binutils
david@3089
    76
david@3089
    77
endif # BINUTILS_CUSTOM
david@3089
    78
yann@1345
    79
config BINUTILS_VERSION
yann@1345
    80
    string
yann@1535
    81
# Don't remove next line
yann@1535
    82
# CT_INSERT_VERSION_STRING_BELOW
yann@3263
    83
    default "2.24" if BINUTILS_V_2_24
yann@3240
    84
    default "2.23.2" if BINUTILS_V_2_23_2
yann@3154
    85
    default "2.23.1" if BINUTILS_V_2_23_1
titus@2797
    86
    default "2.22" if BINUTILS_V_2_22
michael@2696
    87
    default "2.21.53" if BINUTILS_V_2_21_53
yann@2665
    88
    default "2.21.1a" if BINUTILS_V_2_21_1a
yann@2664
    89
    default "2.20.1a" if BINUTILS_V_2_20_1a
yann@2664
    90
    default "2.19.1a" if BINUTILS_V_2_19_1a
yann@2664
    91
    default "2.18a" if BINUTILS_V_2_18a
david@3089
    92
    default "custom" if BINUTILS_CUSTOM
yann@1345
    93
yann@3263
    94
config BINUTILS_2_24_or_later
yann@3263
    95
    bool
yann@3263
    96
    select BINUTILS_2_23_or_later
yann@3263
    97
yann@3173
    98
config BINUTILS_2_23_or_later
yann@3173
    99
    bool
yann@3173
   100
    select BINUTILS_2_22_or_later
yann@3173
   101
titus@2797
   102
config BINUTILS_2_22_or_later
titus@2797
   103
    bool
titus@2797
   104
    select BINUTILS_2_21_or_later
titus@2797
   105
yann@2243
   106
config BINUTILS_2_21_or_later
yann@2243
   107
    bool
benoit@2488
   108
    select BINUTILS_2_20_or_later
yann@2244
   109
    select BINUTILS_HAS_GOLD
yann@2245
   110
    select BINUTILS_HAS_PLUGINS
yann@2244
   111
benoit@2488
   112
config BINUTILS_2_20_or_later
benoit@2488
   113
    bool
benoit@2488
   114
    select BINUTILS_2_19_or_later
benoit@2488
   115
benoit@2488
   116
config BINUTILS_2_19_or_later
benoit@2488
   117
    bool
benoit@2488
   118
    select BINUTILS_2_18_or_later
benoit@2488
   119
benoit@2488
   120
config BINUTILS_2_18_or_later
benoit@2488
   121
    bool
benoit@2488
   122
    select BINUTILS_HAS_PKGVERSION_BUGURL
yann@2947
   123
    select BINUTILS_HAS_HASH_STYLE
yann@2947
   124
yann@2947
   125
config BINUTILS_HAS_HASH_STYLE
yann@2947
   126
    bool
benoit@2488
   127
yann@2244
   128
config BINUTILS_HAS_GOLD
yann@2244
   129
    bool
yann@2244
   130
diorcet@3121
   131
# gold only suports the listed architectures
yann@2372
   132
config BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
   133
    bool
diorcet@3121
   134
    default y if ARCH_arm
diorcet@3121
   135
    default y if ARCH_x86
yann@2372
   136
yann@2245
   137
config BINUTILS_HAS_PLUGINS
yann@2245
   138
    bool
yann@2245
   139
benoit@2488
   140
config BINUTILS_HAS_PKGVERSION_BUGURL
benoit@2488
   141
    bool
benoit@2488
   142
yann@2376
   143
# Force using the BFD linker if needed
yann@2376
   144
# This is the case for some C libraries (eg. glibc and
yann@2376
   145
# eglibc at least) and affected components can select this
yann@2376
   146
config BINUTILS_FORCE_LD_BFD
yann@2376
   147
    bool
yann@2376
   148
yann@2244
   149
choice
yann@2244
   150
    bool
yann@2244
   151
    prompt "Linkers to enable"
yann@2244
   152
yann@2244
   153
config BINUTILS_LINKER_LD
yann@2244
   154
    bool
yann@2244
   155
    prompt "ld"
yann@2244
   156
    help
yann@2244
   157
      The historical, bfd linker.
yann@2244
   158
yann@2244
   159
config BINUTILS_LINKER_GOLD
yann@2244
   160
    bool
yann@2244
   161
    prompt "gold"
yann@2244
   162
    depends on BINUTILS_HAS_GOLD
yann@2373
   163
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2376
   164
    depends on ! BINUTILS_FORCE_LD_BFD
yann@2244
   165
    select BINUTILS_GOLD_INSTALLED
yann@2244
   166
    help
yann@2244
   167
      gold is a new, optimised, multi-threaded linker with support
yann@2244
   168
      for plugins. Designed to be a drop-in replacement for the
yann@2244
   169
      original linker, ld, it can be much faster, with a 5:1 or
yann@2244
   170
      bigger ratio being not uncommon, YMMV.
yann@2244
   171
yann@2244
   172
config BINUTILS_LINKER_LD_GOLD
yann@2244
   173
    bool
yann@2244
   174
    prompt "ld, gold"
yann@2244
   175
    depends on BINUTILS_HAS_GOLD
yann@2373
   176
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2244
   177
    select BINUTILS_GOLD_INSTALLED
yann@2247
   178
    select BINUTILS_LINKER_BOTH
yann@2244
   179
    help
yann@2244
   180
      Both the historical ld and the new gold linkers will be
yann@2244
   181
      installed, with ld being the default linker used.
yann@2244
   182
      
yann@2244
   183
      See help for gold, above.
yann@2244
   184
yann@2244
   185
config BINUTILS_LINKER_GOLD_LD
yann@2244
   186
    bool
yann@2244
   187
    prompt "gold, ld"
yann@2244
   188
    depends on BINUTILS_HAS_GOLD
yann@2373
   189
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2244
   190
    select BINUTILS_GOLD_INSTALLED
yann@2247
   191
    select BINUTILS_LINKER_BOTH
yann@2376
   192
    select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD
yann@2244
   193
    help
yann@2244
   194
      Both the historical ld and the new gold linkers will be
yann@2244
   195
      installed, with gold being the default linker used.
yann@2244
   196
      
yann@2244
   197
      See help for gold, above.
yann@2244
   198
yann@2244
   199
endchoice # Enable linkers
yann@2244
   200
yann@2374
   201
if BINUTILS_LINKER_GOLD
yann@2374
   202
comment "WARNING! gold is not capable of"
yann@2374
   203
comment "|         building glibc/eglibc!"
yann@2374
   204
endif # BINUTILS_LINKER_GOLD
yann@2374
   205
yann@2244
   206
config BINUTILS_GOLD_INSTALLED
yann@2244
   207
    bool
yann@2244
   208
yann@2246
   209
config BINUTILS_GOLD_THREADS
yann@2246
   210
    bool
yann@2246
   211
    prompt "|  Enable threaded gold"
yann@2246
   212
    depends on BINUTILS_GOLD_INSTALLED
yann@2246
   213
    help
yann@2246
   214
      When configured with threads, gold can link in parallel,
yann@2246
   215
      possibly cooperating with a make jobserver.
yann@2246
   216
yann@2247
   217
config BINUTILS_LINKER_BOTH
yann@2247
   218
    bool
yann@2247
   219
yann@2244
   220
config BINUTILS_LINKERS_LIST
yann@2244
   221
    string
yann@2244
   222
    default "ld"        if BINUTILS_LINKER_LD
yann@2244
   223
    default "gold"      if BINUTILS_LINKER_GOLD
yann@2244
   224
    default "ld,gold"   if BINUTILS_LINKER_LD_GOLD
yann@2244
   225
    default "gold,ld"   if BINUTILS_LINKER_GOLD_LD
yann@2244
   226
yann@2247
   227
config BINUTILS_LD_WRAPPER
yann@2247
   228
    bool
yann@2247
   229
    prompt "|  Add ld wrapper"
yann@2247
   230
    depends on BINUTILS_LINKER_BOTH
yann@2247
   231
    help
yann@2247
   232
      Add an ld wrapper that calls to either gold or ld.
yann@2247
   233
      
yann@2247
   234
      By default, the wrapper will call to the default wrapper,
yann@2247
   235
      but if you set the environment variable CTNG_LD_IS, you
yann@2247
   236
      can change which linker will get called:
yann@2247
   237
        CTNG_LD_IS=gold     will unconditionally call the gold linker
yann@2247
   238
        CTNG_LD_IS=bfd      will unconditionally call the old bfd ld linker
yann@2247
   239
yann@2247
   240
config BINUTILS_LINKER_DEFAULT
yann@2247
   241
    string
yann@2373
   242
    default "bfd"   if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD
yann@2373
   243
    default "gold"  if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD
yann@2243
   244
yann@2245
   245
config BINUTILS_PLUGINS
yann@2245
   246
    bool
yann@2245
   247
    prompt "Enable support for plugins"
yann@2245
   248
    depends on BINUTILS_HAS_PLUGINS
yann@2316
   249
    depends on ! STATIC_TOOLCHAIN
yann@2245
   250
    help
yann@2245
   251
      binutils can be extended through the use of plugins.
yann@2245
   252
      Especially, gold can use the lto-plugin, as installed
yann@2245
   253
      by gcc, to handle LTO.
yann@2245
   254
yann@2467
   255
config BINUTILS_EXTRA_CONFIG_ARRAY
yann@1345
   256
    string
yann@1345
   257
    prompt "binutils extra config"
yann@1345
   258
    default ""
yann@1345
   259
    help
yann@1345
   260
      Extra flags passed onto ./configure when configuring
yann@2469
   261
      
yann@2469
   262
      You can enter multiple arguments here, and arguments can contain spaces
yann@2469
   263
      if they are properly quoted (or escaped, but prefer quotes). Eg.:
yann@2469
   264
          --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
yann@1345
   265
yann@1345
   266
config BINUTILS_FOR_TARGET
yann@1345
   267
    bool
yann@1345
   268
    prompt "binutils libraries for the target"
yann@1345
   269
    depends on ! BARE_METAL
yann@1844
   270
    depends on ! BACKEND
yann@1345
   271
    help
yann@1345
   272
      Some utilities may need binutils libraries to be available on
yann@1345
   273
      the target, eg. oprofile.
yann@1345
   274
yann@1345
   275
if BINUTILS_FOR_TARGET
yann@1345
   276
yann@1345
   277
config BINUTILS_FOR_TARGET_IBERTY
yann@1345
   278
    bool
yann@1345
   279
    prompt "libiberty"
yann@1345
   280
    default y
yann@1345
   281
yann@1345
   282
config BINUTILS_FOR_TARGET_BFD
yann@1345
   283
    bool
yann@1345
   284
    prompt "libbfd"
yann@1345
   285
    default y
yann@1345
   286
yann@1345
   287
endif # BINUTILS_FOR_TARGET