makefile.dep: require arch_ cpu_core_ features first

This commit is contained in:
Leandro Lanzieri 2021-11-15 09:40:01 +01:00
parent 44e7e82fad
commit c5b29916eb
No known key found for this signature in database
GPG Key ID: F4E9A721761C7593
3 changed files with 9 additions and 6 deletions

View File

@ -93,12 +93,6 @@ ifneq (1, $(RIOTBOOT_BUILD))
FEATURES_OPTIONAL += periph_pm
endif
# always select provided architecture features
FEATURES_REQUIRED += $(filter arch_%,$(FEATURES_PROVIDED))
# always select CPU core features
FEATURES_REQUIRED += $(filter cpu_core_%,$(FEATURES_PROVIDED))
# don't use idle thread if architecture has needed support
FEATURES_OPTIONAL += no_idle_thread

View File

@ -406,6 +406,11 @@ ifeq (1,$(TEST_KCONFIG))
KCONFIG_PACKAGES := $(call lowercase,$(patsubst CONFIG_PACKAGE_%,%,$(filter CONFIG_PACKAGE_%,$(.VARIABLES))))
USEPKG := $(KCONFIG_PACKAGES)
else
# always select provided architecture features
FEATURES_REQUIRED += $(filter arch_%,$(FEATURES_PROVIDED))
# always select CPU core features
FEATURES_REQUIRED += $(filter cpu_core_%,$(FEATURES_PROVIDED))
# check if required features are provided and update $(FEATURES_USED)
include $(RIOTMAKE)/features_check.inc.mk

View File

@ -47,6 +47,10 @@ define board_unsatisfied_features
undefine CPU_FAM
include $(RIOTBASE)/Makefile.features
# always select provided architecture features
FEATURES_REQUIRED += $$(filter arch_%,$$(FEATURES_PROVIDED))
# always select CPU core features
FEATURES_REQUIRED += $$(filter cpu_core_%,$$(FEATURES_PROVIDED))
# FEATURES_USED must be populated first in this case so that dependency
# resolution can take optional features into account during the first pass.
# Also: This allows us to skip resolution if already a missing feature is