Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 058e0919 authored by Jiyong Park's avatar Jiyong Park
Browse files

Mark libsync as LL-NDK

libsync is used both by platform (e.g. libui.so) and by same-process
HALs (e.g. android.hardware.graphics.mapper@2.0-impl.so). Therefore it
is eligible for either VNDK-SP or LL-NDK. Among the two choices, LL-NDK
was selected because it is already an NDK and is just a thin wrapper
around a few kernel ioctls.

However, since libui (which is a vendor_available:true library) is using
more symbols that are not available to NDK clients, the extra symbols
are exposed as # vndk tag so that they are only available to VNDK
clients, but not to NDK clients.

Bug: 63866913
Test: BOARD_VNDK_VERSION=current m -j successful (2017 pixel)
Test: the built image is bootable
Change-Id: I60f883c049bd9b4562e6ce34d34ead47ba28af5f
parent 42a2f5c9
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -22,13 +22,15 @@ cc_defaults {

cc_library_shared {
    name: "libsync",
    vendor_available: true,
    vndk: {
        enabled: true,
    },
    defaults: ["libsync_defaults"],
}

llndk_library {
    name: "libsync",
    symbol_file: "libsync.map.txt",
    export_include_dirs: ["include"],
}

// libsync_recovery is only intended for the recovery binary.
// Future versions of the kernel WILL require an updated libsync, and will break
// anything statically linked against the current libsync.
+4 −8
Original line number Diff line number Diff line
@@ -19,14 +19,10 @@ LIBSYNC {
    sync_merge; # introduced=26
    sync_file_info; # introduced=26
    sync_file_info_free; # introduced=26
    sync_wait; # vndk
    sync_fence_info; # vndk
    sync_pt_info; # vndk
    sync_fence_info_free; # vndk
  local:
    *;
};

LIBSYNC_PLATFORM {
  global:
    sync_wait;
    sync_fence_info;
    sync_pt_info;
    sync_fence_info_free;
} LIBSYNC_PLATFORM;