7 prompt "binutils version"
8 # Don't remove next line
9 # CT_INSERT_VERSION_BELOW
11 config BINUTILS_V_2_21
13 depends on EXPERIMENTAL
15 select BINUTILS_2_21_or_later
17 config BINUTILS_V_2_20_1
20 select BINUTILS_2_20_or_later
22 config BINUTILS_V_2_20
25 select BINUTILS_2_20_or_later
27 config BINUTILS_V_2_19_1
30 select BINUTILS_2_19_or_later
32 config BINUTILS_V_2_19
35 select BINUTILS_2_19_or_later
37 config BINUTILS_V_2_18
40 select BINUTILS_2_18_or_later
42 config BINUTILS_V_2_17
44 prompt "2.17 (OBSOLETE)"
47 config BINUTILS_V_2_16_1
49 prompt "2.16.1 (OBSOLETE)"
54 config BINUTILS_VERSION
56 # Don't remove next line
57 # CT_INSERT_VERSION_STRING_BELOW
58 default "2.21" if BINUTILS_V_2_21
59 default "2.20.1" if BINUTILS_V_2_20_1
60 default "2.20" if BINUTILS_V_2_20
61 default "2.19.1" if BINUTILS_V_2_19_1
62 default "2.19" if BINUTILS_V_2_19
63 default "2.18" if BINUTILS_V_2_18
64 default "2.17" if BINUTILS_V_2_17
65 default "2.16.1" if BINUTILS_V_2_16_1
67 config BINUTILS_2_21_or_later
69 select BINUTILS_2_20_or_later
70 select BINUTILS_HAS_GOLD
71 select BINUTILS_HAS_PLUGINS
73 config BINUTILS_2_20_or_later
75 select BINUTILS_2_19_or_later
77 config BINUTILS_2_19_or_later
79 select BINUTILS_2_18_or_later
81 config BINUTILS_2_18_or_later
83 select BINUTILS_HAS_PKGVERSION_BUGURL
85 config BINUTILS_HAS_GOLD
88 config BINUTILS_GOLD_SUPPORTS_ARCH
91 config BINUTILS_HAS_PLUGINS
94 config BINUTILS_HAS_PKGVERSION_BUGURL
97 # Only these architectures have support in gold
99 select BINUTILS_GOLD_SUPPORTS_ARCH
102 select BINUTILS_GOLD_SUPPORTS_ARCH
104 # Force using the BFD linker if needed
105 # This is the case for some C libraries (eg. glibc and
106 # eglibc at least) and affected components can select this
107 config BINUTILS_FORCE_LD_BFD
112 prompt "Linkers to enable"
114 config BINUTILS_LINKER_LD
118 The historical, bfd linker.
120 config BINUTILS_LINKER_GOLD
123 depends on BINUTILS_HAS_GOLD
124 depends on BINUTILS_GOLD_SUPPORTS_ARCH
125 depends on ! BINUTILS_FORCE_LD_BFD
126 depends on EXPERIMENTAL
127 select BINUTILS_GOLD_INSTALLED
129 gold is a new, optimised, multi-threaded linker with support
130 for plugins. Designed to be a drop-in replacement for the
131 original linker, ld, it can be much faster, with a 5:1 or
132 bigger ratio being not uncommon, YMMV.
134 config BINUTILS_LINKER_LD_GOLD
137 depends on BINUTILS_HAS_GOLD
138 depends on BINUTILS_GOLD_SUPPORTS_ARCH
139 depends on EXPERIMENTAL
140 select BINUTILS_GOLD_INSTALLED
141 select BINUTILS_LINKER_BOTH
143 Both the historical ld and the new gold linkers will be
144 installed, with ld being the default linker used.
146 See help for gold, above.
148 config BINUTILS_LINKER_GOLD_LD
151 depends on BINUTILS_HAS_GOLD
152 depends on BINUTILS_GOLD_SUPPORTS_ARCH
153 depends on EXPERIMENTAL
154 select BINUTILS_GOLD_INSTALLED
155 select BINUTILS_LINKER_BOTH
156 select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD
158 Both the historical ld and the new gold linkers will be
159 installed, with gold being the default linker used.
161 See help for gold, above.
163 endchoice # Enable linkers
165 if BINUTILS_LINKER_GOLD
166 comment "WARNING! gold is not capable of"
167 comment "| building glibc/eglibc!"
168 endif # BINUTILS_LINKER_GOLD
170 config BINUTILS_GOLD_INSTALLED
173 config BINUTILS_GOLD_THREADS
175 prompt "| Enable threaded gold"
176 depends on BINUTILS_GOLD_INSTALLED
178 When configured with threads, gold can link in parallel,
179 possibly cooperating with a make jobserver.
181 config BINUTILS_LINKER_BOTH
184 config BINUTILS_LINKERS_LIST
186 default "ld" if BINUTILS_LINKER_LD
187 default "gold" if BINUTILS_LINKER_GOLD
188 default "ld,gold" if BINUTILS_LINKER_LD_GOLD
189 default "gold,ld" if BINUTILS_LINKER_GOLD_LD
191 config BINUTILS_LD_WRAPPER
193 prompt "| Add ld wrapper"
194 depends on BINUTILS_LINKER_BOTH
196 Add an ld wrapper that calls to either gold or ld.
198 By default, the wrapper will call to the default wrapper,
199 but if you set the environment variable CTNG_LD_IS, you
200 can change which linker will get called:
201 CTNG_LD_IS=gold will unconditionally call the gold linker
202 CTNG_LD_IS=bfd will unconditionally call the old bfd ld linker
204 config BINUTILS_LINKER_DEFAULT
206 default "bfd" if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD
207 default "gold" if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD
209 config BINUTILS_PLUGINS
211 prompt "Enable support for plugins"
212 depends on BINUTILS_HAS_PLUGINS
213 depends on ! STATIC_TOOLCHAIN
215 binutils can be extended through the use of plugins.
216 Especially, gold can use the lto-plugin, as installed
217 by gcc, to handle LTO.
219 config BINUTILS_EXTRA_CONFIG_ARRAY
221 prompt "binutils extra config"
224 Extra flags passed onto ./configure when configuring
226 You can enter multiple arguments here, and arguments can contain spaces
227 if they are properly quoted (or escaped, but prefer quotes). Eg.:
228 --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
230 config BINUTILS_FOR_TARGET
232 prompt "binutils libraries for the target"
233 depends on ! BARE_METAL
236 Some utilities may need binutils libraries to be available on
237 the target, eg. oprofile.
239 if BINUTILS_FOR_TARGET
241 config BINUTILS_FOR_TARGET_IBERTY
246 config BINUTILS_FOR_TARGET_BFD
251 endif # BINUTILS_FOR_TARGET