e1550ef755
In the internal toolchain backend, we have a choice..endchoice block to allow the user to select the C library, between glibc, uClibc and musl. However, there are situations were no C library at all is supported. In this case, the choice does not appear, and does not allow to see the Config.in comments that are within the choice..endchoice block and that may explain why no C library is available. For example, on RISC-V 32-bit, the only C library supported is glibc, and the minimum kernel header version required by glibc on this architecture is 5.4.0. In a future commit, we are going to add this dependency on glibc (to fix build issues on configurations that have headers < 5.4.0). But since glibc is the only supported C library on RISC-V 32-bit, it means that the choice..endchoice for the C library contains no entry, preventing from seeing the Config.in comment. To address this issue, this commit adds a "dummy" BR2_TOOLCHAIN_BUILDROOT_NONE option that shows up in the choice..endchoice only when no C library is available. Thanks to this, the choice..endchoice is never empty, and the Config.in comments can be seen. If the user keeps BR2_TOOLCHAIN_BUILDROOT_NONE selected, then the build will anyway abort early because package/Makefile.in has a check to verify that a C library is selected, and aborts the build if not. Some could say that the problem should be resolved by instead preventing the selection of headers < 5.4.0 on RISC-V 32-bit, but that is difficult to do as the user can choose a custom header version, or simply specific that (s)he wants to use the headers of the kernel being built. In those situations, it's difficult to prevent selecting headers < 5.4.0. Prevent random configurations from triggering a build failure in our autobuilders, by excluding that symbol from accepted configuration. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [yann.morin.1998@free.fr: update genrandconfig] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> |
||
---|---|---|
.. | ||
checkpackagelib | ||
brmake | ||
check-package | ||
config | ||
diffconfig | ||
docker-run | ||
genrandconfig | ||
get-developers | ||
getdeveloperlib.py | ||
readme.txt | ||
scancpan | ||
scanpypi | ||
size-stats-compare | ||
test-pkg |
This directory contains various useful scripts and tools for working with Buildroot. You need not add this directory in your PATH to use any of those tools, but you may do so if you want. brmake a script that can be run instead of make, that prepends the date in front of each line, redirects all of the build output to a file ("'br.log' in the current directory), and just outputs the Buildroot messages (those lines starting with >>>) on stdout. Do not run this script for interactive configuration (e.g. menuconfig) or on an unconfigured directory. The output is redirected so you will see nothing. check-package a script that checks the coding style of a package's Config.in and .mk files, and also tests them for various types of typoes. genrandconfig a script that generates a random configuration, used by the autobuilders (http://autobuild.buildroot.org). It selects a random toolchain from support/config-fragments/autobuild and randomly selects packages to build. get-developers a script to return the list of people interested in a specific part of Buildroot, so they can be Cc:ed on a mail. Accepts a patch as input, a package name or and architecture name. scancpan a script to create a Buildroot package by scanning a CPAN module description. scanpypi a script to create a Buildroot package by scanning a PyPI package description. size-stats-compare a script to compare the rootfs size between two different Buildroot configurations. This can be used to identify the size impact of a specific option, of a set of specific options, or of an update to a newer Buildroot version... test-pkg a script that tests a specific package against a set of various toolchains, with the goal to detect toolchain-related dependencies (wchar, threads...)