OSDN Git Service

Make libnativewindow as LL-NDK
authorJiyong Park <jiyong@google.com>
Fri, 28 Apr 2017 11:20:33 +0000 (20:20 +0900)
committerJiyong Park <jiyong@google.com>
Fri, 28 Apr 2017 11:28:13 +0000 (20:28 +0900)
VNDK and vendor code can now link against to libnativewindow which
provides AHardwareBuffer that is an alternative to GraphicBuffer.
GraphicBuffer is provided by libui.so and the lib is not available to
SP-HALs and not encouraged for ordinary (binderized) HALs.

Bug: 37488074
Test: BOARD_VNDK_VERSION=current m libnativewindow builds successfully
Test: libnativewindow.so is only installed to system/lib(64)/ and not
/vendor/lib(64).

Change-Id: Ibc56e13d1a048f2270741fa6aec0687cfeac3598

libs/nativewindow/Android.bp
libs/nativewindow/libnativewindow.map.vndk.txt [new file with mode: 0644]

index d759acb..938d426 100644 (file)
@@ -63,4 +63,11 @@ cc_library {
     ],
 }
 
+llndk_library {
+    name: "libnativewindow",
+    symbol_file: "libnativewindow.map.vndk.txt",
+    unversioned: true,
+    export_include_dirs: ["include"],
+}
+
 subdirs = ["tests"]
diff --git a/libs/nativewindow/libnativewindow.map.vndk.txt b/libs/nativewindow/libnativewindow.map.vndk.txt
new file mode 100644 (file)
index 0000000..eed4e19
--- /dev/null
@@ -0,0 +1,44 @@
+LIBNATIVEWINDOW {
+  global:
+    AHardwareBuffer_acquire;
+    AHardwareBuffer_allocate;
+    AHardwareBuffer_describe;
+    AHardwareBuffer_fromHardwareBuffer;
+    AHardwareBuffer_getNativeHandle;
+    AHardwareBuffer_lock;
+    AHardwareBuffer_recvHandleFromUnixSocket;
+    AHardwareBuffer_release;
+    AHardwareBuffer_sendHandleToUnixSocket;
+    AHardwareBuffer_toHardwareBuffer;
+    AHardwareBuffer_unlock;
+    ANativeWindowBuffer_getHardwareBuffer;
+    ANativeWindow_OemStorageGet;
+    ANativeWindow_OemStorageSet;
+    ANativeWindow_acquire;
+    ANativeWindow_cancelBuffer;
+    ANativeWindow_dequeueBuffer;
+    ANativeWindow_fromSurface;
+    ANativeWindow_fromSurfaceTexture;
+    ANativeWindow_getFormat;
+    ANativeWindow_getHeight;
+    ANativeWindow_getWidth;
+    ANativeWindow_lock;
+    ANativeWindow_query;
+    ANativeWindow_queryf;
+    ANativeWindow_queueBuffer;
+    ANativeWindow_release;
+    ANativeWindow_setAutoRefresh;
+    ANativeWindow_setBufferCount;
+    ANativeWindow_setBufferDataSpace;
+    ANativeWindow_setBuffersDimensions;
+    ANativeWindow_setBuffersFormat;
+    ANativeWindow_setBuffersGeometry;
+    ANativeWindow_setBuffersTimestamp;
+    ANativeWindow_setBuffersTransform;
+    ANativeWindow_setSharedBufferMode;
+    ANativeWindow_setSwapInterval;
+    ANativeWindow_setUsage;
+    ANativeWindow_unlockAndPost;
+  local:
+    *;
+};