1//
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// =========================================================================
20cc_library {
21    name: "libstatssocket",
22    srcs: [
23        "stats_buffer_writer.c",
24        "stats_event.c",
25        // TODO(b/145573568): Remove stats_event_list once stats_event
26        // migration is complete.
27        "stats_event_list.c",
28        "statsd_writer.c",
29    ],
30    host_supported: true,
31    cflags: [
32        "-Wall",
33        "-Werror",
34        "-DLIBLOG_LOG_TAG=1006",
35        "-DWRITE_TO_STATSD=1",
36        "-DWRITE_TO_LOGD=0",
37    ],
38    export_include_dirs: ["include"],
39    shared_libs: [
40        "libcutils",
41        "liblog",
42    ],
43
44    // enumerate stable entry points for APEX use
45    stubs: {
46        symbol_file: "libstatssocket.map.txt",
47        versions: [
48            "1",
49        ],
50    }
51}
52
53cc_library_headers {
54    name: "libstatssocket_headers",
55    export_include_dirs: ["include"],
56    host_supported: true,
57    apex_available: ["com.android.resolv"],
58    min_sdk_version: "29",
59}
60
61cc_benchmark {
62    name: "libstatssocket_benchmark",
63    srcs: [
64        "benchmark/main.cpp",
65        "benchmark/stats_event_benchmark.cpp",
66    ],
67    cflags: [
68        "-Wall",
69        "-Werror",
70    ],
71    static_libs: [
72        "libstatssocket",
73    ],
74    shared_libs: [
75        "libcutils",
76        "liblog",
77        "libgtest_prod",
78    ],
79}
80
81cc_test {
82    name: "libstatssocket_test",
83    srcs: ["tests/stats_event_test.cpp"],
84    cflags: [
85        "-Wall",
86        "-Werror",
87    ],
88    static_libs: [
89        "libgmock",
90        "libstatssocket",
91    ],
92    shared_libs: [
93        "libcutils",
94        "liblog",
95        "libutils",
96    ],
97    test_suites: ["device_tests"],
98}
99