config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 26 13:30:51 2012 +0100 (2012-12-26)
changeset 3145 598880dab0f3
parent 3121 5016315d88ba
child 3149 e1611da4bb05
permissions -rw-r--r--
libc/glibc: both glibc and eglibc have pkgversion and bugurl

Well, all eglibc version we support do, and latest glibc versions
we support do.

Not all glibc versions do, but older versions simply ignore the
unrecognised ./configure flags.

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