Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8085927 authored by Yo Chiang's avatar Yo Chiang
Browse files

VNDK library list uses installed name

For example, module libprotobuf-cpp-lite has installed library name
libprotobuf-cpp-lite-3.9.1.so.
VNDK library list should use this installed name instead of module name.

Bug: 141019581
Test: m $ANDROID_PRODUCT_OUT/obj/PACKAGING/vndk_intermediates/libs.txt
Change-Id: I7f19fedafdd2809e0b8738bbab6ad513ddb30ea0
parent 17f505e7
Loading
Loading
Loading
Loading
+26 −8
Original line number Diff line number Diff line
@@ -2,19 +2,37 @@ LOCAL_PATH:= $(call my-dir)

#####################################################################
# Create the list of vndk libraries from the source code.

# 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

INTERNAL_VNDK_LIB_LIST := $(call intermediates-dir-for,PACKAGING,vndk)/libs.txt
$(INTERNAL_VNDK_LIB_LIST): PRIVATE_LLNDK_LIBRARIES := \
	$(call module-installed-files-or-guess,$(filter-out libclang_rt.%,$(LLNDK_LIBRARIES)),)
$(INTERNAL_VNDK_LIB_LIST): PRIVATE_VNDK_SAMEPROCESS_LIBRARIES := \
	$(call module-installed-files-or-guess,$(VNDK_SAMEPROCESS_LIBRARIES),.vendor)
$(INTERNAL_VNDK_LIB_LIST): PRIVATE_VNDK_CORE_LIBRARIES := \
	$(call module-installed-files-or-guess,$(filter-out libclang_rt.%,$(VNDK_CORE_LIBRARIES)),.vendor)
$(INTERNAL_VNDK_LIB_LIST): PRIVATE_VNDK_PRIVATE_LIBRARIES := \
	$(call module-installed-files-or-guess,$(VNDK_PRIVATE_LIBRARIES),.vendor)
$(INTERNAL_VNDK_LIB_LIST):
	@echo "Generate: $@"
	@mkdir -p $(dir $@)
	$(hide) echo -n > $@
	$(hide) $(foreach lib, $(filter-out libclang_rt.%,$(LLNDK_LIBRARIES)), \
	  echo LLNDK: $(lib).so >> $@;)
	$(hide) $(foreach lib, $(VNDK_SAMEPROCESS_LIBRARIES), \
	  echo VNDK-SP: $(lib).so >> $@;)
	$(hide) $(foreach lib, $(filter-out libclang_rt.%,$(VNDK_CORE_LIBRARIES)), \
	  echo VNDK-core: $(lib).so >> $@;)
	$(hide) $(foreach lib, $(VNDK_PRIVATE_LIBRARIES), \
	  echo VNDK-private: $(lib).so >> $@;)
	$(hide) $(foreach lib, $(PRIVATE_LLNDK_LIBRARIES), \
	  echo LLNDK: $(lib) >> $@;)
	$(hide) $(foreach lib, $(PRIVATE_VNDK_SAMEPROCESS_LIBRARIES), \
	  echo VNDK-SP: $(lib) >> $@;)
	$(hide) $(foreach lib, $(PRIVATE_VNDK_CORE_LIBRARIES), \
	  echo VNDK-core: $(lib) >> $@;)
	$(hide) $(foreach lib, $(PRIVATE_VNDK_PRIVATE_LIBRARIES), \
	  echo VNDK-private: $(lib) >> $@;)

#####################################################################
# This is the up-to-date list of vndk libs.
+2 −2
Original line number Diff line number Diff line
@@ -239,8 +239,8 @@ VNDK-core: libpiex.so
VNDK-core: libpng.so
VNDK-core: libpower.so
VNDK-core: libprocinfo.so
VNDK-core: libprotobuf-cpp-full.so
VNDK-core: libprotobuf-cpp-lite.so
VNDK-core: libprotobuf-cpp-full-3.9.1.so
VNDK-core: libprotobuf-cpp-lite-3.9.1.so
VNDK-core: libpuresoftkeymasterdevice.so
VNDK-core: libradio_metadata.so
VNDK-core: libselinux.so