kumquat-buildroot/toolchain/toolchain-external
Fabrice Fontaine 3c8d890c19 toolchain/helpers.mk: strengthen uClibc locale check
Currently, when verifying the configuration of a uClibc toolchain for
the presence of locale support, we check __UCLIBC_HAS_LOCALE__. It
turns out that we in fact also expect __UCLIBC_HAS_XLOCALE__ to be
defined, as without it locale_t is not defined, causing build failure
in some packages, such as libcpprestsdk:

In file included from /home/thomas/autobuild/instance-0/output-1/build/libcpprestsdk-2.10.18/Release/include/cpprest/json.h:18,
                 from /home/thomas/autobuild/instance-0/output-1/build/libcpprestsdk-2.10.18/Release/src/pch/stdafx.h:88,
                 from /home/thomas/autobuild/instance-0/output-1/build/libcpprestsdk-2.10.18/Release/src/http/client/http_client_msg.cpp:13:
/home/thomas/autobuild/instance-0/output-1/build/libcpprestsdk-2.10.18/Release/include/cpprest/asyncrt_utils.h:317:13: error: 'locale_t' does not name a type
  317 |     typedef locale_t xplat_locale;
      |             ^~~~~~~~

As essentially our requirement for uClibc in external toolchains is
"it should match the uClibc configuration used by Buildroot for
internal toolchains", it makes sense to verify
__UCLIBC_HAS_XLOCALE__. Note that of course checking
__UCLIBC_HAS_XLOCALE__ is sufficient, as it cannot be enabled if
__UCLIBC_HAS_LOCALE isn't.

This addresses an issue with the Synopsys ARC external toolchain,
which is built with __UCLIBC_HAS_LOCALE__, but without
__UCLIBC_HAS_XLOCALE__ causing a build failure with some
packages (such as libcpprestsdk).

Therefore, this patch also changes how the Synospys ARC external
toolchain is exposed in Buildroot: it no longer advertise locale
support.

Fixes:

  http://autobuild.buildroot.org/results/e6778e60cc1ea455f5b4511d5824f04d8040f67b

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-30 23:44:24 +02:00
..
toolchain-external-arm-aarch64 toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards 2023-08-13 17:51:28 +02:00
toolchain-external-arm-aarch64-be toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards 2023-08-13 17:51:28 +02:00
toolchain-external-arm-arm toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards 2023-08-13 17:51:28 +02:00
toolchain-external-bootlin support/scripts/gen-bootlin-toolchains: generate BR2_ARCH_NEEDS_GCC_AT_LEAST_X guard 2023-08-13 18:04:47 +02:00
toolchain-external-codescape-img-mips
toolchain-external-codescape-mti-mips
toolchain-external-codesourcery-aarch64
toolchain-external-codesourcery-arm
toolchain-external-codesourcery-mips
toolchain-external-codesourcery-niosII
toolchain-external-custom toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards 2023-08-13 17:51:28 +02:00
toolchain-external-linaro-aarch64 toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards 2023-08-13 17:51:28 +02:00
toolchain-external-linaro-aarch64-be toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards 2023-08-13 17:51:28 +02:00
toolchain-external-linaro-arm toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards 2023-08-13 17:51:28 +02:00
toolchain-external-linaro-armeb toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards 2023-08-13 17:51:28 +02:00
toolchain-external-synopsys-arc toolchain/helpers.mk: strengthen uClibc locale check 2023-08-30 23:44:24 +02:00
Config.in
pkg-toolchain-external.mk
toolchain-external.mk