| Summary: | 'select' does not work with 'choice' | ||
|---|---|---|---|
| Product: | buildroot | Reporter: | achpile |
| Component: | Other | Assignee: | unassigned |
| Status: | RESOLVED WONTFIX | ||
| Severity: | normal | CC: | buildroot |
| Priority: | P5 | ||
| Version: | 2024.02.1 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Host: | Target: | ||
| Build: | |||
|
Description
achpile
2024-03-27 15:55:30 UTC
This is just how Kconfig works: it is not possible to "select" an option in a choice. We don't develelop Kconfig ourselves, we simply inherit it from the Linux kernel, so we are not in a position to fix this issue. I think the reason it is this way is that there is nothing stopping two configs to select two separate options from the choice. In your example, if both BR2_TEST_BOOL_S1 and BR2_TEST_BOOL_S2 are set to y, then both BR2_TEST_1 and BR2_TEST_2 would be selected. I think to fix this issue, you would need to put a full-fledged boolean resolver behind it. If you want a workaround for this limitation, take a look at openssl. It has a choice between libopenssl and libressl, but there is also the symbol BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL. If that symbol is selected, the libressl choice is no longer available, so it is forced to openssl. Note that it is only possible to force it in one direction that way (so there is no BR2_PACKAGE_OPENSSL_FORCE_LIBRESSL) - otherwise, you'd be back in the same situation as your example; Kconfig reports this as a circular dependency. (In reply to Arnout Vandecappelle from comment #1) Oh, sorry. I didn't know that it is Kconfig and that it is separate from buildroot. Big thanks for such a great explanation! |