2007-09-26 23:12:38 +02:00
|
|
|
if BR2_TOOLCHAIN_EXTERNAL
|
2010-12-13 17:27:39 +01:00
|
|
|
|
2016-08-08 20:34:59 +02:00
|
|
|
comment "Toolchain External Options"
|
|
|
|
|
2009-05-29 18:37:41 +02:00
|
|
|
choice
|
2010-12-13 17:27:39 +01:00
|
|
|
prompt "Toolchain"
|
2007-02-06 19:19:38 +01:00
|
|
|
|
2016-06-08 23:40:54 +02:00
|
|
|
comment "glibc toolchains only available with shared lib support"
|
2014-12-03 22:41:29 +01:00
|
|
|
depends on BR2_STATIC_LIBS
|
2013-11-11 18:57:32 +01:00
|
|
|
|
2016-11-07 02:20:00 +01:00
|
|
|
# Kept toolchains sorted by architecture in order to use some toolchain
|
|
|
|
# as default choice
|
|
|
|
|
2018-10-09 22:07:01 +02:00
|
|
|
# Aarch64 (use ARM toolchain by default)
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in"
|
2016-11-07 02:20:00 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
|
2016-11-07 02:20:01 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in"
|
2016-11-07 02:20:00 +01:00
|
|
|
|
2018-06-28 09:24:22 +02:00
|
|
|
# Aarch64 big-endian
|
2018-10-09 22:07:02 +02:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in"
|
2018-06-28 09:24:22 +02:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in"
|
|
|
|
|
2016-11-07 02:20:16 +01:00
|
|
|
# ARC
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in"
|
|
|
|
|
2018-10-09 22:07:00 +02:00
|
|
|
# ARM (use ARM toolchain by default)
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in"
|
2016-11-07 02:20:02 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in"
|
2016-11-07 02:20:03 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in"
|
2016-11-07 02:20:02 +01:00
|
|
|
|
2016-11-07 02:20:05 +01:00
|
|
|
# ARM big-endian
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in"
|
2015-10-27 00:49:40 +01:00
|
|
|
|
2016-11-07 02:20:07 +01:00
|
|
|
# MIPS (use codesourcery toolchain by default)
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in"
|
2016-11-07 02:20:08 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in"
|
2016-11-07 02:20:09 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in"
|
2016-11-07 02:20:07 +01:00
|
|
|
|
2016-11-07 02:20:10 +01:00
|
|
|
# NIOSII
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in"
|
|
|
|
|
2017-06-16 05:32:47 +02:00
|
|
|
# x86_64
|
2016-11-07 02:20:12 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in"
|
|
|
|
|
2016-11-07 02:20:15 +01:00
|
|
|
# Kept last, so it remains the non-default choice, unless there isn't
|
|
|
|
# any available toolchain profile for the currently selected
|
|
|
|
# architecture.
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-custom/Config.in"
|
|
|
|
|
2010-12-13 17:27:39 +01:00
|
|
|
endchoice
|
|
|
|
|
2012-06-22 07:42:38 +02:00
|
|
|
choice
|
|
|
|
prompt "Toolchain origin"
|
2012-07-22 20:57:26 +02:00
|
|
|
# Keep compatibility with old defconfig files that are using
|
|
|
|
# custom toolchains, and which are therefore assuming that
|
|
|
|
# "preinstalled" in the default choice.
|
|
|
|
default BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED if BR2_TOOLCHAIN_EXTERNAL_CUSTOM
|
2012-06-22 07:42:38 +02:00
|
|
|
|
2010-12-13 17:27:39 +01:00
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD
|
2012-06-22 07:42:38 +02:00
|
|
|
bool "Toolchain to be downloaded and installed"
|
|
|
|
help
|
2018-04-01 07:08:45 +02:00
|
|
|
Select this option if you want Buildroot to download and
|
|
|
|
install the toolchain. If you have selected a custom
|
|
|
|
toolchain, specify the URL in BR2_TOOLCHAIN_EXTERNAL_URL.
|
2012-06-22 07:42:38 +02:00
|
|
|
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
|
|
|
|
bool "Pre-installed toolchain"
|
2010-12-13 17:27:39 +01:00
|
|
|
help
|
2018-04-01 07:08:45 +02:00
|
|
|
Select this option if you want to use a pre-installed
|
|
|
|
toolchain. Specify the path to this toolchain in
|
|
|
|
BR2_TOOLCHAIN_EXTERNAL_PATH.
|
2012-06-22 07:42:38 +02:00
|
|
|
|
|
|
|
endchoice
|
2010-12-13 17:27:39 +01:00
|
|
|
|
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_PATH
|
|
|
|
string "Toolchain path"
|
2017-07-10 01:21:23 +02:00
|
|
|
default ""
|
2012-06-22 07:42:38 +02:00
|
|
|
depends on BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED
|
2010-12-13 17:27:39 +01:00
|
|
|
help
|
2017-07-10 01:21:23 +02:00
|
|
|
Path to where the external toolchain is installed. The
|
|
|
|
compiler itself is expected to be in the "bin" subdirectory
|
|
|
|
of this path.
|
|
|
|
|
|
|
|
If empty, the compiler will be searched in $PATH.
|
2010-12-13 17:27:39 +01:00
|
|
|
|
2009-05-29 18:37:41 +02:00
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
2010-12-13 17:27:39 +01:00
|
|
|
bool
|
2013-06-30 21:29:09 +02:00
|
|
|
select BR2_TOOLCHAIN_USES_GLIBC
|
2009-05-29 18:37:41 +02:00
|
|
|
|
2010-12-13 17:27:39 +01:00
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
|
|
|
bool
|
2013-06-30 21:29:09 +02:00
|
|
|
select BR2_TOOLCHAIN_USES_UCLIBC
|
2010-12-13 17:27:39 +01:00
|
|
|
|
2013-10-08 20:17:09 +02:00
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_MUSL
|
|
|
|
bool
|
|
|
|
select BR2_TOOLCHAIN_USES_MUSL
|
2016-08-18 23:50:13 +02:00
|
|
|
# Compatibility headers: cdefs.h, queue.h
|
|
|
|
select BR2_PACKAGE_MUSL_COMPAT_HEADERS
|
2013-10-08 20:17:09 +02:00
|
|
|
|
2016-11-07 02:19:59 +01:00
|
|
|
# Make sure the virtual-package infra checks the provider
|
|
|
|
config BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
|
|
|
|
string
|
|
|
|
|
2016-11-07 02:20:17 +01:00
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_PREFIX
|
|
|
|
string
|
|
|
|
|
2016-11-07 02:20:00 +01:00
|
|
|
# Kept toolchains sorted as in the choice above
|
|
|
|
# The toolchain Config.in.options must define
|
|
|
|
# BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX
|
|
|
|
|
|
|
|
# Aarch64
|
2018-10-09 22:07:01 +02:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options"
|
2016-11-07 02:20:00 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
|
2016-11-07 02:20:01 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options"
|
2016-11-07 02:20:00 +01:00
|
|
|
|
2018-06-28 09:24:22 +02:00
|
|
|
# Aarch64 big-endian
|
2018-10-09 22:07:02 +02:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options"
|
2018-06-28 09:24:22 +02:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options"
|
|
|
|
|
2016-11-07 02:20:16 +01:00
|
|
|
# ARC
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options"
|
|
|
|
|
2016-11-07 02:20:02 +01:00
|
|
|
# ARM
|
2018-10-09 22:07:00 +02:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options"
|
2016-11-07 02:20:02 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options"
|
2016-11-07 02:20:03 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options"
|
2016-11-07 02:20:02 +01:00
|
|
|
|
2016-11-07 02:20:05 +01:00
|
|
|
# ARM big-endian
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options"
|
|
|
|
|
2016-11-07 02:20:07 +01:00
|
|
|
# MIPS
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options"
|
2016-11-07 02:20:08 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options"
|
2016-11-07 02:20:09 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options"
|
2016-11-07 02:20:07 +01:00
|
|
|
|
2016-11-07 02:20:10 +01:00
|
|
|
# NIOSII
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options"
|
|
|
|
|
2017-06-16 05:32:47 +02:00
|
|
|
# x86_64
|
2016-11-07 02:20:12 +01:00
|
|
|
source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options"
|
|
|
|
|
2016-11-07 02:20:15 +01:00
|
|
|
# Custom toolchains
|
|
|
|
source "toolchain/toolchain-external/toolchain-external-custom/Config.in.options"
|
toolchain: Improve C library option selection
Turn BR2_LARGEFILE, BR2_INET_IPV6, BR2_INET_RPC, BR2_USE_WCHAR,
BR2_ENABLE_LOCALE and BR2_PROGRAM_INVOCATION into hidden options.
Then, for Buildroot toolchains, external toolchains and Crosstool-NG
toolchains, provide visible options that selects the hidden options.
This allows :
* To show a different label and help text in the case of Buildroot
toolchain (do you want to enable feature X ?) and in the case of
external toolchain (is feature X available in your toolchain ?)
* To not show any option when a glibc external toolchain is selected
(since glibc is assumed to support all of largefile, IPv6, RPC,
WCHAR, locale and program invocation) and have them all selected in
that case.
There is some amount of duplication between Buildroot toolchain config
options and Crosstool-NG toolchain config options, because kconfig
doesn't allow to source the same Config.in file twice (even if under
mutually exclusive conditions). This duplication is more readable that
the hack that consists in splitting files in multiple pieces.
However, this commit changes the name of the options visible in the
configuration interface, so existing .config files will have to be
updated accordingly.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 17:27:37 +01:00
|
|
|
|
gdb: convert to the package infrastructure
This commit converts gdb to the package infrastructure, and therefore
moves it from toolchain/gdb to package/gdb.
The target package is now visible in "Package selection for the
target" => "Debugging, profiling and benchmark". The main option,
"gdb", forcefully selects the "gdbserver" sub-option by
default. Another sub-option, "full debugger" allows to install the
complete gdb on the target. When this option is enabled, then
"gdbserver" is no longer forcefully selected. This ensures that at
least gdbserver or the full debugger gets built/installed, so that the
package is not a no-op.
The host debugger is still enabled through a configuration option in
"Toolchain". It is now visible regardless of the toolchain type (it
used to be hidden for External Toolchains). The configuration options
relative to the host debugger are now in package/gdb/Config.in.host,
similar to how we have package/binutils/Config.in.host.
Since gdb is now a proper package, it is no longer allowed to 'select
BR2_PTHREADS_DEBUG' to ensure thread debugging is available when
needed. Instead, it now 'depends on
BR2_TOOLCHAIN_HAS_THREADS_DEBUG'. This option, in turn, is selected by
the different toolchain backends when appropriate. The
'BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED' option is removed, since
we no longer need to know when it is allowed to 'select
BR2_PTHREADS_DEBUG'. Also, the 'BR2_PTHREADS_DEBUG' option is moved to
appear right below the thread implementation selection (in the case of
the Buildroot toolchain backend).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-07 02:04:33 +02:00
|
|
|
config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
|
|
|
|
bool "Copy gdb server to the Target"
|
|
|
|
depends on BR2_TOOLCHAIN_EXTERNAL
|
|
|
|
help
|
|
|
|
Copy the gdbserver provided by the external toolchain to the
|
|
|
|
target.
|
|
|
|
|
2010-12-13 17:27:39 +01:00
|
|
|
endif # BR2_TOOLCHAIN_EXTERNAL
|