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"],