3c8d890c19
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> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.checkpackageignore | ||
.clang-format | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches