sdm660-common: vndk: Add missing vndk-sp libs to the VNDK-SP list

For the Treble devices without BOARD_VNDK_VERSION, we must have a
list of vndk-sp libs.
If there are some missing vndk-sp libs in the list, add them to the
list automatically.
Bug: 72470805
Bug: 69526027
Test: build sailfish/marlin and check boot
Change-Id: Ifc30ae32b6353141954bdcb8b0e40940382eb8a4
Signed-off-by: Volodymyr Zhdanov <wight554@gmail.com>
This commit is contained in:
Justin Yun 2018-02-01 16:40:28 +09:00 committed by Max Weffers
parent cc53ae1eb7
commit 23aea2d283
No known key found for this signature in database
GPG key ID: 795F73D22FB93FAE
2 changed files with 51 additions and 62 deletions

View file

@ -1,45 +1,67 @@
LOCAL_PATH := $(call my-dir)
EXTRA_VENDOR_LIBRARIES_32 := \
libaudioclient \
libaudiomanager \
libbinder \
libcamera_client \
libft2 \
libgui.vendor \
libharfbuzz_ng \
libheif \
libicui18n \
libicuuc \
libmedia \
libstagefright \
libstagefright_foundation \
libmediametrics \
libminikin \
libsonivox
# b/69526027: This VNDK-SP install routine must be removed. Instead, we must
# build vendor variants of the VNDK-SP modules.
define define-vndk-lib
ifndef BOARD_VNDK_VERSION
# The libs with "vndk: {enabled: true, support_system_process: true}" will be
# added VNDK_SP_LIBRARIES automatically. And the core variants of the VNDK-SP
# libs will be copied to vndk-sp directory.
# However, some of those libs need FWK-ONLY libs, which must be listed here
# manually.
VNDK_SP_LIBRARIES := \
libdexfile
install_in_hw_dir := \
android.hidl.memory@1.0-impl
vndk_sp_dir := vndk-sp-$(PLATFORM_VNDK_VERSION)
define define-vndk-sp-lib
include $$(CLEAR_VARS)
LOCAL_MODULE := $1.vndk-ext-gen
LOCAL_MODULE := $1.vndk-sp-gen
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PREBUILT_MODULE_FILE := $$(call intermediates-dir-for,SHARED_LIBRARIES,$1,,,$3,)/$1.so
LOCAL_PREBUILT_MODULE_FILE := $$(call intermediates-dir-for,SHARED_LIBRARIES,$1,,,,)/$1.so
LOCAL_STRIP_MODULE := false
LOCAL_MULTILIB := $2
LOCAL_MULTILIB := first
LOCAL_MODULE_TAGS := optional
LOCAL_INSTALLED_MODULE_STEM := $$(basename $1).so
LOCAL_INSTALLED_MODULE_STEM := $1.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_RELATIVE_PATH := $(vndk_sp_dir)$(if $(filter $1,$(install_in_hw_dir)),/hw)
include $$(BUILD_PREBUILT)
ifneq ($$(TARGET_2ND_ARCH),)
ifneq ($$(TARGET_TRANSLATE_2ND_ARCH),true)
include $$(CLEAR_VARS)
LOCAL_MODULE := $1.vndk-sp-gen
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_PREBUILT_MODULE_FILE := $$(call intermediates-dir-for,SHARED_LIBRARIES,$1,,,$$(TARGET_2ND_ARCH_VAR_PREFIX),)/$1.so
LOCAL_STRIP_MODULE := false
LOCAL_MULTILIB := 32
LOCAL_MODULE_TAGS := optional
LOCAL_INSTALLED_MODULE_STEM := $1.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_RELATIVE_PATH := $(vndk_sp_dir)$(if $(filter $1,$(install_in_hw_dir)),/hw)
include $$(BUILD_PREBUILT)
endif # TARGET_TRANSLATE_2ND_ARCH is not true
endif # TARGET_2ND_ARCH is not empty
endef
$(foreach lib,$(EXTRA_VENDOR_LIBRARIES_32),\
$(eval $(call define-vndk-lib,$(lib),32,$(TARGET_2ND_ARCH_VAR_PREFIX))))
# Add VNDK-SP libs to the list if they are missing
$(foreach lib,$(VNDK_SAMEPROCESS_LIBRARIES),\
$(if $(filter $(lib),$(VNDK_SP_LIBRARIES)),,\
$(eval VNDK_SP_LIBRARIES += $(lib))))
$(foreach lib,$(EXTRA_VENDOR_LIBRARIES_64),\
$(eval $(call define-vndk-lib,$(lib),first,)))
$(foreach lib,$(VNDK_SP_LIBRARIES),\
$(eval $(call define-vndk-sp-lib,$(lib))))
include $(CLEAR_VARS)
LOCAL_MODULE := vndk-ext
LOCAL_MODULE := vndk-sp
LOCAL_MODULE_TAGS := optional
LOCAL_REQUIRED_MODULES := $(addsuffix .vndk-ext-gen,$(EXTRA_VENDOR_LIBRARIES_32) $(EXTRA_VENDOR_LIBRARIES_64))
LOCAL_REQUIRED_MODULES := $(addsuffix .vndk-sp-gen,$(VNDK_SP_LIBRARIES))
include $(BUILD_PHONY_PACKAGE)
install_in_hw_dir :=
vndk_sp_dir :=
endif

View file

@ -1,33 +0,0 @@
VNDK_SP_LIBRARIES := \
android.hardware.graphics.allocator@2.0 \
android.hardware.graphics.mapper@2.0 \
android.hardware.graphics.mapper@2.1 \
android.hardware.graphics.common@1.0 \
android.hardware.graphics.common@1.1 \
android.hardware.renderscript@1.0 \
android.hidl.base@1.0 \
android.hidl.memory@1.0 \
libRSCpuRef \
libRSDriver \
libRS_internal \
libbacktrace \
libbase \
libbcinfo \
libblas \
libc++ \
libcompiler_rt \
libcutils \
libft2 \
libhardware \
libhidlbase \
libhidlmemory \
libhidltransport \
libhwbinder \
libion \
liblzma \
libpng \
libunwind \
libunwindstack \
libutils \
libutilscallstack \
libdexfile