platform_system_core/libsync/Android.bp
Jiyong Park b87f884b99 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
Merged-In: I60f883c049bd9b4562e6ce34d34ead47ba28af5f
Change-Id: I60f883c049bd9b4562e6ce34d34ead47ba28af5f
(cherry picked from commit 058e0919f6)
2017-09-15 00:33:52 +00:00

60 lines
1.2 KiB
Text

ndk_headers {
name: "libsync_headers",
from: "include/ndk",
to: "android",
srcs: ["include/ndk/sync.h"],
license: "NOTICE",
}
ndk_library {
name: "libsync",
symbol_file: "libsync.map.txt",
first_version: "26",
}
cc_defaults {
name: "libsync_defaults",
srcs: ["sync.c"],
local_include_dirs: ["include"],
export_include_dirs: ["include"],
cflags: ["-Werror"],
}
cc_library_shared {
name: "libsync",
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.
cc_library_static {
name: "libsync_recovery",
defaults: ["libsync_defaults"],
}
cc_test {
name: "sync_test",
defaults: ["libsync_defaults"],
gtest: false,
srcs: ["sync_test.c"],
}
cc_test {
name: "sync-unit-tests",
shared_libs: ["libsync"],
srcs: ["tests/sync_test.cpp"],
cflags: [
"-g",
"-Wall",
"-Werror",
"-Wno-missing-field-initializers",
"-Wno-sign-compare",
],
}