mirror of
https://git.busybox.net/buildroot.git
synced 2024-12-15 08:13:34 +08:00
a0b6faaab4
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>
136 lines
4.0 KiB
Plaintext
136 lines
4.0 KiB
Plaintext
# Generic toolchain options
|
|
|
|
# we want gdb config in the middle of both source and external
|
|
# toolchains, but mconf won't let us source the same file twice,
|
|
# so put it here instead
|
|
source "package/gdb/Config.in.host"
|
|
|
|
config BR2_LARGEFILE
|
|
bool
|
|
|
|
config BR2_INET_IPV6
|
|
bool
|
|
|
|
config BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
bool
|
|
|
|
config BR2_USE_WCHAR
|
|
bool
|
|
|
|
config BR2_ENABLE_LOCALE
|
|
bool
|
|
|
|
config BR2_INSTALL_LIBSTDCPP
|
|
bool
|
|
|
|
config BR2_TOOLCHAIN_HAS_THREADS
|
|
bool
|
|
|
|
config BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
|
bool
|
|
|
|
config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
|
|
bool
|
|
|
|
config BR2_ENABLE_LOCALE_PURGE
|
|
bool "Purge unwanted locales"
|
|
help
|
|
Explicitly specify what locales to install on target. If N
|
|
then all locales supported by packages are installed.
|
|
|
|
config BR2_ENABLE_LOCALE_WHITELIST
|
|
string "Locales to keep"
|
|
default "C en_US de fr"
|
|
depends on BR2_ENABLE_LOCALE_PURGE
|
|
help
|
|
Whitespace seperated list of locales to allow on target.
|
|
Locales not listed here will be removed from the target.
|
|
See 'locale -a' on your host for a list of locales available
|
|
on your build host, or have a look in /usr/share/locale in
|
|
the target file system for available locales.
|
|
|
|
Notice that listing a locale here doesn't guarantee that it
|
|
will be available on the target - That purely depends on the
|
|
support for that locale in the selected packages.
|
|
|
|
config BR2_GENERATE_LOCALE
|
|
string "Generate locale data"
|
|
default ""
|
|
# Pre-built uClibc external toolchains and uClibc toolchains
|
|
# built by the Crosstool-NG backend cannot be supported,
|
|
# because the list of locales to support must be defined at
|
|
# build time.
|
|
depends on \
|
|
BR2_TOOLCHAIN_BUILDROOT || \
|
|
BR2_TOOLCHAIN_EXTERNAL_GLIBC || \
|
|
BR2_TOOLCHAIN_CTNG_eglibc || \
|
|
BR2_TOOLCHAIN_CTNG_glibc
|
|
help
|
|
Generate support for a list of locales. Locales can be
|
|
specified with or without encoding, when no encoding is
|
|
specified, UTF-8 is assumed. Examples of locales: en_US,
|
|
fr_FR.UTF-8.
|
|
|
|
# glibc and eglibc directly include gettext, so a separatly compiled
|
|
# gettext isn't needed and shouldn't be built to avoid conflicts. Some
|
|
# packages always need gettext, other packages only need gettext when
|
|
# locale support is enabled. See the documentation for how packages
|
|
# should rely on the following two options.
|
|
|
|
config BR2_NEEDS_GETTEXT
|
|
bool
|
|
default y if BR2_TOOLCHAIN_BUILDROOT
|
|
default y if BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
|
default y if BR2_TOOLCHAIN_CTNG_uClibc
|
|
|
|
config BR2_NEEDS_GETTEXT_IF_LOCALE
|
|
bool
|
|
default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)
|
|
|
|
config BR2_USE_MMU
|
|
bool "Enable MMU support" if BR2_arm || BR2_armeb || BR2_mips || BR2_mipsel || BR2_sh || BR2_xtensa
|
|
default y if !BR2_bfin
|
|
help
|
|
If your target has a MMU, you should say Y here. If you
|
|
are unsure, just say Y.
|
|
|
|
config BR2_PREFER_SOFT_FLOAT
|
|
bool
|
|
default y if BR2_arm
|
|
default y if BR2_armeb
|
|
default y if BR2_avr32
|
|
default y if BR2_mips
|
|
default y if BR2_mipsel
|
|
|
|
config BR2_SOFT_FLOAT
|
|
bool "Use software floating point by default"
|
|
depends on BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel || BR2_powerpc
|
|
# External toolchains will automatically do soft float or hard
|
|
# float depending on their configuration
|
|
depends on BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_CTNG
|
|
default $(BR2_PREFER_SOFT_FLOAT)
|
|
help
|
|
If your target CPU does not have a Floating Point Unit (FPU) or a
|
|
kernel FPU emulator, but you still wish to support floating point
|
|
functions, then everything will need to be compiled with soft
|
|
floating point support (-msoft-float).
|
|
|
|
config BR2_TARGET_OPTIMIZATION
|
|
string "Target Optimizations"
|
|
default "-pipe"
|
|
help
|
|
Optimizations to use when building for the target host.
|
|
NOTE: gcc optimization level is defined in build options.
|
|
|
|
config BR2_TARGET_LDFLAGS
|
|
string "Target linker options"
|
|
help
|
|
Extra options to pass to the linker when building for the target.
|
|
|
|
config BR2_ECLIPSE_REGISTER
|
|
bool "Register toolchain within Eclipse Buildroot plug-in"
|
|
help
|
|
This options tells Buildroot to generate the necessary
|
|
configuration files to make your toolchain appear within
|
|
Eclipse, through the Eclipse Buildroot plugin.
|