blob: 3f420886863fde9fe1b66ff68b9e602d1b1908f8 [file] [log] [blame]
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -08001//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17// =========================================================================
18// Native library to write stats log to statsd socket on Android R and later
19// =========================================================================
Tej Singhd78f4da2020-01-29 15:56:52 -080020cc_defaults {
21 name: "libstatssocket_defaults",
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -080022 srcs: [
Muhammad Qureshi962cc232019-11-06 15:15:23 -080023 "stats_buffer_writer.c",
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -080024 "stats_event.c",
Muhammad Qureshi2ebc2e32020-02-11 14:12:59 -080025 "stats_socket.c",
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -080026 "statsd_writer.c",
27 ],
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -080028 export_include_dirs: ["include"],
Ruchir Rastogie1cff242020-02-14 12:03:35 -080029 static_libs: [
30 "libcutils", // does not expose a stable C API
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -080031 ],
Tej Singhd78f4da2020-01-29 15:56:52 -080032 cflags: [
33 "-Wall",
34 "-Werror",
35 ],
36}
37
38cc_library {
39 name: "libstatssocket",
40 defaults: [
41 "libstatssocket_defaults",
42 ],
43 host_supported: true,
44 target: {
45 // On android, libstatssocket should only be linked as a shared lib
46 android: {
47 static: {
48 enabled: false,
49 },
50 },
51 host: {
52 shared: {
53 enabled: false,
54 },
55 },
56 },
Tej Singh5d8f7702020-04-06 15:01:41 -070057 stl: "libc++_static",
Ruchir Rastogi5dbcae52019-12-19 15:44:58 -080058
59 // enumerate stable entry points for APEX use
60 stubs: {
61 symbol_file: "libstatssocket.map.txt",
62 versions: [
Tej Singha8fd39d2020-01-14 13:46:27 -080063 "30",
Ruchir Rastogi5dbcae52019-12-19 15:44:58 -080064 ],
Jeffrey Huangb0a85dc2020-02-12 14:22:01 -080065 },
66 apex_available: [
Muhammad Qureshi3a40ee52020-02-18 16:52:22 -080067 "com.android.os.statsd",
68 "test_com.android.os.statsd",
Jeffrey Huangb0a85dc2020-02-12 14:22:01 -080069 ],
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -080070}
Ruchir Rastogi926fa882019-12-10 18:46:23 -080071
Tej Singhd78f4da2020-01-29 15:56:52 -080072//TODO (b/149842105): Figure out if there is a better solution for this.
73cc_test_library {
74 name: "libstatssocket_private",
75 defaults: [
76 "libstatssocket_defaults",
77 ],
78 visibility: [
79 "//frameworks/base/apex/statsd/tests/libstatspull",
80 "//frameworks/base/cmds/statsd",
81 ],
82}
83
Ruchir Rastogi926fa882019-12-10 18:46:23 -080084cc_library_headers {
85 name: "libstatssocket_headers",
86 export_include_dirs: ["include"],
87 host_supported: true,
Jiyong Parka6bcd482020-04-08 23:40:03 +090088 apex_available: ["com.android.resolv"],
Ruchir Rastogi926fa882019-12-10 18:46:23 -080089}
Ruchir Rastogi79dd3ea2019-12-12 17:16:59 -080090
91cc_benchmark {
92 name: "libstatssocket_benchmark",
93 srcs: [
94 "benchmark/main.cpp",
95 "benchmark/stats_event_benchmark.cpp",
96 ],
97 cflags: [
98 "-Wall",
99 "-Werror",
100 ],
101 static_libs: [
Tej Singhd78f4da2020-01-29 15:56:52 -0800102 "libstatssocket_private",
Ruchir Rastogi79dd3ea2019-12-12 17:16:59 -0800103 ],
104 shared_libs: [
105 "libcutils",
Ruchir Rastogi79dd3ea2019-12-12 17:16:59 -0800106 "libgtest_prod",
107 ],
108}
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800109
110cc_test {
111 name: "libstatssocket_test",
112 srcs: ["tests/stats_event_test.cpp"],
113 cflags: [
114 "-Wall",
115 "-Werror",
116 ],
117 static_libs: [
118 "libgmock",
Tej Singhd78f4da2020-01-29 15:56:52 -0800119 "libstatssocket_private",
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800120 ],
121 shared_libs: [
122 "libcutils",
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800123 "libutils",
124 ],
Jeffrey Huang2f51ad72020-04-22 17:09:30 -0700125 test_suites: ["device-tests", "mts"],
126 //TODO(b/153588990): Remove when the build system properly separates
127 //32bit and 64bit architectures.
128 compile_multilib: "both",
129 multilib: {
130 lib64: {
131 suffix: "64",
132 }
133 },
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800134}