marlin: copy vndk-sp libraries to /vendor/lib/vndk-sp
Note: this shouldn't be permanent solution. Anything that is installed
to /vendor partition must be compiled against the vndk build of the
system libraries, which might be different than the core build of the
libraries. However, since the number of such libraries are so many and
thus it takes considerable time to build them as vndk. So, in the mean
time, we just build vendor libraries against the core build as before
and copy the core builds to the vendor partition.
Test: the listed files are in /vendor/lib(64?)/vndk-sp and their
contents are the same as those in /system/lib(64?).
Change-Id: If4d056c148bcba8f5cc2fd218ce0c6b1988dab61
diff --git a/device-common.mk b/device-common.mk
index a8bcebe..1e9a479 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -599,3 +599,19 @@
# whitelisted app
PRODUCT_COPY_FILES += \
device/google/marlin/qti_whitelist.xml:system/etc/sysconfig/qti_whitelist.xml
+
+PRODUCT_PACKAGES += \
+ android.hardware.renderscript@1.0.vndk-sp\
+ android.hardware.graphics.allocator@2.0.vndk-sp\
+ android.hardware.graphics.mapper@2.0.vndk-sp\
+ android.hardware.graphics.common@1.0.vndk-sp\
+ android.hidl.base@1.0.vndk-sp\
+ libhwbinder.vndk-sp\
+ libbase.vndk-sp\
+ libcutils.vndk-sp\
+ libhardware.vndk-sp\
+ libhidlbase.vndk-sp\
+ libhidltransport.vndk-sp\
+ libutils.vndk-sp\
+ libc++.vndk-sp\
+ libsync.vndk-sp\
diff --git a/vndk/Android.mk b/vndk/Android.mk
new file mode 100644
index 0000000..fdb49ba
--- /dev/null
+++ b/vndk/Android.mk
@@ -0,0 +1,46 @@
+LOCAL_PATH := $(call my-dir)
+
+VNDK_SP_LIBRARIES := \
+ android.hardware.renderscript@1.0\
+ android.hardware.graphics.allocator@2.0\
+ android.hardware.graphics.mapper@2.0\
+ android.hardware.graphics.common@1.0\
+ android.hidl.base@1.0\
+ libhwbinder\
+ libbase\
+ libcutils\
+ libhardware\
+ libhidlbase\
+ libhidltransport\
+ libutils\
+ libc++\
+ libsync\
+
+define add-vndk-sp-lib
+include $$(CLEAR_VARS)
+LOCAL_MODULE := $1.vndk-sp
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_PREBUILT_MODULE_FILE := $$(TARGET_OUT)/lib/$1.so
+LOCAL_MULTILIB := 32
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := $1.so
+LOCAL_MODULE_SUFFIX := .so
+LOCAL_VENDOR_MODULE := true
+LOCAL_MODULE_RELATIVE_PATH := vndk-sp
+include $$(BUILD_PREBUILT)
+
+include $$(CLEAR_VARS)
+LOCAL_MODULE := $1.vndk-sp
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_PREBUILT_MODULE_FILE := $$(TARGET_OUT)/lib64/$1.so
+LOCAL_MULTILIB := 64
+LOCAL_MODULE_TAGS := optional
+LOCAL_INSTALLED_MODULE_STEM := $1.so
+LOCAL_MODULE_SUFFIX := .so
+LOCAL_VENDOR_MODULE := true
+LOCAL_MODULE_RELATIVE_PATH := vndk-sp
+include $$(BUILD_PREBUILT)
+endef
+
+$(foreach lib,$(VNDK_SP_LIBRARIES),\
+ $(eval $(call add-vndk-sp-lib,$(lib))))