51f5f62754
Improve external toolchain support * Do not put kernel-headers in the dependencies of BASE_TARGETS in the case where BR2_TOOLCHAIN_SOURCE is not y. The kernel headers are already supposed to be part of the external toolchain, so there's no need to download, extract and install them. * In the configuration system, don't display the kernel headers version selection list when an external toolchain is selected. This is implemented by moving the source "toolchain/kernel-headers/Config.in" inside the if BR2_TOOLCHAIN_SOURCE in toolchain/Config.in.2. * Change the description and help message of the BR2_LARGEFILE, BR2_INET_IPV6, BR2_INET_RPC, and BR2_SOFT_FLOAT option in toolchain/external-toolchain/Config.in. In the case of an external toolchain, the semantic of these options is not to enable large file support, IPV6 or RPC (since the toolchain is already compiled, it has been decided previously). Their semantic is to let Buildroot know about the characteristics of the external toolchain being used. As an improvement, we could guess these values automatically: - for BR2_LARGEFILE, look at the value of __UCLIBC_HAS_LFS__ in bits/uClibc_config.h in the libc headers directory. - for BR2_INET_RPC, look at the value of __UCLIBC_HAS_RPC__ in the same file - for BR2_INET_IPV6, look at the value of __UCLIBC_HAS_IPV6__ in the same file - for BR2_SOFT_FLOAT, look at the output of $(CC) -v 2>&1 | grep -- "--with-float=soft" But I'm not sure how this would be possible, since these values are used at configuration-time by other configuration options, not only at build time. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
76 lines
2.0 KiB
Groff
76 lines
2.0 KiB
Groff
#
|
|
|
|
if BR2_TOOLCHAIN_SOURCE
|
|
source "toolchain/kernel-headers/Config.in"
|
|
source "toolchain/uClibc/Config.in"
|
|
source "toolchain/binutils/Config.in"
|
|
source "toolchain/gcc/Config.in"
|
|
source "toolchain/ccache/Config.in"
|
|
source "toolchain/gdb/Config.in"
|
|
|
|
comment "Common Toolchain Options"
|
|
|
|
source "toolchain/elf2flt/Config.in"
|
|
source "toolchain/mklibs/Config.in"
|
|
source "toolchain/sstrip/Config.in"
|
|
|
|
config BR2_ENABLE_MULTILIB
|
|
bool "Enable multilib support?"
|
|
help
|
|
Build libraries to support different ABIs.
|
|
|
|
config BR2_LARGEFILE
|
|
bool "Enable large file (files > 2 GB) support?"
|
|
depends on !BR2_cris
|
|
help
|
|
Enable large file (files > 2 GB) support
|
|
|
|
config BR2_INET_IPV6
|
|
bool "Enable IPv6"
|
|
help
|
|
Enable IPv6.
|
|
|
|
config BR2_INET_RPC
|
|
bool "Enable RPC"
|
|
help
|
|
Enable RPC. RPC support is needed for nfs.
|
|
|
|
config BR2_USE_WCHAR
|
|
bool "Enable WCHAR support"
|
|
help
|
|
Enable WCHAR. WCHAR support is needed for several packages
|
|
|
|
config BR2_SOFT_FLOAT
|
|
bool "Use software floating point by default"
|
|
depends on BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_nios2
|
|
help
|
|
If your target CPU does not have a Floating Point Unit (FPU) or a
|
|
kernel FPU emulator, but you still wish to support floating point
|
|
functions, then everything will need to be compiled with soft
|
|
floating point support (-msoft-float).
|
|
|
|
Most people will answer N.
|
|
|
|
#config BR2_SOFT_FLOAT_FP
|
|
# bool "Use softfp"
|
|
|
|
config BR2_TARGET_OPTIMIZATION
|
|
string "Target Optimizations"
|
|
default "-Os -pipe"
|
|
help
|
|
Optimizations to use when building for the target host.
|
|
|
|
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
|