blob: bf79ea244e378b46e180cade9c28628340cbfd59 [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"],
Jooyung Hanf2d4dc62020-04-16 18:48:33 +090089 min_sdk_version: "29",
Ruchir Rastogi926fa882019-12-10 18:46:23 -080090}
Ruchir Rastogi79dd3ea2019-12-12 17:16:59 -080091
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -080092cc_test {
93 name: "libstatssocket_test",
Jeffrey Huang6cc1d412020-04-24 12:01:44 -070094 srcs: [
95 "tests/stats_event_test.cpp",
96 "tests/stats_writer_test.cpp",
97 ],
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -080098 cflags: [
99 "-Wall",
100 "-Werror",
101 ],
102 static_libs: [
103 "libgmock",
Tej Singhd78f4da2020-01-29 15:56:52 -0800104 "libstatssocket_private",
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800105 ],
106 shared_libs: [
107 "libcutils",
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800108 "libutils",
109 ],
Jeffrey Huang2f51ad72020-04-22 17:09:30 -0700110 test_suites: ["device-tests", "mts"],
Chen Zhuc724fb62020-05-20 13:06:24 -0700111 test_config: "libstatssocket_test.xml",
Ruchir Rastogif2a5ed02020-06-10 20:43:53 -0700112 //TODO(b/153588990): Remove when the build system properly separates.
Jeffrey Huang2f51ad72020-04-22 17:09:30 -0700113 //32bit and 64bit architectures.
114 compile_multilib: "both",
115 multilib: {
116 lib64: {
117 suffix: "64",
Chen Zhuc724fb62020-05-20 13:06:24 -0700118 },
119 lib32: {
120 suffix: "32",
121 },
Jeffrey Huang2f51ad72020-04-22 17:09:30 -0700122 },
Jeffrey Huang18d239c2020-04-24 10:43:08 -0700123 require_root: true,
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800124}