yann@1345: # binutils options yann@1345: yann@1345: comment "GNU binutils" yann@1345: yann@1345: choice yann@1345: bool yann@1345: prompt "binutils version" yann@1535: # Don't remove next line yann@1535: # CT_INSERT_VERSION_BELOW yann@1345: bryanhundven@2226: config BINUTILS_V_2_21 bryanhundven@2226: bool bryanhundven@2226: depends on EXPERIMENTAL bryanhundven@2226: prompt "2.21" yann@2243: select BINUTILS_2_21_or_later bryanhundven@2226: js@2012: config BINUTILS_V_2_20_1 js@2012: bool js@2012: prompt "2.20.1" js@2012: yann@1614: config BINUTILS_V_2_20 yann@1614: bool yann@1614: prompt "2.20" yann@1614: yann@1534: config BINUTILS_V_2_19_1 yann@1345: bool yann@1534: prompt "2.19.1" yann@1345: yann@1534: config BINUTILS_V_2_19 yann@1345: bool yann@1534: prompt "2.19" yann@1345: yann@1534: config BINUTILS_V_2_18 yann@1345: bool yann@1534: prompt "2.18" yann@1345: yann@1534: config BINUTILS_V_2_17 yann@1345: bool yann@1615: prompt "2.17 (OBSOLETE)" yann@1615: depends on OBSOLETE yann@1345: yann@1534: config BINUTILS_V_2_16_1 yann@1345: bool yann@1615: prompt "2.16.1 (OBSOLETE)" yann@1615: depends on OBSOLETE yann@1345: yann@1345: endchoice yann@1345: yann@1345: config BINUTILS_VERSION yann@1345: string yann@1535: # Don't remove next line yann@1535: # CT_INSERT_VERSION_STRING_BELOW bryanhundven@2226: default "2.21" if BINUTILS_V_2_21 js@2012: default "2.20.1" if BINUTILS_V_2_20_1 yann@1614: default "2.20" if BINUTILS_V_2_20 yann@1534: default "2.19.1" if BINUTILS_V_2_19_1 yann@1534: default "2.19" if BINUTILS_V_2_19 yann@1534: default "2.18" if BINUTILS_V_2_18 yann@1534: default "2.17" if BINUTILS_V_2_17 yann@1534: default "2.16.1" if BINUTILS_V_2_16_1 yann@1345: yann@2243: config BINUTILS_2_21_or_later yann@2243: bool yann@2244: select BINUTILS_HAS_GOLD yann@2245: select BINUTILS_HAS_PLUGINS yann@2244: yann@2244: config BINUTILS_HAS_GOLD yann@2244: bool yann@2244: yann@2245: config BINUTILS_HAS_PLUGINS yann@2245: bool yann@2245: yann@2244: if BINUTILS_HAS_GOLD yann@2244: yann@2244: choice yann@2244: bool yann@2244: prompt "Linkers to enable" yann@2244: yann@2244: config BINUTILS_LINKER_LD yann@2244: bool yann@2244: prompt "ld" yann@2244: help yann@2244: The historical, bfd linker. yann@2244: yann@2244: config BINUTILS_LINKER_GOLD yann@2244: bool yann@2244: prompt "gold" yann@2244: depends on BINUTILS_HAS_GOLD yann@2244: depends on EXPERIMENTAL yann@2244: select BINUTILS_GOLD_INSTALLED yann@2244: help yann@2244: gold is a new, optimised, multi-threaded linker with support yann@2244: for plugins. Designed to be a drop-in replacement for the yann@2244: original linker, ld, it can be much faster, with a 5:1 or yann@2244: bigger ratio being not uncommon, YMMV. yann@2244: yann@2244: config BINUTILS_LINKER_LD_GOLD yann@2244: bool yann@2244: prompt "ld, gold" yann@2244: depends on BINUTILS_HAS_GOLD yann@2244: depends on EXPERIMENTAL yann@2244: select BINUTILS_GOLD_INSTALLED yann@2244: help yann@2244: Both the historical ld and the new gold linkers will be yann@2244: installed, with ld being the default linker used. yann@2244: yann@2244: See help for gold, above. yann@2244: yann@2244: config BINUTILS_LINKER_GOLD_LD yann@2244: bool yann@2244: prompt "gold, ld" yann@2244: depends on BINUTILS_HAS_GOLD yann@2244: depends on EXPERIMENTAL yann@2244: select BINUTILS_GOLD_INSTALLED yann@2244: help yann@2244: Both the historical ld and the new gold linkers will be yann@2244: installed, with gold being the default linker used. yann@2244: yann@2244: See help for gold, above. yann@2244: yann@2244: endchoice # Enable linkers yann@2244: yann@2244: config BINUTILS_GOLD_INSTALLED yann@2244: bool yann@2244: yann@2246: config BINUTILS_GOLD_THREADS yann@2246: bool yann@2246: prompt "| Enable threaded gold" yann@2246: depends on BINUTILS_GOLD_INSTALLED yann@2246: help yann@2246: When configured with threads, gold can link in parallel, yann@2246: possibly cooperating with a make jobserver. yann@2246: yann@2244: config BINUTILS_LINKERS_LIST yann@2244: string yann@2244: default "ld" if BINUTILS_LINKER_LD yann@2244: default "gold" if BINUTILS_LINKER_GOLD yann@2244: default "ld,gold" if BINUTILS_LINKER_LD_GOLD yann@2244: default "gold,ld" if BINUTILS_LINKER_GOLD_LD yann@2244: yann@2244: endif # BINUTILS_HAS_GOLD yann@2243: yann@2245: config BINUTILS_PLUGINS yann@2245: bool yann@2245: prompt "Enable support for plugins" yann@2245: depends on BINUTILS_HAS_PLUGINS yann@2245: help yann@2245: binutils can be extended through the use of plugins. yann@2245: Especially, gold can use the lto-plugin, as installed yann@2245: by gcc, to handle LTO. yann@2245: yann@1345: config BINUTILS_EXTRA_CONFIG yann@1345: string yann@1345: prompt "binutils extra config" yann@1345: default "" yann@1345: help yann@1345: Extra flags passed onto ./configure when configuring yann@1345: yann@1345: config BINUTILS_FOR_TARGET yann@1345: bool yann@1345: prompt "binutils libraries for the target" yann@1345: depends on ! BARE_METAL yann@1844: depends on ! BACKEND yann@1345: default n yann@1345: help yann@1345: Some utilities may need binutils libraries to be available on yann@1345: the target, eg. oprofile. yann@1345: yann@1345: if BINUTILS_FOR_TARGET yann@1345: yann@1345: config BINUTILS_FOR_TARGET_IBERTY yann@1345: bool yann@1345: prompt "libiberty" yann@1345: default y yann@1345: yann@1345: config BINUTILS_FOR_TARGET_BFD yann@1345: bool yann@1345: prompt "libbfd" yann@1345: default y yann@1345: yann@1345: endif # BINUTILS_FOR_TARGET