kumquat-buildroot/toolchain/toolchain-buildroot/Config.in.2
Thomas Petazzoni fff711786a toolchain: Improve C library option selection
Turn BR2_LARGEFILE, BR2_INET_IPV6, BR2_INET_RPC, BR2_USE_WCHAR,
BR2_ENABLE_LOCALE and BR2_PROGRAM_INVOCATION into hidden options.

Then, for Buildroot toolchains, external toolchains and Crosstool-NG
toolchains, provide visible options that selects the hidden options.

This allows :

 * To show a different label and help text in the case of Buildroot
   toolchain (do you want to enable feature X ?) and in the case of
   external toolchain (is feature X available in your toolchain ?)

 * To not show any option when a glibc external toolchain is selected
   (since glibc is assumed to support all of largefile, IPv6, RPC,
   WCHAR, locale and program invocation) and have them all selected in
   that case.

There is some amount of duplication between Buildroot toolchain config
options and Crosstool-NG toolchain config options, because kconfig
doesn't allow to source the same Config.in file twice (even if under
mutually exclusive conditions). This duplication is more readable that
the hack that consists in splitting files in multiple pieces.

However, this commit changes the name of the options visible in the
configuration interface, so existing .config files will have to be
updated accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 21:54:28 +01:00

83 lines
2.4 KiB
Groff

# Buildroot backend specific options
if BR2_TOOLCHAIN_BUILDROOT
comment "Toolchain Options"
config BR2_TOOLCHAIN_BUILDROOT_LARGEFILE
bool "Enable large file (files > 2 GB) support"
select BR2_LARGEFILE
help
Enable this option if you want your toolchain to support
files bigger than 2 GB.
config BR2_TOOLCHAIN_BUILDROOT_INET_IPV6
bool "Enable IPv6 support"
select BR2_INET_IPV6
help
Enable this option if you want your toolchain to support
IPv6.
config BR2_TOOLCHAIN_BUILDROOT_INET_RPC
bool "Enable RPC support"
select BR2_INET_RPC
help
Enable this option if you want your toolchain to support
RPC (needed for NFS, for example).
config BR2_TOOLCHAIN_BUILDROOT_WCHAR
bool "Enable WCHAR support"
select BR2_USE_WCHAR
help
Enable this option if you want your toolchain to support
wide characters (i.e characters longer than 8 bits, needed
for locale support).
config BR2_TOOLCHAIN_BUILDROOT_LOCALE
bool "Enable toolchain locale/i18n support"
select BR2_TOOLCHAIN_BUILDROOT_WCHAR
select BR2_ENABLE_LOCALE
help
Enable this option if you want your toolchain to support
localization and internationalization.
config BR2_TOOLCHAIN_BUILDROOT_PROGRAM_INVOCATION
bool "Enable 'program invocation name' support"
select BR2_PROGRAM_INVOCATION
help
Enable this option if you want your toolchain to support the
GNU-specific program_invocation_name and
program_invocation_short_name strings. Some GNU packages
(like tar and coreutils) utilize these for extra useful
output, but in general are not required.
source "toolchain/elf2flt/Config.in"
source "toolchain/mklibs/Config.in"
source "toolchain/sstrip/Config.in"
config BR2_VFP_FLOAT
bool "Use ARM Vector Floating Point unit"
depends on !BR2_SOFT_FLOAT
depends on BR2_arm || BR2_armeb
help
Setting this option will enable the "-mfpu=vfp" option.
If your ARM CPU has a Vector Floating Point Unit (VFP)
and the toolchain supports the option, then the
code can be optimized.
Most people will answer N.
config BR2_CROSS_TOOLCHAIN_TARGET_UTILS
bool "Include target utils in cross toolchain"
default y
help
When using buildroot to build a deployable cross toolchain,
it is handy to include certain target apps with that toolchain
as a convenience.
Examples include ldd, gdbserver, and strace.
Answer Y if you want these apps (if built) copied into the
cross toolchain dir under <arch>-linux-uclibc/target_utils/.
endif