Fix shared library install dependencies outside of /system
For properly picking the shared library install dependencies, HOST_OUT and HOST_CROSS_OUT are necessary so that we don't add a dependency between Linux and Windows. But for target modules, we must use TARGET_OUT_ROOT instead of TARGET_OUT, or modules in /data and /vendor won't have proper install dependencies. Bug: 31462199 Test: m bionic-unit-tests; manual diff of generated ninja file Change-Id: I828fa2664613296cc6c431813f5657abffdd2b8f
This commit is contained in:
11
core/main.mk
11
core/main.mk
@@ -664,11 +664,11 @@ $(foreach m,$(ALL_MODULES), \
|
||||
$(if $(r), \
|
||||
$(eval r := $(call module-installed-files,$(r))) \
|
||||
$(eval t_m := $(filter $(TARGET_OUT_ROOT)/%, $(ALL_MODULES.$(m).INSTALLED))) \
|
||||
$(eval h_m := $(filter $(HOST_OUT_ROOT)/%, $(ALL_MODULES.$(m).INSTALLED))) \
|
||||
$(eval hc_m := $(filter $(HOST_CROSS_OUT_ROOT)/%, $(ALL_MODULES.$(m).INSTALLED))) \
|
||||
$(eval h_m := $(filter $(HOST_OUT)/%, $(ALL_MODULES.$(m).INSTALLED))) \
|
||||
$(eval hc_m := $(filter $(HOST_CROSS_OUT)/%, $(ALL_MODULES.$(m).INSTALLED))) \
|
||||
$(eval t_r := $(filter $(TARGET_OUT_ROOT)/%, $(r))) \
|
||||
$(eval h_r := $(filter $(HOST_OUT_ROOT)/%, $(r))) \
|
||||
$(eval hc_r := $(filter $(HOST_CROSS_OUT_ROOT)/%, $(r))) \
|
||||
$(eval h_r := $(filter $(HOST_OUT)/%, $(r))) \
|
||||
$(eval hc_r := $(filter $(HOST_CROSS_OUT)/%, $(r))) \
|
||||
$(eval t_m := $(filter-out $(t_r), $(t_m))) \
|
||||
$(eval h_m := $(filter-out $(h_r), $(h_m))) \
|
||||
$(eval hc_m := $(filter-out $(hc_r), $(hc_m))) \
|
||||
@@ -696,9 +696,10 @@ $(foreach m,$($(if $(2),$($(1)2ND_ARCH_VAR_PREFIX))$(1)DEPENDENCIES_ON_SHARED_LI
|
||||
$(eval p := $(subst :,$(space),$(m)))\
|
||||
$(eval mod := $(firstword $(p)))\
|
||||
$(eval deps := $(subst $(comma),$(space),$(lastword $(p))))\
|
||||
$(eval root := $(1)OUT$(if $(call streq,$(1),TARGET_),_ROOT))\
|
||||
$(if $(2),$(eval deps := $(addsuffix $($(1)2ND_ARCH_MODULE_SUFFIX),$(deps))))\
|
||||
$(if $(3),$(eval deps := $(addprefix host_cross_,$(deps))))\
|
||||
$(eval r := $(filter $($(1)OUT)/%,$(call module-installed-files,\
|
||||
$(eval r := $(filter $($(root))/%,$(call module-installed-files,\
|
||||
$(deps))))\
|
||||
$(eval $(call add-required-deps,$(word 2,$(p)),$(r)))\
|
||||
$(eval ALL_MODULES.$(mod).REQUIRED += $(deps)))
|
||||
|
Reference in New Issue
Block a user