TARGETS+=target-purgelocales
endif
-ifneq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_TOOLCHAIN_CTNG_eglibc)$(BR2_TOOLCHAIN_CTNG_glibc),)
+ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
ifneq ($(GENERATE_LOCALE),)
TARGETS+=target-generatelocales
endif
# Compute GNU_TARGET_NAME
GNU_TARGET_NAME=$(ARCH)-buildroot-linux-$(LIBC)$(ABI)
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_CTNG_uClibc)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
LIBC=uclibc
else
LIBC=gnu
runtime-link=$(if $(BR2_PREFER_STATIC_LIB),static,shared)
ifeq ($(BR2_PACKAGE_BOOST_LOCALE),y)
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
# posix backend needs monetary.h which isn't available on uClibc
BOOST_OPT += boost.locale.posix=off
endif
config BR2_PACKAGE_ELFUTILS
bool "elfutils"
- select BR2_PACKAGE_ARGP_STANDALONE if \
- BR2_TOOLCHAIN_BUILDROOT || \
- BR2_TOOLCHAIN_CTNG_uClibc || \
- BR2_TOOLCHAIN_EXTERNAL_UCLIBC
+ select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
config BR2_PACKAGE_ELFUTILS_PROGS
bool "Install programs"
- depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || \
- BR2_TOOLCHAIN_CTNG_glibc || \
- BR2_TOOLCHAIN_CTNG_eglibc
+ depends on BR2_TOOLCHAIN_USES_GLIBC
help
This option tells elfutils to not only install the libelf
libraries, but also the elfutils programs.
ELFUTILS_CONF_ENV += \
LDFLAGS="$(ELFUTILS_LDFLAGS)"
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
ELFUTILS_DEPENDENCIES += argp-standalone
endif
comment "gpu-viv-bin-mx6q requires a glibc toolchain"
- depends on !(BR2_TOOLCHAIN_CTNG_glibc || \
- BR2_TOOLCHAIN_CTNG_eglibc || \
- BR2_TOOLCHAIN_EXTERNAL_GLIBC)
+ depends on !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_GPU_VIV_BIN_MX6Q
bool "gpu-viv-bin-mx6q"
select BR2_PACKAGE_HAS_OPENGL_ES
depends on BR2_arm # Only relevant for i.MX6
# Library binaries are linked against libc.so.6
- depends on BR2_TOOLCHAIN_CTNG_glibc || \
- BR2_TOOLCHAIN_CTNG_eglibc || \
- BR2_TOOLCHAIN_EXTERNAL_GLIBC
+ depends on BR2_TOOLCHAIN_USES_GLIBC
help
Userspace libraries for Vivante GPU on i.MX6 platforms
config BR2_PACKAGE_GPSD_PROFILING
bool "profiling support"
- depends on !BR2_TOOLCHAIN_BUILDROOT && !BR2_TOOLCHAIN_CTNG_uClibc && !BR2_TOOLCHAIN_EXTERNAL_UCLIBC
+ depends on BR2_TOOLCHAIN_USES_GLIBC
comment "profiling support not available with uClibc-based toolchain"
- depends on BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_CTNG_uClibc || BR2_TOOLCHAIN_EXTERNAL_UCLIBC
+ depends on !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_GPSD_NTP_SHM
bool "NTP time hinting support"
# at: http://lists.busybox.net/pipermail/uclibc/2012-October/047067.html.
# So we tell gsl that fenv related functions are not available in this
# case.
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
ifneq ($(BR2_i386),y)
GSL_CONF_ENV = \
ac_cv_have_decl_feenableexcept=no \
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
IOZONE_TARGET = linux-noth
# AIO support not available on uClibc, use the linux (non-aio) target.
-else ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+else ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
IOZONE_TARGET = linux-noaio
else
IOZONE_TARGET = linux
config BR2_PACKAGE_LIBV4L_DECODE_TM6000
bool "decode_tm6000"
- depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_glibc || BR2_TOOLCHAIN_CTNG_eglibc
+ depends on BR2_TOOLCHAIN_USES_GLIBC
help
Tool to decode tm6000 proprietary format streams
comment "decode_tm6000 requires a GLIBC based toolchain"
- depends on !(BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_glibc || BR2_TOOLCHAIN_CTNG_eglibc)
+ depends on !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_LIBV4L_IR_KEYTABLE
bool "ir-keytable"
- depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_glibc || BR2_TOOLCHAIN_CTNG_eglibc
+ depends on BR2_TOOLCHAIN_USES_GLIBC
help
Tool to alter keymaps of Remote Controller devices
comment "ir-keytable requires a GLIBC based toolchain"
- depends on !(BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_glibc || BR2_TOOLCHAIN_CTNG_eglibc)
+ depends on !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE
bool "v4l2-compliance"
comment "ltp-testsuite needs specific uClibc options, see help"
depends on BR2_PACKAGE_LTP_TESTSUITE
- depends on BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_EXTERNAL_UCLIBC || BR2_TOOLCHAIN_CTNG_uClibc
+ depends on BR2_TOOLCHAIN_USES_UCLIBC
config BR2_PACKAGE_LTP_TESTSUITE
bool "ltp-testsuite"
# {get,make,swap}context functions present in
# {e,}glibc and in uClibc's master branch. Source has arm workaround
depends on BR2_UCLIBC_VERSION_SNAPSHOT || \
- BR2_TOOLCHAIN_EXTERNAL_GLIBC || \
- BR2_TOOLCHAIN_CTNG_eglibc || \
- BR2_TOOLCHAIN_CTNG_glibc || \
+ BR2_TOOLCHAIN_USES_GLIBC || \
BR2_arm
help
Mongrel2 is an application, language, and network architecture
bool "gst-plugin-x170"
depends on BR2_PACKAGE_GSTREAMER
depends on BR2_arm926t
- depends on (BR2_TOOLCHAIN_EXTERNAL_GLIBC || \
- BR2_TOOLCHAIN_CTNG_eglibc || \
- BR2_TOOLCHAIN_CTNG_glibc) # on2-8170-libs
+ depends on BR2_TOOLCHAIN_USES_GLIBC # on2-8170-libs
select BR2_PACKAGE_ON2_8170_LIBS
help
GStreamer plug-in to use the Hantro X170 video decoder present on
config BR2_PACKAGE_ON2_8170_LIBS
#This is a binary only package which has been compiled for glibc
depends on BR2_arm926t
- depends on (BR2_TOOLCHAIN_EXTERNAL_GLIBC || \
- BR2_TOOLCHAIN_CTNG_eglibc || \
- BR2_TOOLCHAIN_CTNG_glibc)
+ depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_LINUX_KERNEL # on2-8170-modules
select BR2_PACKAGE_ON2_8170_MODULES # runtime
bool "on2-8170-libs"
NBD_DEPENDENCIES = libglib2
NBD_LICENSE = GPLv2
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
# We have linux/falloc.h
# but uClibc lacks fallocate(2) which is a glibc-ism
NBD_CONF_ENV = ac_cv_header_linux_falloc_h=no
--disable-ifnet
# uClibc by default doesn't have backtrace support, so don't use it
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
NETWORK_MANAGER_CONF_OPT += --disable-crashtrace
endif
bool "nss-mdns"
# libdaemon->avahi uses fork()
depends on BR2_USE_MMU
- depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
+ depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_PACKAGE_AVAHI_DAEMON
help
nss-mdns is a plugin for the GNU Name Service Switch (NSS)
PHP_CFLAGS = $(TARGET_CFLAGS)
# Workaround for non-IPv6 uClibc toolchain
-ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
ifneq ($(BR2_INET_IPV6),y)
PHP_CFLAGS += -DHAVE_DEPRECATED_DNS_FUNCS
endif
--enable-external-acl-helpers="ip_user"
# On uClibc librt needs libpthread
-ifeq ($(BR2_TOOLCHAIN_HAS_THREADS)$(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),yy)
+ifeq ($(BR2_TOOLCHAIN_HAS_THREADS)$(BR2_TOOLCHAIN_USES_UCLIBC),yy)
SQUID_CONF_ENV += ac_cv_search_shm_open="-lrt -lpthread"
endif
config BR2_PACKAGE_TZDATA
bool "tzdata"
- depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_eglibc || BR2_TOOLCHAIN_CTNG_glibc
+ depends on BR2_TOOLCHAIN_USES_GLIBC
help
Time zone database
menu "Toolchain"
+
+# Should be selected for glibc or eglibc
+config BR2_TOOLCHAIN_USES_GLIBC
+ bool
+ select BR2_LARGEFILE
+ select BR2_INET_IPV6
+ select BR2_USE_WCHAR
+ select BR2_ENABLE_LOCALE
+ select BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
+ select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
+
+config BR2_TOOLCHAIN_USES_UCLIBC
+ bool
+
choice
prompt "Toolchain type"
help
bool "Buildroot toolchain"
depends on !BR2_microblaze && !BR2_aarch64
select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
+ select BR2_TOOLCHAIN_USES_UCLIBC
config BR2_TOOLCHAIN_EXTERNAL
bool "External toolchain"
# build time.
depends on \
BR2_TOOLCHAIN_BUILDROOT || \
- BR2_TOOLCHAIN_EXTERNAL_GLIBC || \
- BR2_TOOLCHAIN_CTNG_eglibc || \
- BR2_TOOLCHAIN_CTNG_glibc
+ BR2_TOOLCHAIN_USES_GLIBC
help
Generate support for a list of locales. Locales can be
specified with or without encoding, when no encoding is
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
+ default y if BR2_TOOLCHAIN_USES_UCLIBC
config BR2_NEEDS_GETTEXT_IF_LOCALE
bool
config BR2_TOOLCHAIN_CTNG_uClibc
bool "uClibc"
+ select BR2_TOOLCHAIN_USES_UCLIBC
# Although eglibc can be configured to opt-out some features,
# let's not deal with that for the time being, it's complex...
config BR2_TOOLCHAIN_CTNG_eglibc
bool "eglibc"
- select BR2_LARGEFILE
- select BR2_INET_IPV6
# Our default ct-ng configuration uses eglibc 2.12, which has
# native RPC support
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
- select BR2_ENABLE_LOCALE
- select BR2_USE_WCHAR
+ select BR2_TOOLCHAIN_USES_GLIBC
config BR2_TOOLCHAIN_CTNG_glibc
bool "glibc"
- select BR2_LARGEFILE
- select BR2_INET_IPV6
# Our default ct-ng configuration uses glibc 2.14.1, which
# does not have native RPC support
- select BR2_ENABLE_LOCALE
- select BR2_USE_WCHAR
+ select BR2_TOOLCHAIN_USES_GLIBC
endchoice # C library
config BR2_TOOLCHAIN_EXTERNAL_GLIBC
bool
- select BR2_LARGEFILE
- select BR2_INET_IPV6
- select BR2_USE_WCHAR
- select BR2_ENABLE_LOCALE
- select BR2_TOOLCHAIN_HAS_THREADS
- select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
- select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
+ select BR2_TOOLCHAIN_USES_GLIBC
config BR2_TOOLCHAIN_EXTERNAL_UCLIBC
bool
+ select BR2_TOOLCHAIN_USES_UCLIBC
if BR2_TOOLCHAIN_EXTERNAL_CUSTOM