From a18363cb979f8adaad90ea69492c1aafe5bb3a40 Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Wed, 30 Oct 2019 18:38:44 +0900 Subject: [PATCH] Use soong-generated vndk*libraries.txt files linkerconfig reads vndk-related libraries.txt files. Now these files are generated by soong. Bug: 142963962 Bug: 141450808 Test: m && device boots && TH Change-Id: I98c2f934815238cacd4ec8536ce2f9f24bbf1b32 --- rootdir/Android.mk | 104 ++++++++------------------------------------- 1 file changed, 18 insertions(+), 86 deletions(-) diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 52417305f..eac3f0693 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -293,78 +293,26 @@ LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/etc LOCAL_MODULE_STEM := ld.config.txt include $(BUILD_PREBUILT) -# Returns the unique installed basenames of a module, or module.so if there are -# none. The guess is to handle cases like libc, where the module itself is -# marked uninstallable but a symlink is installed with the name libc.so. -# $(1): list of libraries -# $(2): suffix to to add to each library (not used for guess) -define module-installed-files-or-guess -$(foreach lib,$(1),$(or $(strip $(sort $(notdir $(call module-installed-files,$(lib)$(2))))),$(lib).so)) -endef - ####################################### -# llndk.libraries.txt -include $(CLEAR_VARS) -LOCAL_MODULE := llndk.libraries.txt -LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) -include $(BUILD_SYSTEM)/base_rules.mk -$(LOCAL_BUILT_MODULE): PRIVATE_LLNDK_LIBRARIES := $(call module-installed-files-or-guess,$(LLNDK_LIBRARIES),) -$(LOCAL_BUILT_MODULE): - @echo "Generate: $@" - @mkdir -p $(dir $@) - $(hide) echo -n > $@ - $(hide) $(foreach lib,$(PRIVATE_LLNDK_LIBRARIES), \ - echo $(lib) >> $@;) +# {llndk,vndkcore,vndksp,vndkprivate,vndkcorevariant}.libraries.txt +vndk_libraries_files := \ + llndk.libraries.txt:$(SOONG_LLNDK_LIBRARIES_FILE)\ + vndkcore.libraries.txt:$(SOONG_VNDKCORE_LIBRARIES_FILE)\ + vndksp.libraries.txt:$(SOONG_VNDKSP_LIBRARIES_FILE)\ + vndkprivate.libraries.txt:$(SOONG_VNDKPRIVATE_LIBRARIES_FILE)\ + vndkcorevariant.libraries.txt:$(SOONG_VNDKCOREVARIANT_LIBRARIES_FILE) -####################################### -# vndksp.libraries.txt -include $(CLEAR_VARS) -LOCAL_MODULE := vndksp.libraries.txt -LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) -include $(BUILD_SYSTEM)/base_rules.mk -$(LOCAL_BUILT_MODULE): PRIVATE_VNDK_SAMEPROCESS_LIBRARIES := $(call module-installed-files-or-guess,$(VNDK_SAMEPROCESS_LIBRARIES),.com.android.vndk.current) -$(LOCAL_BUILT_MODULE): - @echo "Generate: $@" - @mkdir -p $(dir $@) - $(hide) echo -n > $@ - $(hide) $(foreach lib,$(PRIVATE_VNDK_SAMEPROCESS_LIBRARIES), \ - echo $(lib) >> $@;) - -####################################### -# vndkcore.libraries.txt -include $(CLEAR_VARS) -LOCAL_MODULE := vndkcore.libraries.txt -LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) -include $(BUILD_SYSTEM)/base_rules.mk -$(LOCAL_BUILT_MODULE): PRIVATE_VNDK_CORE_LIBRARIES := $(call module-installed-files-or-guess,$(VNDK_CORE_LIBRARIES),.com.android.vndk.current) -$(LOCAL_BUILT_MODULE): - @echo "Generate: $@" - @mkdir -p $(dir $@) - $(hide) echo -n > $@ - $(hide) $(foreach lib,$(PRIVATE_VNDK_CORE_LIBRARIES), \ - echo $(lib) >> $@;) - -####################################### -# vndkprivate.libraries.txt -include $(CLEAR_VARS) -LOCAL_MODULE := vndkprivate.libraries.txt -LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) -include $(BUILD_SYSTEM)/base_rules.mk -$(LOCAL_BUILT_MODULE): PRIVATE_VNDK_PRIVATE_LIBRARIES := $(call module-installed-files-or-guess,$(VNDK_PRIVATE_LIBRARIES),.com.android.vndk.current) -$(LOCAL_BUILT_MODULE): - @echo "Generate: $@" - @mkdir -p $(dir $@) - $(hide) echo -n > $@ - $(hide) $(foreach lib,$(PRIVATE_VNDK_PRIVATE_LIBRARIES), \ - echo $(lib) >> $@;) +$(foreach pair,$(vndk_libraries_files),\ + $(eval _filename := $(call word-colon,1,$(pair)))\ + $(eval _prebuilt := $(call word-colon,2,$(pair)))\ + $(eval include $(CLEAR_VARS))\ + $(eval LOCAL_MODULE := $(_filename))\ + $(eval LOCAL_MODULE_CLASS := ETC)\ + $(eval LOCAL_PREBUILT_MODULE_FILE := $(_prebuilt))\ + $(eval LOCAL_MODULE_PATH := $(TARGET_OUT_ETC))\ + $(eval LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)))\ + $(eval include $(BUILD_PREBUILT))) +vndk_libraries_files := ####################################### # sanitizer.libraries.txt @@ -390,22 +338,6 @@ $(LOCAL_BUILT_MODULE): $(hide) $(foreach lib,$(PRIVATE_SANITIZER_RUNTIME_LIBRARIES), \ echo $(lib) >> $@;) -####################################### -# vndkcorevariant.libraries.txt -include $(CLEAR_VARS) -LOCAL_MODULE := vndkcorevariant.libraries.txt -LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(call append_vndk_version,$(LOCAL_MODULE)) -include $(BUILD_SYSTEM)/base_rules.mk -$(LOCAL_BUILT_MODULE): PRIVATE_VNDK_CORE_VARIANT_LIBRARIES := $(call module-installed-files-or-guess,$(VNDK_USING_CORE_VARIANT_LIBRARIES),.vendor) -$(LOCAL_BUILT_MODULE): - @echo "Generate: $@" - @mkdir -p $(dir $@) - $(hide) echo -n > $@ - $(hide) $(foreach lib,$(PRIVATE_VNDK_CORE_VARIANT_LIBRARIES), \ - echo $(lib) >> $@;) - ####################################### # adb_debug.prop in debug ramdisk include $(CLEAR_VARS)