blob: 0dfd0afa925a422457ae0cfbfff9f216ddd72050 [file] [log] [blame]
Ken Chenf2bb7b12022-01-22 19:17:20 +08001//
2// Copyright (C) 2017 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
17package {
Ken Chenf426b2b2022-01-23 15:39:13 +080018 default_applicable_licenses: ["Android-Apache-2.0"],
Ken Chenf2bb7b12022-01-22 19:17:20 +080019}
20
21cc_library {
Ken Chenf426b2b2022-01-23 15:39:13 +080022 name: "libnetworkstats",
Ken Chenf2bb7b12022-01-22 19:17:20 +080023 vendor_available: false,
24 host_supported: false,
25 header_libs: ["bpf_connectivity_headers"],
26 srcs: [
Ryan Zuklie0b9478b2023-01-10 13:45:39 -080027 "BpfNetworkStats.cpp",
28 "NetworkTraceHandler.cpp",
Ryan Zuklie75de7432023-03-07 10:15:32 -080029 "NetworkTracePoller.cpp",
Ken Chenf2bb7b12022-01-22 19:17:20 +080030 ],
31 shared_libs: [
32 "libbase",
Ryan Zuklie80d70552023-05-03 16:18:59 -070033 "libcutils",
Ken Chenf2bb7b12022-01-22 19:17:20 +080034 "liblog",
Ken Chenf2bb7b12022-01-22 19:17:20 +080035 ],
Ryan Zukliea603ce52023-01-10 14:39:03 -080036 static_libs: [
37 "libperfetto_client_experimental",
38 ],
39 export_static_lib_headers: [
40 "libperfetto_client_experimental",
41 ],
Ken Chenf2bb7b12022-01-22 19:17:20 +080042 export_include_dirs: ["include"],
Ken Chenf426b2b2022-01-23 15:39:13 +080043 cflags: [
44 "-Wall",
45 "-Werror",
46 "-Wno-unused-parameter",
47 "-Wthread-safety",
48 ],
Ken Chenf2bb7b12022-01-22 19:17:20 +080049 sanitize: {
50 cfi: true,
51 },
Ken Chenf426b2b2022-01-23 15:39:13 +080052 apex_available: [
Ken Chenf426b2b2022-01-23 15:39:13 +080053 "com.android.tethering",
54 ],
55 min_sdk_version: "30",
Ken Chenf2bb7b12022-01-22 19:17:20 +080056}
57
58cc_test {
Ken Chenf426b2b2022-01-23 15:39:13 +080059 name: "libnetworkstats_test",
Ken Chenb9266bf2022-05-25 15:34:17 +080060 test_suites: ["general-tests", "mts-tethering"],
61 test_config_template: ":net_native_test_config_template",
Ken Chenf426b2b2022-01-23 15:39:13 +080062 require_root: true, // required by setrlimitForTest()
Ken Chenf2bb7b12022-01-22 19:17:20 +080063 header_libs: ["bpf_connectivity_headers"],
64 srcs: [
65 "BpfNetworkStatsTest.cpp",
Ryan Zuklie5a6b1ee2023-03-09 11:44:02 -080066 "NetworkTraceHandlerTest.cpp",
Ryan Zuklie75de7432023-03-07 10:15:32 -080067 "NetworkTracePollerTest.cpp",
Ken Chenf2bb7b12022-01-22 19:17:20 +080068 ],
Ken Chenf426b2b2022-01-23 15:39:13 +080069 cflags: [
70 "-Wall",
71 "-Werror",
72 "-Wno-unused-parameter",
73 "-Wthread-safety",
74 ],
Lorenzo Colitti0db496e2022-02-07 09:01:37 +090075 static_libs: [
76 "libgmock",
77 "libnetworkstats",
Ryan Zukliea603ce52023-01-10 14:39:03 -080078 "libperfetto_client_experimental",
Ryan Zuklie5a6b1ee2023-03-09 11:44:02 -080079 "libprotobuf-cpp-lite",
80 "perfetto_trace_protos",
Lorenzo Colitti0db496e2022-02-07 09:01:37 +090081 ],
Ken Chenf2bb7b12022-01-22 19:17:20 +080082 shared_libs: [
83 "libbase",
84 "liblog",
Ryan Zuklie80d70552023-05-03 16:18:59 -070085 "libcutils",
Ryan Zuklie0b9478b2023-01-10 13:45:39 -080086 "libandroid_net",
Ken Chenf2bb7b12022-01-22 19:17:20 +080087 ],
Ken Chenb9266bf2022-05-25 15:34:17 +080088 compile_multilib: "both",
89 multilib: {
90 lib32: {
91 suffix: "32",
92 },
93 lib64: {
94 suffix: "64",
95 },
96 },
Ken Chenf2bb7b12022-01-22 19:17:20 +080097}