7 prompt "binutils version"
8 # Don't remove next line
9 # CT_INSERT_VERSION_BELOW
11 config BINUTILS_V_2_21_53
13 prompt "2.21.53 (EXPERIMENTAL)"
14 depends on EXPERIMENTAL
15 select BINUTILS_2_21_or_later
17 config BINUTILS_V_2_21_1a
20 select BINUTILS_2_21_or_later
22 config BINUTILS_V_2_20_1a
25 select BINUTILS_2_20_or_later
27 config BINUTILS_V_2_19_1a
30 select BINUTILS_2_19_or_later
32 config BINUTILS_V_2_18a
35 select BINUTILS_2_18_or_later
37 config BINUTILS_V_2_17a
39 prompt "2.17a (OBSOLETE)"
42 config BINUTILS_V_2_16_1a
44 prompt "2.16.1a (OBSOLETE)"
49 config BINUTILS_VERSION
51 # Don't remove next line
52 # CT_INSERT_VERSION_STRING_BELOW
53 default "2.21.53" if BINUTILS_V_2_21_53
54 default "2.21.1a" if BINUTILS_V_2_21_1a
55 default "2.20.1a" if BINUTILS_V_2_20_1a
56 default "2.19.1a" if BINUTILS_V_2_19_1a
57 default "2.18a" if BINUTILS_V_2_18a
58 default "2.17a" if BINUTILS_V_2_17a
59 default "2.16.1a" if BINUTILS_V_2_16_1a
61 config BINUTILS_2_21_or_later
63 select BINUTILS_2_20_or_later
64 select BINUTILS_HAS_GOLD
65 select BINUTILS_HAS_PLUGINS
67 config BINUTILS_2_20_or_later
69 select BINUTILS_2_19_or_later
71 config BINUTILS_2_19_or_later
73 select BINUTILS_2_18_or_later
75 config BINUTILS_2_18_or_later
77 select BINUTILS_HAS_PKGVERSION_BUGURL
79 config BINUTILS_HAS_GOLD
82 config BINUTILS_GOLD_SUPPORTS_ARCH
85 config BINUTILS_HAS_PLUGINS
88 config BINUTILS_HAS_PKGVERSION_BUGURL
91 # Only these architectures have support in gold
93 select BINUTILS_GOLD_SUPPORTS_ARCH
96 select BINUTILS_GOLD_SUPPORTS_ARCH
98 # Force using the BFD linker if needed
99 # This is the case for some C libraries (eg. glibc and
100 # eglibc at least) and affected components can select this
101 config BINUTILS_FORCE_LD_BFD
106 prompt "Linkers to enable"
108 config BINUTILS_LINKER_LD
112 The historical, bfd linker.
114 config BINUTILS_LINKER_GOLD
117 depends on BINUTILS_HAS_GOLD
118 depends on BINUTILS_GOLD_SUPPORTS_ARCH
119 depends on ! BINUTILS_FORCE_LD_BFD
120 depends on EXPERIMENTAL
121 select BINUTILS_GOLD_INSTALLED
123 gold is a new, optimised, multi-threaded linker with support
124 for plugins. Designed to be a drop-in replacement for the
125 original linker, ld, it can be much faster, with a 5:1 or
126 bigger ratio being not uncommon, YMMV.
128 config BINUTILS_LINKER_LD_GOLD
131 depends on BINUTILS_HAS_GOLD
132 depends on BINUTILS_GOLD_SUPPORTS_ARCH
133 depends on EXPERIMENTAL
134 select BINUTILS_GOLD_INSTALLED
135 select BINUTILS_LINKER_BOTH
137 Both the historical ld and the new gold linkers will be
138 installed, with ld being the default linker used.
140 See help for gold, above.
142 config BINUTILS_LINKER_GOLD_LD
145 depends on BINUTILS_HAS_GOLD
146 depends on BINUTILS_GOLD_SUPPORTS_ARCH
147 depends on EXPERIMENTAL
148 select BINUTILS_GOLD_INSTALLED
149 select BINUTILS_LINKER_BOTH
150 select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD
152 Both the historical ld and the new gold linkers will be
153 installed, with gold being the default linker used.
155 See help for gold, above.
157 endchoice # Enable linkers
159 if BINUTILS_LINKER_GOLD
160 comment "WARNING! gold is not capable of"
161 comment "| building glibc/eglibc!"
162 endif # BINUTILS_LINKER_GOLD
164 config BINUTILS_GOLD_INSTALLED
167 config BINUTILS_GOLD_THREADS
169 prompt "| Enable threaded gold"
170 depends on BINUTILS_GOLD_INSTALLED
172 When configured with threads, gold can link in parallel,
173 possibly cooperating with a make jobserver.
175 config BINUTILS_LINKER_BOTH
178 config BINUTILS_LINKERS_LIST
180 default "ld" if BINUTILS_LINKER_LD
181 default "gold" if BINUTILS_LINKER_GOLD
182 default "ld,gold" if BINUTILS_LINKER_LD_GOLD
183 default "gold,ld" if BINUTILS_LINKER_GOLD_LD
185 config BINUTILS_LD_WRAPPER
187 prompt "| Add ld wrapper"
188 depends on BINUTILS_LINKER_BOTH
190 Add an ld wrapper that calls to either gold or ld.
192 By default, the wrapper will call to the default wrapper,
193 but if you set the environment variable CTNG_LD_IS, you
194 can change which linker will get called:
195 CTNG_LD_IS=gold will unconditionally call the gold linker
196 CTNG_LD_IS=bfd will unconditionally call the old bfd ld linker
198 config BINUTILS_LINKER_DEFAULT
200 default "bfd" if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD
201 default "gold" if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD
203 config BINUTILS_PLUGINS
205 prompt "Enable support for plugins"
206 depends on BINUTILS_HAS_PLUGINS
207 depends on ! STATIC_TOOLCHAIN
209 binutils can be extended through the use of plugins.
210 Especially, gold can use the lto-plugin, as installed
211 by gcc, to handle LTO.
213 config BINUTILS_EXTRA_CONFIG_ARRAY
215 prompt "binutils extra config"
218 Extra flags passed onto ./configure when configuring
220 You can enter multiple arguments here, and arguments can contain spaces
221 if they are properly quoted (or escaped, but prefer quotes). Eg.:
222 --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
224 config BINUTILS_FOR_TARGET
226 prompt "binutils libraries for the target"
227 depends on ! BARE_METAL
230 Some utilities may need binutils libraries to be available on
231 the target, eg. oprofile.
233 if BINUTILS_FOR_TARGET
235 config BINUTILS_FOR_TARGET_IBERTY
240 config BINUTILS_FOR_TARGET_BFD
245 endif # BINUTILS_FOR_TARGET