blob: 89cdfe52ae31ab5215efb481b400e503bc3aa545 [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 ],
Tom Cherry3d8b7392020-09-16 11:32:47 -070032 header_libs: ["liblog_headers"],
Tej Singhd78f4da2020-01-29 15:56:52 -080033 cflags: [
34 "-Wall",
35 "-Werror",
36 ],
37}
38
39cc_library {
40 name: "libstatssocket",
41 defaults: [
42 "libstatssocket_defaults",
43 ],
44 host_supported: true,
45 target: {
46 // On android, libstatssocket should only be linked as a shared lib
47 android: {
48 static: {
49 enabled: false,
50 },
51 },
52 host: {
53 shared: {
54 enabled: false,
55 },
56 },
57 },
Tej Singh5d8f7702020-04-06 15:01:41 -070058 stl: "libc++_static",
Ruchir Rastogi5dbcae52019-12-19 15:44:58 -080059
60 // enumerate stable entry points for APEX use
61 stubs: {
62 symbol_file: "libstatssocket.map.txt",
63 versions: [
Tej Singha8fd39d2020-01-14 13:46:27 -080064 "30",
Ruchir Rastogi5dbcae52019-12-19 15:44:58 -080065 ],
Jeffrey Huangb0a85dc2020-02-12 14:22:01 -080066 },
67 apex_available: [
Muhammad Qureshi3a40ee52020-02-18 16:52:22 -080068 "com.android.os.statsd",
69 "test_com.android.os.statsd",
Jeffrey Huangb0a85dc2020-02-12 14:22:01 -080070 ],
Muhammad Qureshia3dcefc2019-12-02 20:27:46 -080071}
Ruchir Rastogi926fa882019-12-10 18:46:23 -080072
Tej Singhd78f4da2020-01-29 15:56:52 -080073//TODO (b/149842105): Figure out if there is a better solution for this.
74cc_test_library {
75 name: "libstatssocket_private",
76 defaults: [
77 "libstatssocket_defaults",
78 ],
79 visibility: [
80 "//frameworks/base/apex/statsd/tests/libstatspull",
81 "//frameworks/base/cmds/statsd",
82 ],
83}
84
Ruchir Rastogi926fa882019-12-10 18:46:23 -080085cc_library_headers {
86 name: "libstatssocket_headers",
87 export_include_dirs: ["include"],
88 host_supported: true,
Jiyong Parka6bcd482020-04-08 23:40:03 +090089 apex_available: ["com.android.resolv"],
Jooyung Hanf2d4dc62020-04-16 18:48:33 +090090 min_sdk_version: "29",
Ruchir Rastogi926fa882019-12-10 18:46:23 -080091}
Ruchir Rastogi79dd3ea2019-12-12 17:16:59 -080092
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -080093cc_test {
94 name: "libstatssocket_test",
Jeffrey Huang6cc1d412020-04-24 12:01:44 -070095 srcs: [
96 "tests/stats_event_test.cpp",
97 "tests/stats_writer_test.cpp",
98 ],
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -080099 cflags: [
100 "-Wall",
101 "-Werror",
102 ],
103 static_libs: [
104 "libgmock",
Tej Singhd78f4da2020-01-29 15:56:52 -0800105 "libstatssocket_private",
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800106 ],
107 shared_libs: [
108 "libcutils",
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800109 "libutils",
110 ],
Jeffrey Huang2f51ad72020-04-22 17:09:30 -0700111 test_suites: ["device-tests", "mts"],
Chen Zhuc724fb62020-05-20 13:06:24 -0700112 test_config: "libstatssocket_test.xml",
Ruchir Rastogif2a5ed02020-06-10 20:43:53 -0700113 //TODO(b/153588990): Remove when the build system properly separates.
Jeffrey Huang2f51ad72020-04-22 17:09:30 -0700114 //32bit and 64bit architectures.
115 compile_multilib: "both",
116 multilib: {
117 lib64: {
118 suffix: "64",
Chen Zhuc724fb62020-05-20 13:06:24 -0700119 },
120 lib32: {
121 suffix: "32",
122 },
Jeffrey Huang2f51ad72020-04-22 17:09:30 -0700123 },
Jeffrey Huang18d239c2020-04-24 10:43:08 -0700124 require_root: true,
Ruchir Rastogi21c1f9c2020-01-07 09:36:04 -0800125}