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>
This commit is contained in:
parent
6fa3a239ac
commit
3c8d890c19
@ -307,7 +307,7 @@ check_uclibc = \
|
|||||||
$(call check_uclibc_feature,__UCLIBC_HAS_LFS__,,$${UCLIBC_CONFIG_FILE},Large file support) ;\
|
$(call check_uclibc_feature,__UCLIBC_HAS_LFS__,,$${UCLIBC_CONFIG_FILE},Large file support) ;\
|
||||||
$(call check_uclibc_feature,__UCLIBC_HAS_IPV6__,,$${UCLIBC_CONFIG_FILE},IPv6 support) ;\
|
$(call check_uclibc_feature,__UCLIBC_HAS_IPV6__,,$${UCLIBC_CONFIG_FILE},IPv6 support) ;\
|
||||||
$(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_TOOLCHAIN_HAS_NATIVE_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\
|
$(call check_uclibc_feature,__UCLIBC_HAS_RPC__,BR2_TOOLCHAIN_HAS_NATIVE_RPC,$${UCLIBC_CONFIG_FILE},RPC support) ;\
|
||||||
$(call check_uclibc_feature,__UCLIBC_HAS_LOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\
|
$(call check_uclibc_feature,__UCLIBC_HAS_XLOCALE__,BR2_ENABLE_LOCALE,$${UCLIBC_CONFIG_FILE},Locale support) ;\
|
||||||
$(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\
|
$(call check_uclibc_feature,__UCLIBC_HAS_WCHAR__,BR2_USE_WCHAR,$${UCLIBC_CONFIG_FILE},Wide char support) ;\
|
||||||
$(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support) ;\
|
$(call check_uclibc_feature,__UCLIBC_HAS_THREADS__,BR2_TOOLCHAIN_HAS_THREADS,$${UCLIBC_CONFIG_FILE},Thread support) ;\
|
||||||
$(call check_uclibc_feature,__PTHREADS_DEBUG_SUPPORT__,BR2_TOOLCHAIN_HAS_THREADS_DEBUG,$${UCLIBC_CONFIG_FILE},Thread debugging support) ;\
|
$(call check_uclibc_feature,__PTHREADS_DEBUG_SUPPORT__,BR2_TOOLCHAIN_HAS_THREADS_DEBUG,$${UCLIBC_CONFIG_FILE},Thread debugging support) ;\
|
||||||
|
@ -5,7 +5,6 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
|
|||||||
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_10
|
||||||
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
|
||||||
select BR2_INSTALL_LIBSTDCPP
|
select BR2_INSTALL_LIBSTDCPP
|
||||||
select BR2_ENABLE_LOCALE
|
|
||||||
select BR2_USE_WCHAR
|
select BR2_USE_WCHAR
|
||||||
select BR2_TOOLCHAIN_HAS_THREADS
|
select BR2_TOOLCHAIN_HAS_THREADS
|
||||||
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||||
|
Loading…
Reference in New Issue
Block a user