| # binutils options |
| |
| comment "GNU binutils" |
| |
| choice |
| bool |
| prompt "binutils version" |
| # Don't remove next line |
| # CT_INSERT_VERSION_BELOW |
| |
| config BINUTILS_V_2_21_53 |
| bool |
| prompt "2.21.53 (EXPERIMENTAL)" |
| depends on EXPERIMENTAL |
| select BINUTILS_2_21_or_later |
| |
| config BINUTILS_V_2_21_1a |
| bool |
| prompt "2.21.1a" |
| select BINUTILS_2_21_or_later |
| |
| config BINUTILS_V_2_20_1a |
| bool |
| prompt "2.20.1a" |
| select BINUTILS_2_20_or_later |
| |
| config BINUTILS_V_2_19_1a |
| bool |
| prompt "2.19.1a" |
| select BINUTILS_2_19_or_later |
| |
| config BINUTILS_V_2_18a |
| bool |
| prompt "2.18a" |
| select BINUTILS_2_18_or_later |
| |
| config BINUTILS_V_2_17a |
| bool |
| prompt "2.17a (OBSOLETE)" |
| depends on OBSOLETE |
| |
| config BINUTILS_V_2_16_1a |
| bool |
| prompt "2.16.1a (OBSOLETE)" |
| depends on OBSOLETE |
| |
| endchoice |
| |
| config BINUTILS_VERSION |
| string |
| # Don't remove next line |
| # CT_INSERT_VERSION_STRING_BELOW |
| default "2.21.53" if BINUTILS_V_2_21_53 |
| default "2.21.1a" if BINUTILS_V_2_21_1a |
| default "2.20.1a" if BINUTILS_V_2_20_1a |
| default "2.19.1a" if BINUTILS_V_2_19_1a |
| default "2.18a" if BINUTILS_V_2_18a |
| default "2.17a" if BINUTILS_V_2_17a |
| default "2.16.1a" if BINUTILS_V_2_16_1a |
| |
| config BINUTILS_2_21_or_later |
| bool |
| select BINUTILS_2_20_or_later |
| select BINUTILS_HAS_GOLD |
| select BINUTILS_HAS_PLUGINS |
| |
| config BINUTILS_2_20_or_later |
| bool |
| select BINUTILS_2_19_or_later |
| |
| config BINUTILS_2_19_or_later |
| bool |
| select BINUTILS_2_18_or_later |
| |
| config BINUTILS_2_18_or_later |
| bool |
| select BINUTILS_HAS_PKGVERSION_BUGURL |
| |
| config BINUTILS_HAS_GOLD |
| bool |
| |
| config BINUTILS_GOLD_SUPPORTS_ARCH |
| bool |
| |
| config BINUTILS_HAS_PLUGINS |
| bool |
| |
| config BINUTILS_HAS_PKGVERSION_BUGURL |
| bool |
| |
| # Only these architectures have support in gold |
| config ARCH_arm |
| select BINUTILS_GOLD_SUPPORTS_ARCH |
| |
| config ARCH_x86 |
| select BINUTILS_GOLD_SUPPORTS_ARCH |
| |
| # Force using the BFD linker if needed |
| # This is the case for some C libraries (eg. glibc and |
| # eglibc at least) and affected components can select this |
| config BINUTILS_FORCE_LD_BFD |
| bool |
| |
| choice |
| bool |
| prompt "Linkers to enable" |
| |
| config BINUTILS_LINKER_LD |
| bool |
| prompt "ld" |
| help |
| The historical, bfd linker. |
| |
| config BINUTILS_LINKER_GOLD |
| bool |
| prompt "gold" |
| depends on BINUTILS_HAS_GOLD |
| depends on BINUTILS_GOLD_SUPPORTS_ARCH |
| depends on ! BINUTILS_FORCE_LD_BFD |
| depends on EXPERIMENTAL |
| select BINUTILS_GOLD_INSTALLED |
| help |
| gold is a new, optimised, multi-threaded linker with support |
| for plugins. Designed to be a drop-in replacement for the |
| original linker, ld, it can be much faster, with a 5:1 or |
| bigger ratio being not uncommon, YMMV. |
| |
| config BINUTILS_LINKER_LD_GOLD |
| bool |
| prompt "ld, gold" |
| depends on BINUTILS_HAS_GOLD |
| depends on BINUTILS_GOLD_SUPPORTS_ARCH |
| depends on EXPERIMENTAL |
| select BINUTILS_GOLD_INSTALLED |
| select BINUTILS_LINKER_BOTH |
| help |
| Both the historical ld and the new gold linkers will be |
| installed, with ld being the default linker used. |
| |
| See help for gold, above. |
| |
| config BINUTILS_LINKER_GOLD_LD |
| bool |
| prompt "gold, ld" |
| depends on BINUTILS_HAS_GOLD |
| depends on BINUTILS_GOLD_SUPPORTS_ARCH |
| depends on EXPERIMENTAL |
| select BINUTILS_GOLD_INSTALLED |
| select BINUTILS_LINKER_BOTH |
| select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD |
| help |
| Both the historical ld and the new gold linkers will be |
| installed, with gold being the default linker used. |
| |
| See help for gold, above. |
| |
| endchoice # Enable linkers |
| |
| if BINUTILS_LINKER_GOLD |
| comment "WARNING! gold is not capable of" |
| comment "| building glibc/eglibc!" |
| endif # BINUTILS_LINKER_GOLD |
| |
| config BINUTILS_GOLD_INSTALLED |
| bool |
| |
| config BINUTILS_GOLD_THREADS |
| bool |
| prompt "| Enable threaded gold" |
| depends on BINUTILS_GOLD_INSTALLED |
| help |
| When configured with threads, gold can link in parallel, |
| possibly cooperating with a make jobserver. |
| |
| config BINUTILS_LINKER_BOTH |
| bool |
| |
| config BINUTILS_LINKERS_LIST |
| string |
| default "ld" if BINUTILS_LINKER_LD |
| default "gold" if BINUTILS_LINKER_GOLD |
| default "ld,gold" if BINUTILS_LINKER_LD_GOLD |
| default "gold,ld" if BINUTILS_LINKER_GOLD_LD |
| |
| config BINUTILS_LD_WRAPPER |
| bool |
| prompt "| Add ld wrapper" |
| depends on BINUTILS_LINKER_BOTH |
| help |
| Add an ld wrapper that calls to either gold or ld. |
| |
| By default, the wrapper will call to the default wrapper, |
| but if you set the environment variable CTNG_LD_IS, you |
| can change which linker will get called: |
| CTNG_LD_IS=gold will unconditionally call the gold linker |
| CTNG_LD_IS=bfd will unconditionally call the old bfd ld linker |
| |
| config BINUTILS_LINKER_DEFAULT |
| string |
| default "bfd" if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD |
| default "gold" if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD |
| |
| config BINUTILS_PLUGINS |
| bool |
| prompt "Enable support for plugins" |
| depends on BINUTILS_HAS_PLUGINS |
| depends on ! STATIC_TOOLCHAIN |
| help |
| binutils can be extended through the use of plugins. |
| Especially, gold can use the lto-plugin, as installed |
| by gcc, to handle LTO. |
| |
| config BINUTILS_EXTRA_CONFIG_ARRAY |
| string |
| prompt "binutils extra config" |
| default "" |
| help |
| Extra flags passed onto ./configure when configuring |
| |
| You can enter multiple arguments here, and arguments can contain spaces |
| if they are properly quoted (or escaped, but prefer quotes). Eg.: |
| --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space |
| |
| config BINUTILS_FOR_TARGET |
| bool |
| prompt "binutils libraries for the target" |
| depends on ! BARE_METAL |
| depends on ! BACKEND |
| help |
| Some utilities may need binutils libraries to be available on |
| the target, eg. oprofile. |
| |
| if BINUTILS_FOR_TARGET |
| |
| config BINUTILS_FOR_TARGET_IBERTY |
| bool |
| prompt "libiberty" |
| default y |
| |
| config BINUTILS_FOR_TARGET_BFD |
| bool |
| prompt "libbfd" |
| default y |
| |
| endif # BINUTILS_FOR_TARGET |