blob: b02ab42b282110a191072c002f052cd6e8ae171f [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 },
Ruchir Rastogi5dbcae52019-12-19 15:44:58 -080057
58 // enumerate stable entry points for APEX use
59 stubs: {
60 symbol_file: "libstatssocket.map.txt",
61 versions: [
Tej Singha8fd39d2020-01-14 13:46:27 -080062 "30",
Ruchir Rastogi5dbcae52019-12-19 15:44:58 -080063 ],
Jeffrey Huangb0a85dc2020-02-12 14:22:01 -080064 },
65 apex_available: [
Muhammad Qureshi3a40ee52020-02-18 16:52:22 -080066 "com.android.os.statsd",
67 "test_com.android.os.statsd",
Jeffrey Huangb0a85dc2020-02-12 14:22:01 -080068 ],
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -080069}
Ruchir Rastogi926fa882019-12-10 18:46:23 -080070
Tej Singhd78f4da2020-01-29 15:56:52 -080071//TODO (b/149842105): Figure out if there is a better solution for this.
72cc_test_library {
73 name: "libstatssocket_private",
74 defaults: [
75 "libstatssocket_defaults",
76 ],
77 visibility: [
78 "//frameworks/base/apex/statsd/tests/libstatspull",
79 "//frameworks/base/cmds/statsd",
80 ],
81}
82
Ruchir Rastogi926fa882019-12-10 18:46:23 -080083cc_library_headers {
84 name: "libstatssocket_headers",
85 export_include_dirs: ["include"],
86 host_supported: true,
87}
Ruchir Rastogi79dd3ea2019-12-12 17:16:59 -080088
89cc_benchmark {
90 name: "libstatssocket_benchmark",
91 srcs: [
92 "benchmark/main.cpp",
93 "benchmark/stats_event_benchmark.cpp",
94 ],
95 cflags: [
96 "-Wall",
97 "-Werror",
98 ],
99 static_libs: [
Tej Singhd78f4da2020-01-29 15:56:52 -0800100 "libstatssocket_private",
Ruchir Rastogi79dd3ea2019-12-12 17:16:59 -0800101 ],
102 shared_libs: [
103 "libcutils",
Ruchir Rastogi79dd3ea2019-12-12 17:16:59 -0800104 "libgtest_prod",
105 ],
106}
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800107
108cc_test {
109 name: "libstatssocket_test",
110 srcs: ["tests/stats_event_test.cpp"],
111 cflags: [
112 "-Wall",
113 "-Werror",
114 ],
115 static_libs: [
116 "libgmock",
Tej Singhd78f4da2020-01-29 15:56:52 -0800117 "libstatssocket_private",
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800118 ],
119 shared_libs: [
120 "libcutils",
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800121 "libutils",
122 ],
Tej Singh0fca7362020-02-04 14:13:20 -0800123 test_suites: ["device-tests"],
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800124}