am 000e89a5
: Strengthen dependencies on LOCAL_REQUIRED_MODULES
* commit '000e89a5b95a1d3071277ff279263204f49cbd78': Strengthen dependencies on LOCAL_REQUIRED_MODULES
This commit is contained in:
@@ -1999,6 +1999,19 @@ define set-inherited-package-variables-internal
|
|||||||
,)
|
,)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
###########################################################
|
||||||
|
## Expand a module name list with REQUIRED modules
|
||||||
|
###########################################################
|
||||||
|
# $(1): The variable name that holds the initial module name list.
|
||||||
|
# the variable will be modified to hold the expanded results.
|
||||||
|
# $(2): The initial module name list.
|
||||||
|
# Returns empty string (maybe with some whitespaces).
|
||||||
|
define expand-required-modules
|
||||||
|
$(eval _erm_new_modules := $(sort $(filter-out $($(1)),\
|
||||||
|
$(foreach m,$(2),$(ALL_MODULES.$(m).REQUIRED)))))\
|
||||||
|
$(if $(_erm_new_modules),$(eval $(1) += $(_erm_new_modules))\
|
||||||
|
$(call expand-required-modules,$(1),$(_erm_new_modules)))
|
||||||
|
endef
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
## Other includes
|
## Other includes
|
||||||
|
10
core/main.mk
10
core/main.mk
@@ -546,13 +546,9 @@ ifdef FULL_BUILD
|
|||||||
# The base list of modules to build for this product is specified
|
# The base list of modules to build for this product is specified
|
||||||
# by the appropriate product definition file, which was included
|
# by the appropriate product definition file, which was included
|
||||||
# by product_config.make.
|
# by product_config.make.
|
||||||
user_PACKAGES := $(call module-installed-files, \
|
user_PACKAGES := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES)
|
||||||
$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES))
|
$(call expand-required-modules,user_PACKAGES,$(user_PACKAGES))
|
||||||
ifeq (0,1)
|
user_PACKAGES := $(call module-installed-files, $(user_PACKAGES))
|
||||||
$(info user packages for $(TARGET_DEVICE) ($(INTERNAL_PRODUCT)):)
|
|
||||||
$(foreach p,$(user_PACKAGES),$(info : $(p)))
|
|
||||||
$(error done)
|
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
# We're not doing a full build, and are probably only including
|
# We're not doing a full build, and are probably only including
|
||||||
# a subset of the module makefiles. Don't try to build any modules
|
# a subset of the module makefiles. Don't try to build any modules
|
||||||
|
@@ -30,21 +30,8 @@ _vendor_owner_whitelist := \
|
|||||||
|
|
||||||
ifneq (,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RESTRICT_VENDOR_FILES))
|
ifneq (,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RESTRICT_VENDOR_FILES))
|
||||||
|
|
||||||
_check_modules := $(sort $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES))
|
_vendor_check_modules := $(sort $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES))
|
||||||
|
$(call expand-required-modules,_vendor_check_modules,$(_vendor_check_modules))
|
||||||
# expand with the required modules
|
|
||||||
# $(1) the module name set to expand
|
|
||||||
define _expand_required_modules
|
|
||||||
$(eval _erm_new_modules:=)\
|
|
||||||
$(foreach m, $(1), $(eval r:=$(ALL_MODULES.$(m).REQUIRED))\
|
|
||||||
$(if $(r), $(if $(filter $(_check_modules), $(r)),,\
|
|
||||||
$(eval _check_modules := $(_check_modules) $(r))\
|
|
||||||
$(eval _erm_new_modules := $(_erm_new_modules) $(r)))))\
|
|
||||||
$(if $(_erm_new_modules), $(call _expand_required_modules, $(_erm_new_modules)))
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(call _expand_required_modules, $(_check_modules))
|
|
||||||
|
|
||||||
|
|
||||||
# Restrict owners
|
# Restrict owners
|
||||||
ifneq (,$(filter true owner all, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RESTRICT_VENDOR_FILES)))
|
ifneq (,$(filter true owner all, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RESTRICT_VENDOR_FILES)))
|
||||||
@@ -58,7 +45,7 @@ $(error Error: Product "$(TARGET_PRODUCT)" can not have PRODUCT_COPY_FILES from
|
|||||||
$(filter vendor/%, $(PRODUCT_COPY_FILES)))
|
$(filter vendor/%, $(PRODUCT_COPY_FILES)))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(foreach m, $(_check_modules), \
|
$(foreach m, $(_vendor_check_modules), \
|
||||||
$(if $(filter vendor/%, $(ALL_MODULES.$(m).PATH)),\
|
$(if $(filter vendor/%, $(ALL_MODULES.$(m).PATH)),\
|
||||||
$(if $(filter $(_vendor_owner_whitelist), $(ALL_MODULES.$(m).OWNER)),,\
|
$(if $(filter $(_vendor_owner_whitelist), $(ALL_MODULES.$(m).OWNER)),,\
|
||||||
$(error Error: vendor module "$(m)" in $(ALL_MODULES.$(m).PATH) with unknown owner \
|
$(error Error: vendor module "$(m)" in $(ALL_MODULES.$(m).PATH) with unknown owner \
|
||||||
@@ -70,7 +57,7 @@ endif
|
|||||||
# Restrict paths
|
# Restrict paths
|
||||||
ifneq (,$(filter path all, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RESTRICT_VENDOR_FILES)))
|
ifneq (,$(filter path all, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RESTRICT_VENDOR_FILES)))
|
||||||
|
|
||||||
$(foreach m, $(_check_modules), \
|
$(foreach m, $(_vendor_check_modules), \
|
||||||
$(if $(filter vendor/%, $(ALL_MODULES.$(m).PATH)),\
|
$(if $(filter vendor/%, $(ALL_MODULES.$(m).PATH)),\
|
||||||
$(if $(filter $(TARGET_OUT_VENDOR)/%, $(ALL_MODULES.$(m).INSTALLED)),,\
|
$(if $(filter $(TARGET_OUT_VENDOR)/%, $(ALL_MODULES.$(m).INSTALLED)),,\
|
||||||
$(error Error: vendor module "$(m)" in $(ALL_MODULES.$(m).PATH) \
|
$(error Error: vendor module "$(m)" in $(ALL_MODULES.$(m).PATH) \
|
||||||
@@ -79,4 +66,5 @@ $(foreach m, $(_check_modules), \
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
_vendor_check_modules :=
|
||||||
endif
|
endif
|
||||||
|
Reference in New Issue
Block a user