libselinux is LLNDK, not VNDK-core

libselinux has stable C APIs and therefore provides a stub library for
Mainline clients. It is not copied into any Mainline modules and the
only instance of the lib in /system/lib serves all of them.

However for vendors, we still had another copy of libselinux in VNDK
(e.g. in the VNDK APEX that is served via the path /system/lib/vndk).
Since the library is guaranteed to have stable C APIs, there is no
reason to keep the vendor variant of the library in VNDK. Keeping it in
VNDK would be just a waste of storage space.

This change removes libselinux from VNDK and marks it as LLNDK. The
single instance of if in /system/lib serves vendor processes as well as
Mainline modules.

Exempt-From-Owner-Approval: cherry-pick from AOSP

Bug: 151303316
Test: m
Merged-In: Ibb3e125c1bf4ef7873ae8df0795e781f64d743f1
(cherry picked from commit 1ea855ee67517de609aa1e78851f623fc696e143)
Change-Id: Ibb3e125c1bf4ef7873ae8df0795e781f64d743f1
diff --git a/libselinux/Android.bp b/libselinux/Android.bp
index 90dfe18..664e928 100644
--- a/libselinux/Android.bp
+++ b/libselinux/Android.bp
@@ -100,11 +100,6 @@
     name: "libselinux",
     defaults: ["libselinux_defaults"],
 
-    vendor_available: true,
-    vndk: {
-        enabled: true,
-    },
-    double_loadable: true,
     recovery_available: true,
 
     host_supported: true,
@@ -214,6 +209,12 @@
     },
 }
 
+llndk_library {
+    name: "libselinux",
+    export_include_dirs: ["include"],
+    symbol_file: "exported.map",
+}
+
 cc_binary_host {
     name: "sefcontext_compile",
     defaults: ["libselinux_defaults"],