Split libnbaio into libnbaio + libnbaio_mono.

When the vndk is enabled (BOARD_VNDK_VERSION=current),
vendor libraries must only link against vendor variants
in the build system. This also means that they receive restricted
sets of headers and that automatic global headers are restricted.

Test: mma -j BOARD_VNDK_VERSION=current
Test: boots device, audio plays over YouTube
Bug: 37342627
Bug: 63269228
Change-Id: Ifa9c96f6b98b456def485be6bc5046ee54c3c3ca
diff --git a/media/libnbaio/Android.bp b/media/libnbaio/Android.bp
index a7cfe4a..02f7529 100644
--- a/media/libnbaio/Android.bp
+++ b/media/libnbaio/Android.bp
@@ -1,12 +1,46 @@
+
+cc_defaults {
+    name: "libnbaio_mono_defaults",
+    srcs: [
+        "MonoPipe.cpp",
+        "MonoPipeReader.cpp",
+        "NBAIO.cpp",
+    ],
+    header_libs: [
+        "libaudioclient_headers",
+        "libaudio_system_headers",
+        "libmedia_headers",
+    ],
+    export_header_lib_headers: [
+        "libaudioclient_headers",
+        "libmedia_headers",
+    ],
+
+    shared_libs: [
+        "libaudioutils",
+        "liblog",
+        "libutils",
+    ],
+
+    export_include_dirs: ["include_mono"],
+}
+
+// libnbaio_mono is the part of libnbaio that is available for vendors to use. Vendor modules can't
+// link against libnbaio and system modules can't link against libnbaio_mono. The rest of libnbaio
+// pulls in too many other dependencies.
+cc_library_shared {
+    name: "libnbaio_mono",
+    vendor: true,
+    defaults: ["libnbaio_mono_defaults"],
+}
+
 cc_library_shared {
     name: "libnbaio",
+    defaults: ["libnbaio_mono_defaults"],
     srcs: [
         "AudioBufferProviderSource.cpp",
         "AudioStreamInSource.cpp",
         "AudioStreamOutSink.cpp",
-        "MonoPipe.cpp",
-        "MonoPipeReader.cpp",
-        "NBAIO.cpp",
         "NBLog.cpp",
         "PerformanceAnalysis.cpp",
         "Pipe.cpp",
@@ -25,8 +59,8 @@
         "libaudioutils",
         "libbinder",
         "libcutils",
-        "libutils",
         "liblog",
+        "libutils",
     ],
 
     cflags: [
@@ -36,7 +70,5 @@
 
     include_dirs: ["system/media/audio_utils/include"],
 
-    local_include_dirs: ["include"],
-
     export_include_dirs: ["include"],
 }