diff --git a/CleanSpec.mk b/CleanSpec.mk index e2e95778a..dc45959c5 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -71,3 +71,6 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/storageproxyd) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/tipc-test) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/trusty_keymaster_tipc) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/root) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/ld.config.txt) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/llndk.libraries.txt) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/vndksp.libraries.txt) diff --git a/rootdir/Android.mk b/rootdir/Android.mk index e9bd8d4a0..492d63a83 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -125,6 +125,18 @@ $(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/init.environ.rc.in $(bcp_dep) bcp_md5 := bcp_dep := +# If PLATFORM_VNDK_VERSION is defined and not "current", generate versioned +# module names for ld.config.txt, llndk.libraries.txt and vndksp.libraries.txt +# files. +define versioned_module_name +$(strip \ + $(if $(filter-out current,$(PLATFORM_VNDK_VERSION)), \ + $(basename $(LOCAL_MODULE)).$(PLATFORM_VNDK_VERSION)$(suffix $(LOCAL_MODULE)), \ + $(LOCAL_MODULE) \ + ) \ +) +endef + ####################################### # ld.config.txt include $(CLEAR_VARS) @@ -141,7 +153,7 @@ ifeq ($(_enforce_vndk_at_runtime),true) LOCAL_MODULE := ld.config.txt LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(LOCAL_MODULE) +LOCAL_MODULE_STEM := $(call versioned_module_name) include $(BUILD_SYSTEM)/base_rules.mk llndk_libraries := $(call normalize-path-list,$(addsuffix .so,\ @@ -187,13 +199,14 @@ else # if _enforce_vndk_at_runtime is not true LOCAL_MODULE := ld.config.txt ifeq ($(PRODUCT_TREBLE_LINKER_NAMESPACES)|$(SANITIZE_TARGET),true|) -LOCAL_SRC_FILES := etc/ld.config.txt + LOCAL_SRC_FILES := etc/ld.config.txt + LOCAL_MODULE_STEM := $(call versioned_module_name) else -LOCAL_SRC_FILES := etc/ld.config.legacy.txt + LOCAL_SRC_FILES := etc/ld.config.legacy.txt + LOCAL_MODULE_STEM := $(LOCAL_MODULE) endif LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(LOCAL_MODULE) include $(BUILD_PREBUILT) endif @@ -203,7 +216,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := llndk.libraries.txt LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(LOCAL_MODULE) +LOCAL_MODULE_STEM := $(call versioned_module_name) include $(BUILD_SYSTEM)/base_rules.mk $(LOCAL_BUILT_MODULE): PRIVATE_LLNDK_LIBRARIES := $(LLNDK_LIBRARIES) $(LOCAL_BUILT_MODULE): @@ -219,7 +232,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := vndksp.libraries.txt LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT_ETC) -LOCAL_MODULE_STEM := $(LOCAL_MODULE) +LOCAL_MODULE_STEM := $(call versioned_module_name) include $(BUILD_SYSTEM)/base_rules.mk $(LOCAL_BUILT_MODULE): PRIVATE_VNDK_SAMEPROCESS_LIBRARIES := $(VNDK_SAMEPROCESS_LIBRARIES) $(LOCAL_BUILT_MODULE):