diff --git a/vndk/Android.mk b/vndk/Android.mk index af986385..68a1ed6f 100644 --- a/vndk/Android.mk +++ b/vndk/Android.mk @@ -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 diff --git a/vndk/vndk-sp-libs.mk b/vndk/vndk-sp-libs.mk deleted file mode 100644 index 11dc2363..00000000 --- a/vndk/vndk-sp-libs.mk +++ /dev/null @@ -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