config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:42:42 2012 +0100 (2012-12-27)
changeset 3154 5d3c8b601af3
parent 3150 1d6fd9bde73c
child 3173 16fdf4cf35b5
permissions -rw-r--r--
binutils/binutils: add latest version

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