25ae113445
Add a new option for custom external toolchains to enable OpenMP support. Signed-off-by: Ed Blake <ed.blake@sondrel.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
445 lines
13 KiB
Plaintext
445 lines
13 KiB
Plaintext
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_PREFIX
|
|
default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
|
|
|
|
config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
|
|
default "toolchain-external-custom"
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_URL
|
|
string "Toolchain URL"
|
|
depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
|
|
help
|
|
URL of the custom toolchain tarball to download and install.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH
|
|
string "Toolchain relative binary path"
|
|
default "bin"
|
|
depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
|
|
help
|
|
Path to where the binaries (e.g. the compiler) can be found,
|
|
relative to the downloaded toolchain root directory. The
|
|
default is "bin" and is correct for most toolchains.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
|
|
string "Toolchain prefix"
|
|
default "$(ARCH)-linux"
|
|
|
|
choice
|
|
bool "External toolchain gcc version"
|
|
default BR2_TOOLCHAIN_EXTERNAL_GCC_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
|
default BR2_TOOLCHAIN_EXTERNAL_GCC_7 if BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
default BR2_TOOLCHAIN_EXTERNAL_GCC_6 if BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
default BR2_TOOLCHAIN_EXTERNAL_GCC_5 if BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
default BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
|
default BR2_TOOLCHAIN_EXTERNAL_GCC_4_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
default BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
|
|
help
|
|
Set to the gcc version that is used by your external
|
|
toolchain.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_8
|
|
bool "8.x"
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_7
|
|
bool "7.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_7
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_6
|
|
bool "6.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_5
|
|
bool "5.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_6
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_9
|
|
bool "4.9.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_8
|
|
bool "4.8.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_7
|
|
bool "4.7.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_6
|
|
bool "4.6.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_5
|
|
bool "4.5.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_4
|
|
bool "4.4.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
|
|
bool "4.3.x"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
|
|
bool "older"
|
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8
|
|
help
|
|
Use this option if your GCC version is older than any of the
|
|
above.
|
|
|
|
Note that the Buildroot community doesn't do any testing with
|
|
such old toolchains. Some packages may fail to build in
|
|
surprising ways, or the generated root filesystem may not
|
|
work at all. Use such old toolchains at your own risk.
|
|
|
|
endchoice
|
|
|
|
choice
|
|
bool "External toolchain kernel headers series"
|
|
default BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
|
|
help
|
|
Set to the kernel headers version that were used to build
|
|
this external toolchain.
|
|
|
|
This is used to hide/show some packages that have strict
|
|
requirements on the version of kernel headers.
|
|
|
|
If unsure what version your toolchain is using, you can look
|
|
at the value of LINUX_VERSION_CODE in linux/version.h in your
|
|
toolchain. The Linux version is M.m.p, with:
|
|
M = ( LINUX_VERSION_CODE >> 16 ) & 0xFF
|
|
m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF
|
|
p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_0
|
|
bool "5.0.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20
|
|
bool "4.20.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19
|
|
bool "4.19.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18
|
|
bool "4.18.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17
|
|
bool "4.17.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16
|
|
bool "4.16.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15
|
|
bool "4.15.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14
|
|
bool "4.14.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13
|
|
bool "4.13.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12
|
|
bool "4.12.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11
|
|
bool "4.11.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10
|
|
bool "4.10.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9
|
|
bool "4.9.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8
|
|
bool "4.8.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7
|
|
bool "4.7.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6
|
|
bool "4.6.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5
|
|
bool "4.5.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4
|
|
bool "4.4.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3
|
|
bool "4.3.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2
|
|
bool "4.2.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1
|
|
bool "4.1.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0
|
|
bool "4.0.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19
|
|
bool "3.19.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18
|
|
bool "3.18.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17
|
|
bool "3.17.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16
|
|
bool "3.16.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15
|
|
bool "3.15.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14
|
|
bool "3.14.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13
|
|
bool "3.13.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12
|
|
bool "3.12.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11
|
|
bool "3.11.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10
|
|
bool "3.10.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9
|
|
bool "3.9.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8
|
|
bool "3.8.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7
|
|
bool "3.7.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6
|
|
bool "3.6.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5
|
|
bool "3.5.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4
|
|
bool "3.4.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3
|
|
bool "3.3.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2
|
|
bool "3.2.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1
|
|
bool "3.1.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0
|
|
bool "3.0.x"
|
|
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD
|
|
bool "2.6.x"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "External toolchain C library"
|
|
default BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
|
|
bool "uClibc/uClibc-ng"
|
|
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
|
help
|
|
Select this option if your external toolchain uses the
|
|
uClibc (available from http://www.uclibc.org/)
|
|
or uClibc-ng (available from http://www.uclibc-ng.org)
|
|
C library.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC
|
|
bool "glibc/eglibc"
|
|
depends on !BR2_STATIC_LIBS
|
|
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
help
|
|
Select this option if your external toolchain uses the GNU C
|
|
library (available from https://www.gnu.org/software/libc/)
|
|
or its variant the eglibc library (http://www.eglibc.org/).
|
|
|
|
Note: eglibc is a variant of glibc that (among other things)
|
|
can be configured to exclude some of its features. Using a
|
|
toolchain with eglibc configured to exclude key features may
|
|
cause build failures to some packages.
|
|
|
|
comment "(e)glibc only available with shared lib support"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL
|
|
bool "musl (experimental)"
|
|
select BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
help
|
|
Select this option if your external toolchain uses the
|
|
'musl' C library, available from http://www.musl-libc.org/.
|
|
|
|
endchoice
|
|
|
|
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
|
|
|
|
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_HAS_THREADS
|
|
bool "Toolchain has threads support?"
|
|
default y
|
|
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.
|
|
|
|
if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG
|
|
bool "Toolchain has threads debugging support?"
|
|
default y
|
|
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
|
help
|
|
Select this option if your external toolchain has thread
|
|
debugging 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_NPTL
|
|
bool "Toolchain has NPTL threads support?"
|
|
default y
|
|
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
help
|
|
Select this option if your external toolchain uses the NPTL
|
|
(Native Posix Thread Library) implementation of Posix
|
|
threads. If you don't know, leave the default value,
|
|
Buildroot will tell you if it's correct or not.
|
|
|
|
endif # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS
|
|
|
|
endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP
|
|
bool "Toolchain has SSP support?"
|
|
default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
default y if BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
help
|
|
Selection this option if your external toolchain has Stack
|
|
Smashing Protection support enabled. 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?"
|
|
default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
|
depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_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_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.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_FORTRAN
|
|
bool "Toolchain has Fortran support?"
|
|
select BR2_TOOLCHAIN_HAS_FORTRAN
|
|
help
|
|
Select this option if your external toolchain has Fortran
|
|
support. If you don't know, leave the default value,
|
|
Buildroot will tell you if it's correct or not.
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_OPENMP
|
|
bool "Toolchain has OpenMP support?"
|
|
select BR2_TOOLCHAIN_HAS_OPENMP
|
|
help
|
|
Select this option if your external toolchain has OpenMP
|
|
support. If you don't know, leave the default value,
|
|
Buildroot will tell you if it's correct or not.
|
|
|
|
config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS
|
|
string "Extra toolchain libraries to be copied to target"
|
|
help
|
|
If your external toolchain provides extra libraries that
|
|
need to be copied to the target filesystem, enter them
|
|
here, separated by spaces. They will be copied to the
|
|
target's /lib directory.
|
|
|
|
endif
|