New target to add vndk-sp libs to system image
VNDK-SP libraries should be put under /system/lib*/vndk-sp.
Usage: Adding this new target (vndk-sp) to PRODUCT_PACKAGES.
This initial list of vndk-sp libraries is based on Marlin/Sailfish.
Bug: 38356823
Test: tested with generic AOSP system image on Sailfish
Change-Id: Icbe6431e20c7b5355034f8444b4543df15830d67
diff --git a/vndk/Android.mk b/vndk/Android.mk
new file mode 100644
index 0000000..4ef78ba
--- /dev/null
+++ b/vndk/Android.mk
@@ -0,0 +1,47 @@
+ifneq ($(filter generic_%,$(TARGET_DEVICE)),)
+
+LOCAL_PATH := $(call my-dir)
+
+include $(LOCAL_PATH)/vndk-sp-libs.mk
+
+define define-vndk-sp-lib
+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,,,,)/$1.so
+LOCAL_STRIP_MODULE := false
+LOCAL_MULTILIB := first
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := $1.so
+LOCAL_MODULE_SUFFIX := .so
+LOCAL_MODULE_RELATIVE_PATH := vndk-sp
+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
+include $$(BUILD_PREBUILT)
+endif # TARGET_TRANSLATE_2ND_ARCH is not true
+endif # TARGET_2ND_ARCH is not empty
+endef
+
+$(foreach lib,$(VNDK_SP_LIBRARIES),\
+ $(eval $(call define-vndk-sp-lib,$(lib))))
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := vndk-sp
+LOCAL_MODULE_OWNER := google
+LOCAL_MODULE_TAGS := optional
+LOCAL_REQUIRED_MODULES := $(addsuffix .vndk-sp-gen,$(VNDK_SP_LIBRARIES))
+include $(BUILD_PHONY_PACKAGE)
+
+endif # TARGET_DEVICE is generic_*
diff --git a/vndk/vndk-sp-libs.mk b/vndk/vndk-sp-libs.mk
new file mode 100644
index 0000000..cce2773
--- /dev/null
+++ b/vndk/vndk-sp-libs.mk
@@ -0,0 +1,25 @@
+VNDK_SP_LIBRARIES := \
+ android.hardware.graphics.allocator@2.0 \
+ android.hardware.graphics.mapper@2.0 \
+ android.hardware.graphics.common@1.0 \
+ android.hardware.renderscript@1.0 \
+ libRSCpuRef \
+ libRSDriver \
+ libRS_internal \
+ libbacktrace \
+ libbase \
+ libbcinfo \
+ libblas \
+ libc++ \
+ libcompiler_rt \
+ libcutils \
+ libft2 \
+ libhardware \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libion \
+ liblzma \
+ libpng \
+ libunwind \
+ libutils \