Do vendor check on modules installed by LOCAL_SHARED_LIBRARIES

Since commit 6c86a1 we have split LOCAL_SHARED_LIBRARIES out of
LOCAL_REQUIRED_MODULES and the vendor check does no longer cover the
installed modules introduced by LOCAL_SHARED_LIBRARIES.
This change brings back the coverage.

Change-Id: Ie78692e48f173a3350792eb2fee8127ff9433caa
This commit is contained in:
Ying Wang 2013-04-15 17:32:21 -07:00
parent 021aa4cefe
commit d6b1d61d84
5 changed files with 17 additions and 5 deletions

View File

@ -86,7 +86,7 @@ include $(BUILD_SYSTEM)/base_rules.mk
# of the shared libraries are determined. # of the shared libraries are determined.
ifdef LOCAL_INSTALLED_MODULE ifdef LOCAL_INSTALLED_MODULE
ifdef installed_shared_library_module_names ifdef installed_shared_library_module_names
$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += $(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(installed_shared_library_module_names)) $(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += $(LOCAL_MODULE):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(installed_shared_library_module_names))
endif endif
endif endif

View File

@ -82,7 +82,7 @@ ALL_FINDBUGS_FILES:=
ALL_GPL_MODULE_LICENSE_FILES:= ALL_GPL_MODULE_LICENSE_FILES:=
# Target and host installed module's dependencies on shared libraries. # Target and host installed module's dependencies on shared libraries.
# They are list of "<installed_file>:lib1,lib2...". # They are list of "<module_name>:<installed_file>:lib1,lib2...".
TARGET_DEPENDENCIES_ON_SHARED_LIBRARIES := TARGET_DEPENDENCIES_ON_SHARED_LIBRARIES :=
HOST_DEPENDENCIES_ON_SHARED_LIBRARIES := HOST_DEPENDENCIES_ON_SHARED_LIBRARIES :=

View File

@ -556,12 +556,12 @@ $(foreach m,$(TARGET_DEPENDENCIES_ON_SHARED_LIBRARIES), \
$(eval p := $(subst :,$(space),$(m))) \ $(eval p := $(subst :,$(space),$(m))) \
$(eval r := $(filter $(TARGET_OUT_ROOT)/%,$(call module-installed-files,\ $(eval r := $(filter $(TARGET_OUT_ROOT)/%,$(call module-installed-files,\
$(subst $(comma),$(space),$(lastword $(p)))))) \ $(subst $(comma),$(space),$(lastword $(p)))))) \
$(eval $(call add-required-deps,$(firstword $(p)),$(r)))) $(eval $(call add-required-deps,$(word 2,$(p)),$(r))))
$(foreach m,$(HOST_DEPENDENCIES_ON_SHARED_LIBRARIES), \ $(foreach m,$(HOST_DEPENDENCIES_ON_SHARED_LIBRARIES), \
$(eval p := $(subst :,$(space),$(m))) \ $(eval p := $(subst :,$(space),$(m))) \
$(eval r := $(filter $(HOST_OUT_ROOT)/%,$(call module-installed-files,\ $(eval r := $(filter $(HOST_OUT_ROOT)/%,$(call module-installed-files,\
$(subst $(comma),$(space),$(lastword $(p)))))) \ $(subst $(comma),$(space),$(lastword $(p)))))) \
$(eval $(call add-required-deps,$(firstword $(p)),$(r)))) $(eval $(call add-required-deps,$(word 2,$(p)),$(r))))
m := m :=
r := r :=

View File

@ -83,7 +83,7 @@ endif # prebuilt_module_is_a_library
# of the shared libraries are determined. # of the shared libraries are determined.
ifdef LOCAL_INSTALLED_MODULE ifdef LOCAL_INSTALLED_MODULE
ifdef LOCAL_SHARED_LIBRARIES ifdef LOCAL_SHARED_LIBRARIES
$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += $(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(LOCAL_SHARED_LIBRARIES)) $(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += $(LOCAL_MODULE):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(LOCAL_SHARED_LIBRARIES))
endif endif
endif endif

View File

@ -40,6 +40,18 @@ ifneq (,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_RESTRICT_VENDOR_FILES))
_vendor_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)) $(call expand-required-modules,_vendor_check_modules,$(_vendor_check_modules))
# Expand the target modules installed via LOCAL_SHARED_LIBRARIES
# $(1): the list of modules to expand.
define expand-required-shared-libraries
$(eval _ersl_new_modules := $(filter $(addsuffix :%,$(1)),$(TARGET_DEPENDENCIES_ON_SHARED_LIBRARIES)))\
$(eval _ersl_new_modules := $(foreach p,$(_ersl_new_modules),$(word 3,$(subst :,$(space),$(p)))))\
$(eval _ersl_new_modules := $(sort $(subst $(comma),$(space),$(_ersl_new_modules))))\
$(eval _ersl_new_modules := $(filter-out $(_vendor_check_modules),$(_ersl_new_modules)))\
$(if $(_ersl_new_modules),$(eval _vendor_check_modules += $(_ersl_new_modules))\
$(call expand-required-shared-libraries,$(_ersl_new_modules)))
endef
$(call expand-required-shared-libraries,$(_vendor_check_modules))
_vendor_module_owner_info := _vendor_module_owner_info :=
# 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)))