]> Git Repo - buildroot-mgba.git/commit
toolchain/toolchain-buildroot: introduce BR2_TOOLCHAIN_BUILDROOT_NONE
authorThomas Petazzoni <[email protected]>
Wed, 26 Oct 2022 18:34:26 +0000 (20:34 +0200)
committerYann E. MORIN <[email protected]>
Sun, 30 Oct 2022 11:42:41 +0000 (12:42 +0100)
commite1550ef755c90ccaa63b9d4ed805e1f85f73142f
tree780a32536c0ab0f9fa95357210bc1730ada4aaa8
parent69d311687abd005dddf3621b7b52a397e75ad8ab
toolchain/toolchain-buildroot: introduce BR2_TOOLCHAIN_BUILDROOT_NONE

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 <[email protected]>
[[email protected]: update genrandconfig]
Signed-off-by: Yann E. MORIN <[email protected]>
toolchain/toolchain-buildroot/Config.in
utils/genrandconfig
This page took 0.034 seconds and 4 git commands to generate.