From 261e22dd1d5297d9f46e0ef274e4a93dea431844 Mon Sep 17 00:00:00 2001 From: yike Date: Fri, 9 Aug 2024 03:25:18 +0000 Subject: [PATCH] Link shared libs to x86/x86_64 folder if available Currently, the shared libs are not categorized according to arch, which adds more redundant dependencies at runtime and might mislead the test execution. Test: m host-unit-tests Bug: 351909435 Change-Id: I48f8e6752879cdd4d510ce5b611dc6c118a42f8f --- core/base_rules.mk | 2 ++ core/definitions.mk | 1 + core/main.mk | 7 +++++-- 3 files changed, 8 insertions(+), 2 deletions(-) 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)))\