9eaad202f1
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>
246 lines
8.2 KiB
Plaintext
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
|
|
|