Nativehelper: Export header-only version of helpers

Export a version of the nativehelper helpers that doesn't have
a dependency on the libnativehelper library. Instead, provide an
inline function for null throw.

Test: m
Change-Id: Idfab8809873d54db824c8bc089f003265fe5a9b9
diff --git a/Android.bp b/Android.bp
index a76b782..99a8597 100644
--- a/Android.bp
+++ b/Android.bp
@@ -20,6 +20,12 @@
 }
 
 cc_library_headers {
+    name: "libnativehelper_header_only",
+    host_supported: true,
+    export_include_dirs: ["header_only_include"],
+}
+
+cc_library_headers {
     name: "jni_platform_headers",
     host_supported: true,
     export_include_dirs: ["platform_include"],
@@ -41,8 +47,16 @@
         },
     },
 
-    header_libs: ["jni_headers", "jni_platform_headers"],
-    export_header_lib_headers: ["jni_headers"],
+    header_libs: [
+        "jni_headers",
+        "libnativehelper_header_only",
+        "jni_platform_headers"
+    ],
+    export_header_lib_headers: [
+        "jni_headers",
+        "libnativehelper_header_only",
+        "jni_platform_headers",
+    ],
 
     shared_libs: [
         "liblog",
@@ -52,7 +66,7 @@
         "-fvisibility=protected",
     ],
 
-    export_include_dirs: ["include", "platform_include"],
+    export_include_dirs: ["include"],
 }
 
 //
@@ -64,11 +78,15 @@
 cc_library_shared {
     name: "libnativehelper_compat_libc++",
     export_include_dirs: [
+        "header_only_include",
         "include",
         "include/nativehelper", // TODO(b/63762847): remove
     ],
     cflags: ["-Werror"],
-    include_dirs: ["libnativehelper/platform_include"],
+    include_dirs: [
+        "libnativehelper/header_only_include",
+        "libnativehelper/platform_include",
+    ],
     srcs: [
         "JNIHelp.cpp",
         "JniConstants.cpp",