kumquat-buildroot/toolchain/toolchain-common.in
Peter Korsgaard 5931db0de9 gdb: fix kconfig dependency handling with !BR_TOOLCHAIN_BUILDROOT
Newer versions of GDB need pthread debugging support if threads are
enabled, which is always the case for glibc but is a configure option
for uClibc.

We have solved this for internal toolchains by selecting the
BR2_PTHREAD_DEBUG option from the GDB selection if needed, but as this
option isn't available when ctng/external toolchains are used, mconf
prints ugly warnings and the build may fail if an external uClibc
toolchain without pthread debugging support is used.

Fix it by introducing 2 more hidden config options:
 - BR2_TOOLCHAIN_HAS_THREADS_DEBUG
 - BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED

The first tells us if the toolchain HAS pthreads debugging support,
and is checked by check_uclibc_feature in helper.mk for external uClibc
based toolchains.

The second tells us if the toolchain is ABLE TO provide pthreads debugging
support if threads are enabled, either because it's an internal toolchain
where we can force enable it or an external glibc/eglibc toolchain or
uClibc with the option enabled.

Crosstool-ng forcibly enables this support, so those will always work.
The preconfigured uClibc-based toolchains we have also all enable it.

Finally, show a comment if this isn't the case so the (external toolchain)
user knows why. This is placed outside the choice option, as menuconfig
has a bug where it doesn't show choice selections which only contain
comments.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-24 14:26:52 +01:00

109 lines
3.1 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 "toolchain/gdb/Config.in"
config BR2_LARGEFILE
bool
config BR2_INET_IPV6
bool
config BR2_INET_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
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
bool
config BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
default y if !BR2_TOOLCHAIN_HAS_THREADS
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.
# 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 || BR2_armeb || BR2_avr32 || BR2_mips || 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
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 buiding for the target.