Prepare for moving Vulkan headers

In preparation for importing Vulkan headers from
external/vulkan-headers, this reorganizes the Vulkan Soong modules a
bit:

* Separate the Vulkan API headers from the Vulkan HAL headers. The
  former will move, the latter won't. Also, many things need the
  API headers but very few should use the HAL headers. These probably
  should have always been separate modules, but now they have to be.
* Add a llndk_headers module separate from the llndk_library module, so
  the header module can be in external/vulkan-headers but the library
  module can stay in frameworks/native.
* Merge "vulkan_headers_ndk" into "vulkan_headers". A single module can
  serve both unbundled and platform clients, these never needed to be
  duplicated.

Bug: 129696724
Test: make checkbuild
Change-Id: I955c880298843db4a2f4c08d93f7c8edbb205ef8
Merged-In: I955c880298843db4a2f4c08d93f7c8edbb205ef8
diff --git a/vulkan/libvulkan/Android.bp b/vulkan/libvulkan/Android.bp
index 71a120a..e1a1ebc 100644
--- a/vulkan/libvulkan/Android.bp
+++ b/vulkan/libvulkan/Android.bp
@@ -20,6 +20,14 @@
     unversioned_until: "current",
 }
 
+llndk_library {
+    name: "libvulkan",
+    symbol_file: "libvulkan.map.txt",
+    export_llndk_headers: [
+        "vulkan_headers_llndk",
+    ],
+}
+
 cc_library_shared {
     name: "libvulkan",
     clang: true,
@@ -65,10 +73,11 @@
         "swapchain.cpp",
     ],
 
-    export_header_lib_headers: ["vulkan_headers"],
     header_libs: [
+        "hwvulkan_headers",
         "vulkan_headers",
     ],
+    export_header_lib_headers: ["vulkan_headers"],
     shared_libs: [
         "android.hardware.configstore@1.0",
         "android.hardware.configstore-utils",