The selection of linuxthreads, linuxthreads old or NPTL doesn't make a lot of sense for external toolchains. So, instead, we : * Introduce an hidden BR2_TOOLCHAIN_HAS_THREADS option, which must be selected by toolchain specific options when thread support is available. Package needing to test thread support should use this option. * Move the none/linuxthreads/linuxthreads old/NPTL selection to Buildroot internal toolchain configuration. * Add an option in external toolchain to tell if thread support is available or not in the external toolchain. We assume that glibc without threads is not possible, as Ulrich Drepper said in http://sourceware.org/ml/libc-alpha/2005-08/msg00091.html ffmpeg, dmalloc and openvpn are fixed to use the new BR2_TOOLCHAIN_HAS_THREADS option. For openvpn, --enable-threads=posix is no longer used, as the configure script doesn't even understand this option. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
135 lines
4.0 KiB
Groff
135 lines
4.0 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.
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_CXX
|
|
bool "Enable C++ support"
|
|
select BR2_INSTALL_LIBSTDCPP
|
|
depends on !(! BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && \
|
|
BR2_TOOLCHAIN_BUILDROOT_LOCALE && \
|
|
BR2_UCLIBC_VERSION_0_9_31)
|
|
help
|
|
Enable this option if you want your toolchain to support the
|
|
C++ language and you want C++ libraries to be installed on
|
|
your target system.
|
|
|
|
comment "C++ support broken in uClibc 0.9.31 with locale enabled with gcc 4.2"
|
|
depends on !BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && \
|
|
BR2_TOOLCHAIN_BUILDROOT_LOCALE && \
|
|
BR2_UCLIBC_VERSION_0_9_31
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
|
|
bool "Enable stack protection support"
|
|
help
|
|
Enable stack smashing protection support using GCCs
|
|
-fstack-protector[-all] option.
|
|
|
|
See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
|
|
for details.
|
|
|
|
choice
|
|
prompt "Thread library implementation"
|
|
default BR2_PTHREADS_OLD
|
|
help
|
|
Use this option to select the thread library implementation
|
|
that should be used in your toolchain. Not all thread
|
|
variants work with all versions of uClibc, the "linuxthreads
|
|
(stable/old)" may be a working fallback if you need
|
|
threading at all.
|
|
|
|
config BR2_PTHREADS_NONE
|
|
bool "none"
|
|
|
|
config BR2_PTHREADS
|
|
bool "linuxthreads"
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
config BR2_PTHREADS_OLD
|
|
bool "linuxthreads (stable/old)"
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
config BR2_PTHREADS_NATIVE
|
|
bool "Native POSIX Threading (NPTL)"
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_UCLIBC_VERSION_SNAPSHOT
|
|
endchoice
|
|
|
|
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
|