platform_system_core/libsync/Android.bp
Jooyung Han 78fc553d68 Make libsync a stubs library
libsync is an NDK/LLNDK library but it's missing "stubs" key. So, when
it is referenced by an APEX, it is bundled in APEX package.

By adding "stubs" property, we can make it a stubs library and APEXes
use it from the system instead of bundling it.

Note that the symbol(sync_wait) is exposed to APEX because it is used
by libui which is used by media APEXes again.

Bug: 158270824
Test: lunch mini_armv7a_neon   # no VNDK
      m com.andorid.media.swcodec
      // see if libsync is not in the APEX
Change-Id: I39e682328acb5cc363a4242601e5bf1470938dac
2020-06-05 17:13:57 +09:00

53 lines
1 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 {
name: "libsync",
recovery_available: true,
native_bridge_supported: true,
defaults: ["libsync_defaults"],
stubs: {
symbol_file: "libsync.map.txt",
versions: [
"26",
],
},
}
llndk_library {
name: "libsync",
symbol_file: "libsync.map.txt",
export_include_dirs: ["include"],
}
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",
],
}