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

Gaëtan Harter notifications at github.com
Mon May 20 18:36:28 CEST 2019


cladmi commented on this pull request.



> +# 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)))
+
+# Features that are used for an application
+FEATURES_USED = $(sort $(FEATURES_REQUIRED) $(FEATURES_OPTIONAL_USED))
+
+# Used features that conflict when used together
+FEATURES_CONFLICTING = $(sort $(foreach conflict,$(FEATURES_CONFLICT),$(call _features_conflicting,$(conflict))))

Found it, the issue is in `tests/periph_rtt` that does `FEATURES_REQUIRED =` so ignored what you say in the environment.


This makes it work:

```diff
diff --git a/tests/periph_rtt/Makefile b/tests/periph_rtt/Makefile
index 6aabe4181..5c1392152 100644
--- a/tests/periph_rtt/Makefile
+++ b/tests/periph_rtt/Makefile
@@ -1,7 +1,7 @@
 BOARD ?= samr21-xpro
 include ../Makefile.tests_common

-FEATURES_REQUIRED = periph_rtt
+FEATURES_REQUIRED += periph_rtt

 DISABLE_MODULE += auto_init

```

```
FEATURES_REQUIRED+=periph_rtc BOARD=slstk3401a make -C tests/periph_rtt/ info-build
...
FEATURES_CONFLICT:     periph_rtc:periph_rtt
FEATURES_CONFLICT_MSG: "On the EFM32, the RTC and RTT map to the same hardware peripheral."
FEATURES_CONFLICTING:
         periph_rtc periph_rtt
```

-- 
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_r285677349
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190520/76d88039/attachment.html>


More information about the notifications mailing list