kumquat-buildroot/toolchain/toolchain-external/Config.in
Thomas Petazzoni 9eaad202f1 toolchain: rework thread options
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>
2010-12-13 22:26:41 +01:00

246 lines
8.2 KiB
Plaintext

if BR2_TOOLCHAIN_EXTERNAL
choice
prompt "Toolchain"
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009
bool "CodeSourcery ARM 2010.09"
depends on BR2_arm
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
Toolchain for the ARM architecture, from CodeSourcery. It
uses gcc 4.5.1, binutils 2.20, glibc 2.11 and gdb 7.2.50,
kernel headers 2.6.35.2. It has support for the following
variants:
- ARMv5TE, little endian, soft-float, glibc
- ARMv4T, little endian, soft-float, glibc
- ARMv7-A, Thumb 2, little endian, soft-float, glibc
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1
bool "CodeSourcery ARM 2010q1"
depends on BR2_arm
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
Toolchain for the ARM architecture, from CodeSourcery. It
uses gcc 4.4.1, binutils 2.19, glibc 2.11, gdb 7.0.50 and
kernel headers 2.6.32. It has support for the following
variants:
- ARMv5T, little endian, soft-float, glibc
- ARMv4T, little endian, soft-float, glibc
- ARMv7-A, Thumb 2, little endian, soft-float, glibc
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2009Q1
bool "CodeSourcery ARM 2009q1"
depends on BR2_arm
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
Toolchain for the ARM architecture, from CodeSourcery. It
uses gcc 4.3.3, binutils 2.19, glibc 2.8 and gdb 6.8 and
kernel headers 2.6.30. It has support for the following
variants:
- ARMv5T, little endian, soft-float, glibc
- ARMv4T, little endian, soft-float, glibc
- ARMv7-A, Thumb 2, little endian, soft-float, glibc
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44
bool "CodeSourcery MIPS 4.4"
depends on BR2_mips || BR2_mipsel
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
Toolchain for the MIPS architecture, from CodeSourcery. It
uses gcc 4.4.1, binutils 2.19, glibc 2.11, uClibc 0.9.30 and
gdb 7.0, kernel headers 2.6.32. It has support for the
following variants:
- MIPS32 O32 big endian glibc
- MIPS32 O32 little endian glibc
- MIPS32 big endian soft float glibc
- MIPS32 little endian soft float glibc
- MIPS32 big endian microMIPS glibc
- MIPS32 little endian microMIPS glibc
- MIPS32 big endian soft float microMIPS glibc
- MIPS32 little endian soft float microMIPS glibc
- MIPS32 big endian uclibc
- MIPS32 little endian uclibc
- MIPS32 big endian soft float uclibc
- MIPS32 little endian soft float uclibc
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
bool "CodeSoucery PowerPC 2010.09"
depends on BR2_powerpc
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
Toolchain for the PowerPC architecture, from
CodeSourcery. It uses gcc 4.5.1, binutils 2.20, glibc 2.11,
gdb 7.2.50 and kernel headers 2.6.35.2. It has support for
the following variants:
- 603 glibc, 32 bits
- 603 soft float glibc, 32 bits
- e600 altivec glibc, 32 bits
- e500v1 glibc, 32 bits
- e500v2 glibc, 32 bits
- e500mc glibc, 32 bits
- 970 glibc hard-float, 64 bits
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009
bool "CodeSoucery PowerPC 2010.09"
depends on BR2_sh
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_INSTALL_LIBSTDCPP
help
Toolchain for the SuperH architecture, from CodeSourcery. It
uses gcc 4.5.1, binutils 2.20, glibc 2.11, uClibc 0.9.30,
gdb 7.2.50 and kernel headers 2.6.35.2. It has support for
the following variants:
- SH4A, glibc, little endian
- SH4A, glibc, big endian
- SH4A, uClibc, little endian
- SH4A, uClibc, big endian
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM
bool "Custom toolchain"
help
Use this option to use a custom toolchain pre-installed on
your system.
endchoice
config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
bool "Download toolchain automatically"
default y
depends on !BR2_TOOLCHAIN_EXTERNAL_CUSTOM
help
When enabled, Buildroot will automatically download and
install the selected external toolchain. When disabled,
Buildroot will use a pre-installed toolchain.
config BR2_TOOLCHAIN_EXTERNAL_PATH
string "Toolchain path"
default "/path/to/toolchain/usr"
depends on !BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
help
Path to where the external toolchain is installed.
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
string "Toolchain prefix"
depends on BR2_TOOLCHAIN_EXTERNAL_CUSTOM
default "$(ARCH)-linux"
config BR2_TOOLCHAIN_EXTERNAL_PREFIX
string
default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2009Q1
default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1
default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009
default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44
default "powerpc-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
default "sh4-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009
default $(BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX) \
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
config BR2_TOOLCHAIN_EXTERNAL_GLIBC
bool
select BR2_LARGEFILE
select BR2_INET_IPV6
select BR2_INET_RPC
select BR2_USE_WCHAR
select BR2_ENABLE_LOCALE
select BR2_PROGRAM_INVOCATION
select BR2_TOOLCHAIN_HAS_THREADS
config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
bool
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
choice
prompt "External toolchain C library"
default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
bool "uClibc"
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
bool "glibc"
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
endchoice
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
config BR2_TOOLCHAIN_EXTERNAL_LARGEFILE
bool "Toolchain has large file support?"
select BR2_LARGEFILE
help
Select this option if your external toolchain supports
largefile. If you don't know, leave the default value,
Buildroot will tell you if it's correct or not.
config BR2_TOOLCHAIN_EXTERNAL_INET_IPV6
bool "Toolchain has IPv6 support?"
select BR2_INET_IPV6
help
Select this option if your external toolchain supports
IPv6. If you don't know, leave the default value, Buildroot
will tell you if it's correct or not.
config BR2_TOOLCHAIN_EXTERNAL_INET_RPC
bool "Toolchain has RPC support ?"
select BR2_INET_RPC
help
Select this option if your external toolchain supports
RPC. If you don't know, leave the default value, Buildroot
will tell you if it's correct or not.
config BR2_TOOLCHAIN_EXTERNAL_WCHAR
bool "Toolchain has WCHAR support?"
select BR2_USE_WCHAR
help
Select this option if your external toolchain supports
WCHAR. If you don't know, leave the default value, Buildroot
will tell you if it's correct or not.
config BR2_TOOLCHAIN_EXTERNAL_LOCALE
bool "Toolchain has locale support?"
select BR2_TOOLCHAIN_EXTERNAL_WCHAR
select BR2_ENABLE_LOCALE
help
Select this option if your external toolchain has locale
support. If you don't know, leave the default value,
Buildroot will tell you if it's correct or not.
config BR2_TOOLCHAIN_EXTERNAL_PROGRAM_INVOCATION
bool "Toolchain has program invocation support?"
select BR2_PROGRAM_INVOCATION
help
Select this option if your external toolchain has program
invocation support. If you don't know, leave the default
value, Buildroot will tell you if it's correct or not.
config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
bool "Toolchain has threads support?"
select BR2_TOOLCHAIN_HAS_THREADS
help
Select this option if your external toolchain has thread
support. If you don't know, leave the default value,
Buildroot will tell you if it's correct or not.
endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
config BR2_TOOLCHAIN_EXTERNAL_CXX
bool "Toolchain has C++ support?"
select BR2_INSTALL_LIBSTDCPP
help
Select this option if your external toolchain has C++
support. If you don't know, leave the default value,
Buildroot will tell you if it's correct or not.
endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM
endif # BR2_TOOLCHAIN_EXTERNAL