diff --git a/core/base_rules.mk b/core/base_rules.mk index ca553f6b05..1135003998 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -776,6 +776,8 @@ $(foreach suite, $(LOCAL_COMPATIBILITY_SUITE), \ $(eval my_compat_dist_$(suite) := $(patsubst %:$(LOCAL_INSTALLED_MODULE),$(LOCAL_INSTALLED_MODULE):$(LOCAL_INSTALLED_MODULE),\ $(foreach dir, $(call compatibility_suite_dirs,$(suite),$(arch_dir)), \ $(LOCAL_BUILT_MODULE):$(dir)/$(my_installed_module_stem)))) \ + $(eval my_compat_module_arch_dir_$(suite).$(my_register_name) :=) \ + $(foreach dir,$(call compatibility_suite_dirs,$(suite),$(arch_dir)),$(eval my_compat_module_arch_dir_$(suite).$(my_register_name) += $(dir))) \ $(eval my_compat_dist_config_$(suite) := )) ifneq (,$(LOCAL_SOONG_CLASSES_JAR)) diff --git a/core/definitions.mk b/core/definitions.mk index b30b1596d1..cd1b36e4c7 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -3612,6 +3612,7 @@ $(foreach suite, $(LOCAL_COMPATIBILITY_SUITE), \ $$(foreach f,$$(my_compat_dist_$(suite)),$$(call word-colon,2,$$(f))) \ $$(foreach f,$$(my_compat_dist_config_$(suite)),$$(call word-colon,2,$$(f))) \ $$(my_compat_dist_test_data_$(suite))) \ + $(eval COMPATIBILITY.$(suite).ARCH_DIRS.$(my_register_name) := $(my_compat_module_arch_dir_$(suite).$(my_register_name))) \ $(eval COMPATIBILITY.$(suite).API_MAP_FILES += $$(my_compat_api_map_$(suite))) \ $(eval COMPATIBILITY.$(suite).SOONG_INSTALLED_COMPATIBILITY_SUPPORT_FILES += $(LOCAL_SOONG_INSTALLED_COMPATIBILITY_SUPPORT_FILES)) \ $(eval ALL_COMPATIBILITY_DIST_FILES += $$(my_compat_dist_$(suite))) \ diff --git a/core/main.mk b/core/main.mk index ac1953bc1c..27ba526f60 100644 --- a/core/main.mk +++ b/core/main.mk @@ -688,8 +688,11 @@ $(foreach suite,general-tests device-tests vts tvts art-host-tests host-unit-tes $(eval my_testcases := $(HOST_OUT_TESTCASES)),\ $(eval my_testcases := $$(COMPATIBILITY_TESTCASES_OUT_$(suite))))\ $(eval target := $(my_testcases)/$(lastword $(subst /, ,$(dir $(f))))/$(notdir $(f)))\ - $(eval link_target := ../../../$(lastword $(subst /, ,$(dir $(f))))/$(notdir $(f)))\ - $(eval symlink := $(my_testcases)/$(m)/shared_libs/$(lastword $(subst /, ,$(dir $(f))))/$(notdir $(f)))\ + $(eval prefix := ../../..) + $(if $(strip $(patsubst %x86,,$(COMPATIBILITY.$(suite).ARCH_DIRS.$(m)))), \ + $(if $(strip $(patsubst %x86_64,,$(COMPATIBILITY.$(suite).ARCH_DIRS.$(m)))),$(eval prefix := ../..),),) \ + $(eval link_target := $(prefix)/$(lastword $(subst /, ,$(dir $(f))))/$(notdir $(f)))\ + $(eval symlink := $(COMPATIBILITY.$(suite).ARCH_DIRS.$(m))/shared_libs/$(notdir $(f)))\ $(eval COMPATIBILITY.$(suite).SYMLINKS := \ $$(COMPATIBILITY.$(suite).SYMLINKS) $(f):$(link_target):$(symlink))\ $(if $(strip $(ALL_TARGETS.$(target).META_LIC)),,$(call declare-copy-target-license-metadata,$(target),$(f)))\