Revert "Revert "New target to add vndk-sp libs to system image""
We will selectively revert on a branch only.
This reverts commit f4e3d9d712bec48d70fee1637df11cfbb3bb0373.
Change-Id: Iac786c87e4619ff1af8a13c46f9bb857043663f2
diff --git a/vndk/Android.mk b/vndk/Android.mk
new file mode 100644
index 0000000..a2cc0b4
--- /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 := $$(TARGET_OUT_INTERMEDIATE_LIBRARIES)/$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 := $$($$(TARGET_2ND_ARCH_VAR_PREFIX)TARGET_OUT_INTERMEDIATE_LIBRARIES)/$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..5a08712
--- /dev/null
+++ b/vndk/vndk-sp-libs.mk
@@ -0,0 +1,26 @@
+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 \
+ android.hidl.base@1.0 \
+ libRSCpuRef \
+ libRSDriver \
+ libRS_internal \
+ libbacktrace \
+ libbase \
+ libbcinfo \
+ libblas \
+ libc++ \
+ libcompiler_rt \
+ libcutils \
+ libft2 \
+ libhardware \
+ libhidlbase \
+ libhidltransport \
+ libhwbinder \
+ libion \
+ liblzma \
+ libpng \
+ libunwind \
+ libutils \