mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-22 06:07:49 +00:00
db5b6a4915
It's been some time now we've had those features, so unmark them being experimental. It does not mean everything is perfect, but may gather some more testing of those features. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
261 lines
6.3 KiB
Plaintext
261 lines
6.3 KiB
Plaintext
# binutils options
|
|
|
|
comment "GNU binutils"
|
|
|
|
choice
|
|
bool
|
|
prompt "binutils version"
|
|
# Don't remove next line
|
|
# CT_INSERT_VERSION_BELOW
|
|
|
|
config BINUTILS_V_2_22
|
|
bool
|
|
prompt "2.22"
|
|
select BINUTILS_2_22_or_later
|
|
|
|
config BINUTILS_V_2_21_53
|
|
bool
|
|
prompt "2.21.53"
|
|
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_CUSTOM
|
|
bool
|
|
prompt "Custom binutils"
|
|
depends on EXPERIMENTAL
|
|
select BINUTILS_2_22_or_later
|
|
|
|
endchoice
|
|
|
|
if BINUTILS_CUSTOM
|
|
|
|
config BINUTILS_CUSTOM_LOCATION
|
|
string
|
|
prompt "Full path to custom binutils source"
|
|
default ""
|
|
help
|
|
Enter the path to the directory (or tarball) of your source for binutils,
|
|
or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/binutils
|
|
|
|
endif # BINUTILS_CUSTOM
|
|
|
|
config BINUTILS_VERSION
|
|
string
|
|
# Don't remove next line
|
|
# CT_INSERT_VERSION_STRING_BELOW
|
|
default "2.22" if BINUTILS_V_2_22
|
|
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 "custom" if BINUTILS_CUSTOM
|
|
|
|
config BINUTILS_2_22_or_later
|
|
bool
|
|
select BINUTILS_2_21_or_later
|
|
select BINUTILS_HAS_GOLD
|
|
select BINUTILS_HAS_PLUGINS
|
|
|
|
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
|
|
select BINUTILS_HAS_HASH_STYLE
|
|
|
|
config BINUTILS_HAS_HASH_STYLE
|
|
bool
|
|
|
|
config BINUTILS_HAS_GOLD
|
|
bool
|
|
|
|
# gold only suports the listed architectures
|
|
config BINUTILS_GOLD_SUPPORTS_ARCH
|
|
bool
|
|
default y if ARCH_arm
|
|
default y if ARCH_x86
|
|
|
|
config BINUTILS_HAS_PLUGINS
|
|
bool
|
|
|
|
config BINUTILS_HAS_PKGVERSION_BUGURL
|
|
bool
|
|
|
|
# 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
|
|
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
|
|
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
|
|
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
|