Apply change in prebuilt names for config files
The suffix for VNDK config files ld.config.txt,
llndk.libraries.txt, and vndksp.libraries.txt has been changed to
*.$(PLATFORM_VNDK_VERSION).txt.
Refactor the paths-of-intermediates function such that instead of
parsing filenames from list of modules within the function,
provide the function a list of preprocessed
module_name:file_name pairs.
Bug: 70918357
Test: m -j vndk dist
Change-Id: I2d69b7822cef4c709e15a53f99c7ab2efb22406c
diff --git a/core/tasks/vndk.mk b/core/tasks/vndk.mk
index fd7a696..e42e0bd 100644
--- a/core/tasks/vndk.mk
+++ b/core/tasks/vndk.mk
@@ -36,15 +36,17 @@
# Returns list of file paths of the intermediate objs
#
# Args:
-# $(1): list of obj names (e.g., libfoo.vendor, ld.config.txt, ...)
+# $(1): list of module and filename pairs (e.g., ld.config.txt:ld.config.27.txt ...)
# $(2): target class (e.g., SHARED_LIBRARIES, STATIC_LIBRARIES, ETC)
# $(3): if not empty, evaluates for TARGET_2ND_ARCH
define paths-of-intermediates
$(strip \
- $(foreach obj,$(1), \
- $(eval file_name := $(if $(filter SHARED_LIBRARIES,$(2)),$(patsubst %.so,%,$(obj)).so,$(obj))) \
- $(eval dir := $(call intermediates-dir-for,$(2),$(obj),,,$(3))) \
- $(call append-path,$(dir),$(file_name)) \
+ $(foreach pair,$(1), \
+ $(eval split_pair := $(subst :,$(space),$(pair))) \
+ $(eval module := $(word 1,$(split_pair))) \
+ $(eval filename := $(word 2,$(split_pair))) \
+ $(eval dir := $(call intermediates-dir-for,$(2),$(module),,,$(3))) \
+ $(call append-path,$(dir),$(filename)) \
) \
)
endef
@@ -145,15 +147,16 @@
$(vndk_snapshot_zip): PRIVATE_VNDK_CORE_OUT := $(vndk_snapshot_arch)/shared/vndk-core
$(vndk_snapshot_zip): PRIVATE_VNDK_CORE_INTERMEDIATES := \
- $(call paths-of-intermediates,$(vndk_core_libs),SHARED_LIBRARIES)
+ $(call paths-of-intermediates,$(foreach lib,$(vndk_core_libs),$(lib):$(lib).so),SHARED_LIBRARIES)
$(vndk_snapshot_zip): PRIVATE_VNDK_SP_OUT := $(vndk_snapshot_arch)/shared/vndk-sp
$(vndk_snapshot_zip): PRIVATE_VNDK_SP_INTERMEDIATES := \
- $(call paths-of-intermediates,$(vndk_sp_libs),SHARED_LIBRARIES)
+ $(call paths-of-intermediates,$(foreach lib,$(vndk_sp_libs),$(lib):$(lib).so),SHARED_LIBRARIES)
$(vndk_snapshot_zip): PRIVATE_CONFIGS_OUT := $(vndk_snapshot_arch)/configs
$(vndk_snapshot_zip): PRIVATE_CONFIGS_INTERMEDIATES := \
- $(call paths-of-intermediates,$(vndk_prebuilt_txts),ETC) \
+ $(call paths-of-intermediates,$(foreach txt,$(vndk_prebuilt_txts), \
+ $(txt):$(patsubst %.txt,%.$(PLATFORM_VNDK_VERSION).txt,$(txt))),ETC) \
$(vndk_snapshot_configs)
$(vndk_snapshot_zip): PRIVATE_NOTICE_FILES_OUT := $(vndk_snapshot_arch)/NOTICE_FILES
@@ -166,10 +169,10 @@
# vndk_snapshot_arch_2ND := $(vndk_snapshot_out)/arch-$(TARGET_2ND_ARCH)-$(TARGET_2ND_ARCH_VARIANT)
# $(vndk_snapshot_zip): PRIVATE_VNDK_CORE_OUT_2ND := $(vndk_snapshot_arch_2ND)/shared/vndk-core
# $(vndk_snapshot_zip): PRIVATE_VNDK_CORE_INTERMEDIATES_2ND := \
-# $(call paths-of-intermediates,$(vndk_core_libs),SHARED_LIBRARIES,true)
+# $(call paths-of-intermediates,$(foreach lib,$(vndk_core_libs),$(lib):$(lib).so),SHARED_LIBRARIES,true)
# $(vndk_snapshot_zip): PRIVATE_VNDK_SP_OUT_2ND := $(vndk_snapshot_arch_2ND)/shared/vndk-sp
# $(vndk_snapshot_zip): PRIVATE_VNDK_SP_INTERMEDIATES_2ND := \
-# $(call paths-of-intermediates,$(vndk_sp_libs),SHARED_LIBRARIES,true)
+# $(call paths-of-intermediates,$(foreach lib,$(vndk_sp_libs),$(lib):$(lib).so),SHARED_LIBRARIES,true)
# endif
# Args