config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 11 19:54:57 2011 +0200 (2011-09-11)
changeset 2665 5b7e91ec300c
parent 2664 346263a07115
child 2696 5f7c6eed805d
permissions -rw-r--r--
binutils/binutils: add latest version

Add patches used by buildroot.

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