Introduce BR2_TOOLCHAIN_USES_{UCLIBC, GLIBC}
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 30 Jun 2013 19:29:09 +0000 (21:29 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Thu, 4 Jul 2013 07:08:42 +0000 (09:08 +0200)
Currently, when we need to do a conditional on the type of C library
used, we need to take into account the three toolchain backends. As we
are going to add eglibc support to the Buildroot toolchain backend, it
would become even uglier, so this patch introduces two new hidden
options: BR2_TOOLCHAIN_USES_UCLIBC and BR2_TOOLCHAIN_USES_GLIBC, that
exist regardless of the toolchain backend. The entire Buildroot code
base is converted to use those options.

Note that we have intentionally created only one option
(BR2_TOOLCHAIN_USES_GLIBC) for both glibc and eglibc, since they are
essentially the same, as far as Buildroot is concerned.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
24 files changed:
Makefile
package/Makefile.in
package/boost/boost.mk
package/elfutils/Config.in
package/elfutils/elfutils.mk
package/freescale-imx/gpu-viv-bin-mx6q/Config.in
package/gpsd/Config.in
package/gsl/gsl.mk
package/iozone/iozone.mk
package/libv4l/Config.in
package/ltp-testsuite/Config.in
package/mongrel2/Config.in
package/multimedia/gst-plugin-x170/Config.in
package/multimedia/on2-8170-libs/Config.in
package/nbd/nbd.mk
package/network-manager/network-manager.mk
package/nss-mdns/Config.in
package/php/php.mk
package/squid/squid.mk
package/tzdata/Config.in
toolchain/Config.in
toolchain/toolchain-common.in
toolchain/toolchain-crosstool-ng/Config.in
toolchain/toolchain-external/Config.in

index fe9bde7291de2068936948b129fa3f6c8d3913af..955e68482ef9fe7bd2751b657570c4013076b606 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -346,7 +346,7 @@ ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
 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
index 6835de39611f3e60412b9e27b61684b1832c549b..405b3e43785ef8f9b9f97e02d80d3ff5a41ebe72 100644 (file)
@@ -23,7 +23,7 @@ MAKE:=$(HOSTMAKE) -j$(PARALLEL_JOBS)
 # 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
index ce729901a4cecca6ee0d1292bf724f612f40fdb6..160a9f1fe8ad40a0be1a3829a2cee4ffae234089 100644 (file)
@@ -59,7 +59,7 @@ BOOST_OPT += toolset=gcc \
             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
index 914eec6e52cf3d86f171659470840fddec2b9f00..c6a2b84852924085a7347889a8a2e470c776b4bf 100644 (file)
@@ -3,10 +3,7 @@ comment "elfutils requires a toolchain with LARGEFILE and WCHAR support"
 
 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
@@ -23,9 +20,7 @@ if BR2_PACKAGE_ELFUTILS
 
 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.
index 2658786604f8c506a36f5cef7ae3e285e6397ee6..696b5667a2d668a5f632ed596b3d59e4b8ce644a 100644 (file)
@@ -37,7 +37,7 @@ endif
 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
 
index 06544c4068345a99a64a76d832d3d1bbe8c78571..e80eae4348f41a9aac614a919d66d3b39d985d4b 100644 (file)
@@ -1,7 +1,5 @@
 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"
@@ -9,9 +7,7 @@ config BR2_PACKAGE_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
 
index 337f8e73197c0375cd02e056dc069a8cfa8cd4d0..70c8cbf2526f5cb3d9b9c9392893c6d50e9c7213 100644 (file)
@@ -32,10 +32,10 @@ config BR2_PACKAGE_GPSD_OLDSTYLE
 
 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"
index 68b9948cc2f7a2eebb6dcdefc995db4205344176..c32a0ebfa2fadc1e8db511f03711e0cdd775bd00 100644 (file)
@@ -17,7 +17,7 @@ GSL_CONFIG_SCRIPTS = gsl-config
 # 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 \
index 970e50982d0eb04c23829768534146bd6cd8b990..328a5269d436d222d57f941987a5407baf72a664 100644 (file)
@@ -15,7 +15,7 @@ IOZONE_LICENSE = IOzone license (NO DERIVED WORKS ALLOWED)
 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
index 70f20ac56dc9483530d981dabde2223cfa332a24..de4af302be18f5fff6b9417be1a3d9f03e8b9aec 100644 (file)
@@ -13,21 +13,21 @@ if BR2_PACKAGE_LIBV4L
 
 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"
index 46e7380d81b682fb391d489a1873a18c808e14dd..75b029ffca9a96bbfa717d90174114524954daeb 100644 (file)
@@ -1,6 +1,6 @@
 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"
index cd9323639cbc594b792fa7f57ed0953ae6e0c252..ca7e6093d09b18e29ef8a0f43f82d983a304529d 100644 (file)
@@ -9,9 +9,7 @@ config BR2_PACKAGE_MONGREL2
        # {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
index fd939476087262ae4def54e1a7b43d9d667d25d0..9a1ae639c7c762538d11bca0479a73c80f8ab9ea 100644 (file)
@@ -2,9 +2,7 @@ config BR2_PACKAGE_GST_PLUGIN_X170
        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
index 0cf05add9fba905940955f892e979471721c3ec6..8c2d963810f633920e4cf83f11c402d2a7a02239 100644 (file)
@@ -1,9 +1,7 @@
 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"
index e790a345bab2b5253d45256bb0912e19de8fb8ea..e5b50232fabb9a674f84605e541039dec94a38a0 100644 (file)
@@ -11,7 +11,7 @@ NBD_CONF_OPT = $(if $(BR2_LARGEFILE),--enable-lfs,--disable-lfs)
 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
index 9c143aae1e8140fe281cc886e236a2f4b0689a93..b4d34088d6531c1b108b393196d83fb9d2644a5b 100644 (file)
@@ -35,7 +35,7 @@ NETWORK_MANAGER_CONF_OPT = \
                --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
 
index 1df0ce4b3aeb9245acc9d42875e4c59b93bdb6f7..b537fa576fcc9d9f1fd6cc746d29d4a19e659759 100644 (file)
@@ -2,7 +2,7 @@ config BR2_PACKAGE_NSS_MDNS
        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)
index 07f396eed5d3cd370d84278408cc48d6ecde80bf..299395f9f933162c13b7c638dcd857b228b7cd65 100644 (file)
@@ -24,7 +24,7 @@ PHP_CONFIG_SCRIPTS = php-config
 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
index 4dd14042e4d18de31cb936035ad6991604c91aa4..e3daa3200a3e4e72469c81fb675bb2f4c6bc083f 100644 (file)
@@ -26,7 +26,7 @@ SQUID_CONF_OPT =      --enable-async-io=8 --enable-linux-netfilter \
                        --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
 
index 4e68a97b5224ccfca3c9a5dba4373d4a3e1cc278..dec5f86c27e0a6539c42499ec557320b7e6ab6f0 100644 (file)
@@ -1,6 +1,6 @@
 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
 
index 665618c7b363425eb5c6ce8842fac2d5876e7f60..448bccc796f90e93454c952799c177d37db87518 100644 (file)
@@ -1,4 +1,19 @@
 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
@@ -12,6 +27,7 @@ config BR2_TOOLCHAIN_BUILDROOT
        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"
index 208ccac86a17dcfecdff5cbc4b0dae9dfc3a7881..7c9b842cca26e0605cab06fbe970762e41716fcb 100644 (file)
@@ -62,9 +62,7 @@ config BR2_GENERATE_LOCALE
        # 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
@@ -79,9 +77,7 @@ config BR2_GENERATE_LOCALE
 
 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
index 93c12e9c9f1a3894da03663e530d996e684f3fe9..7cfd8c27b50aefe612a5245546cfe1846313e4ea 100644 (file)
@@ -7,27 +7,22 @@ choice
 
 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
 
index 2c1c99b789bb83780e964c2bcf8c417efa680d8a..946063f953419a4408720ccb80ac5ff40044fb96 100644 (file)
@@ -815,16 +815,11 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
 
 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