OSDN Git Service

New target to add vndk-sp libs to system image
authorIsaac Chen <ycchen@google.com>
Tue, 6 Jun 2017 13:01:11 +0000 (21:01 +0800)
committerSzuWei Lin <szuweilin@google.com>
Thu, 8 Jun 2017 10:47:35 +0000 (18:47 +0800)
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

vndk/Android.mk [new file with mode: 0644]
vndk/vndk-sp-libs.mk [new file with mode: 0644]

diff --git a/vndk/Android.mk b/vndk/Android.mk
new file mode 100644 (file)
index 0000000..4ef78ba
--- /dev/null
@@ -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 (file)
index 0000000..cce2773
--- /dev/null
@@ -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 \