[riot-notifications] [RIOT-OS/RIOT] Makefile.features: add declarative FEATURES_ variables definition (#11492)

Gaƫtan Harter notifications at github.com
Mon May 20 18:47:58 CEST 2019


cladmi commented on this pull request.



> @@ -1,3 +1,33 @@
 # Process FEATURES variables
 
 include $(RIOTBOARD)/$(BOARD)/Makefile.features
+
+
+# Resolve FEATURES_ variables
+# Their value will only be complete after resolving dependencies
+
+# Features that are required by the application but not provided by the BSP
+# Having features missing may case the build to fail.
+FEATURES_MISSING = $(sort $(filter-out $(FEATURES_PROVIDED),$(FEATURES_REQUIRED)))
+
+# Features that are only optional and not required at the same time.
+# The policy is to use by default whenever they are provided by the BSP.
+FEATURES_OPTIONAL_ONLY = $(sort $(filter-out $(FEATURES_REQUIRED),$(FEATURES_OPTIONAL)))
+FEATURES_OPTIONAL_USED = $(sort $(filter $(FEATURES_PROVIDED),$(FEATURES_OPTIONAL_ONLY)))
+# Optional features that will not be used because they are unavailable
+FEATURES_OPTIONAL_UNUSED = $(sort $(filter-out $(FEATURES_PROVIDED),$(FEATURES_OPTIONAL_ONLY)))

Thank you for going in the semantic details, that is what I want to be challenged :) 

I wanted to separate `missing` which for me sounds like an error from `they are not available but optional anyway/or not used`. And even changed it from the previous `FEATURES_MISSING` message that was in `info-build`.

https://github.com/RIOT-OS/RIOT/pull/11492/files#diff-cb9c0ad59ebaddd68b4a35e09c6d47f5R56

With a new general `FEATURES_BLACKLIST` https://github.com/RIOT-OS/RIOT/pull/9081 variable or specific `FEATURES_OPTIONAL_DISABLE`  https://github.com/RIOT-OS/RIOT/issues/10047#issuecomment-425437023 variable, an optional feature could be provided but not included.

But maybe I would indeed need a specific variable for this case or the `OPTIONAL_MISSING`.

> About the first two commits, do you see more use for the recipe besides testing this PR? If there is one lets keep it, but if not remove them from the PR.

Testing other refactoring Pull requests that touch the makefiles/info-global.inc.mk` and can change `info-boards-supported`.
I would prefer to have them in a separate PR anyway.

-- 
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/11492#discussion_r285681404
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190520/4a19f703/attachment-0001.html>


More information about the notifications mailing list