toolchain: Improve C library option selection
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 13 Dec 2010 16:27:37 +0000 (17:27 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 13 Dec 2010 20:54:28 +0000 (21:54 +0100)
commitfff711786a9ea6a038f5753c5d8599e5cede07c6
tree5c6cf11dd6fca5c416506ff214ee4368ea256d83
parent742f393ffb0d13c33d4f1184fbaf906ae2310470
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>
toolchain/toolchain-buildroot/Config.in.2
toolchain/toolchain-common.in
toolchain/toolchain-crosstool-ng/Config.in
toolchain/toolchain-external/Config.in