Make libstatssocket a shared_lib

Make libstatssocket unable to be linked as a static lib on the platform.

Test: bit libstatssocket_test:*
Test: bit statsd_test:*
Test: atest LibStatsPullTests
Bug: 149340100

Change-Id: I5889dd718536f5f2c693b4c2e7331c9cc2eb2ac9
This commit is contained in:
Tej Singh 2020-01-29 15:56:52 -08:00
parent f3dfd4d821
commit d78f4dab02
2 changed files with 61 additions and 16 deletions

View File

@ -17,8 +17,8 @@
// ==========================================================
// Native library to register a pull atom callback with statsd
// ==========================================================
cc_library_shared {
name: "libstatspull",
cc_defaults {
name: "libstatspull_defaults",
srcs: [
"stats_pull_atom_callback.cpp",
],
@ -31,12 +31,16 @@ cc_library_shared {
"libbinder_ndk",
"liblog",
"statsd-aidl-ndk_platform",
"libstatssocket",
],
static_libs: [
"libutils",
// TODO(b/149340100): Clean this up when libstatssocket is moved to the apex.
"libstatssocket",
"libcutils",
],
}
cc_library_shared {
name: "libstatspull",
defaults: [
"libstatspull_defaults"
],
// enumerate stable entry points for APEX use
stubs: {
@ -50,3 +54,14 @@ cc_library_shared {
"test_com.android.os.statsd",
],
}
// ONLY USE IN TESTS.
cc_library_static {
name: "libstatspull_private",
defaults: [
"libstatspull_defaults",
],
visibility: [
"//frameworks/base/apex/statsd/tests/libstatspull",
],
}

View File

@ -17,23 +17,43 @@
// =========================================================================
// Native library to write stats log to statsd socket on Android R and later
// =========================================================================
cc_library {
name: "libstatssocket",
cc_defaults {
name: "libstatssocket_defaults",
srcs: [
"stats_buffer_writer.c",
"stats_event.c",
"stats_socket.c",
"statsd_writer.c",
],
host_supported: true,
cflags: [
"-Wall",
"-Werror",
],
export_include_dirs: ["include"],
static_libs: [
"libcutils", // does not expose a stable C API
],
cflags: [
"-Wall",
"-Werror",
],
}
cc_library {
name: "libstatssocket",
defaults: [
"libstatssocket_defaults",
],
host_supported: true,
target: {
// On android, libstatssocket should only be linked as a shared lib
android: {
static: {
enabled: false,
},
},
host: {
shared: {
enabled: false,
},
},
},
// enumerate stable entry points for APEX use
stubs: {
@ -43,13 +63,23 @@ cc_library {
],
},
apex_available: [
//TODO(b/149340100): Remove this once libstatssocket is only linked as shared.
"//apex_available:platform",
"com.android.os.statsd",
"test_com.android.os.statsd",
],
}
//TODO (b/149842105): Figure out if there is a better solution for this.
cc_test_library {
name: "libstatssocket_private",
defaults: [
"libstatssocket_defaults",
],
visibility: [
"//frameworks/base/apex/statsd/tests/libstatspull",
"//frameworks/base/cmds/statsd",
],
}
cc_library_headers {
name: "libstatssocket_headers",
export_include_dirs: ["include"],
@ -67,7 +97,7 @@ cc_benchmark {
"-Werror",
],
static_libs: [
"libstatssocket",
"libstatssocket_private",
],
shared_libs: [
"libcutils",
@ -84,7 +114,7 @@ cc_test {
],
static_libs: [
"libgmock",
"libstatssocket",
"libstatssocket_private",
],
shared_libs: [
"libcutils",