[riot-notifications] [RIOT-OS/RIOT] makefiles: add FEATURES_OPTIONAL_ALT (#15855)

Francisco notifications at github.com
Tue Jan 26 09:54:02 CET 2021


### Contribution description

>From looking at  #15836 and #15817, it's clear that some dependencies are better modeled in Kconfig with choices. This PR looks to give a similar option to model this behavior in `make` while the migration is ongoing.

So similar to #13349:

> - `FEATURES_OPTIONAL_ALT` are nice to have `FEATURES` that fulfill a similar
>   function. Alternatives are separated by a pipe (`|`) in order of preference,
>   e.g.: `FEATURES_OPTIONAL_ALT += puf_sram|periph_hwrng` if both are provided
>   then only `puf_sram` will be used.


### Testing procedure

#12166 Shows a test case for this (I want to rebase that one on top of  #15836 and this one)

The save_all_dependencies script should have the same output as before, as this PR does not make use of the feature.

### Issues/PRs references

Taken from #12166
Related to  #15836

You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/15855

-- Commit Summary --

  * makefiles/features_check.inc.mk: add _features_one_out_of func
  * makefiles: add FEATURES_OPTIONAL_ALT
  * build_system_check: add FEATURES_REQUIRED_ANY to check_not_parsing_features

-- File Changes --

    M dist/tools/buildsystem_sanity_check/check.sh (2)
    M doc/doxygen/src/build-system-basics.md (5)
    M makefiles/dependencies_debug.inc.mk (2)
    M makefiles/features_check.inc.mk (83)
    M makefiles/info.inc.mk (2)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/15855.patch
https://github.com/RIOT-OS/RIOT/pull/15855.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/15855
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20210126/954789de/attachment.htm>


More information about the notifications mailing list