blob: c62063404af9e818084e767df331965046c9ae3c [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 {
Aditya Choudhary71086be2024-01-31 11:08:57 +000018 default_team: "trendy_team_fwk_core_networking",
Ken Chenf426b2b2022-01-23 15:39:13 +080019 default_applicable_licenses: ["Android-Apache-2.0"],
Ken Chenf2bb7b12022-01-22 19:17:20 +080020}
21
22cc_library {
Ken Chenf426b2b2022-01-23 15:39:13 +080023 name: "libnetworkstats",
Ken Chenf2bb7b12022-01-22 19:17:20 +080024 vendor_available: false,
25 host_supported: false,
26 header_libs: ["bpf_connectivity_headers"],
27 srcs: [
Ryan Zuklie0b9478b2023-01-10 13:45:39 -080028 "BpfNetworkStats.cpp",
29 "NetworkTraceHandler.cpp",
Ryan Zuklie75de7432023-03-07 10:15:32 -080030 "NetworkTracePoller.cpp",
Ken Chenf2bb7b12022-01-22 19:17:20 +080031 ],
32 shared_libs: [
33 "libbase",
Ryan Zuklie80d70552023-05-03 16:18:59 -070034 "libcutils",
Ken Chenf2bb7b12022-01-22 19:17:20 +080035 "liblog",
Ken Chenf2bb7b12022-01-22 19:17:20 +080036 ],
Ryan Zukliea603ce52023-01-10 14:39:03 -080037 static_libs: [
38 "libperfetto_client_experimental",
39 ],
40 export_static_lib_headers: [
41 "libperfetto_client_experimental",
42 ],
Ken Chenf2bb7b12022-01-22 19:17:20 +080043 export_include_dirs: ["include"],
Ken Chenf426b2b2022-01-23 15:39:13 +080044 cflags: [
45 "-Wall",
46 "-Werror",
47 "-Wno-unused-parameter",
48 "-Wthread-safety",
49 ],
Ken Chenf2bb7b12022-01-22 19:17:20 +080050 sanitize: {
51 cfi: true,
52 },
Ken Chenf426b2b2022-01-23 15:39:13 +080053 apex_available: [
Ken Chenf426b2b2022-01-23 15:39:13 +080054 "com.android.tethering",
55 ],
56 min_sdk_version: "30",
Ken Chenf2bb7b12022-01-22 19:17:20 +080057}
58
59cc_test {
Ken Chenf426b2b2022-01-23 15:39:13 +080060 name: "libnetworkstats_test",
Aditya Choudhary71086be2024-01-31 11:08:57 +000061 test_suites: [
62 "general-tests",
63 "mts-tethering",
64 ],
Ken Chenb9266bf2022-05-25 15:34:17 +080065 test_config_template: ":net_native_test_config_template",
Aditya Choudhary71086be2024-01-31 11:08:57 +000066 require_root: true, // required by setrlimitForTest()
Ken Chenf2bb7b12022-01-22 19:17:20 +080067 header_libs: ["bpf_connectivity_headers"],
68 srcs: [
69 "BpfNetworkStatsTest.cpp",
Ryan Zuklie5a6b1ee2023-03-09 11:44:02 -080070 "NetworkTraceHandlerTest.cpp",
Ryan Zuklie75de7432023-03-07 10:15:32 -080071 "NetworkTracePollerTest.cpp",
Ken Chenf2bb7b12022-01-22 19:17:20 +080072 ],
Ken Chenf426b2b2022-01-23 15:39:13 +080073 cflags: [
74 "-Wall",
75 "-Werror",
76 "-Wno-unused-parameter",
77 "-Wthread-safety",
78 ],
Lorenzo Colitti0db496e2022-02-07 09:01:37 +090079 static_libs: [
Henri Chataing6a7d8f92023-12-19 22:21:15 +000080 "libbase",
Lorenzo Colitti0db496e2022-02-07 09:01:37 +090081 "libgmock",
82 "libnetworkstats",
Ryan Zukliea603ce52023-01-10 14:39:03 -080083 "libperfetto_client_experimental",
Ryan Zuklie5a6b1ee2023-03-09 11:44:02 -080084 "libprotobuf-cpp-lite",
85 "perfetto_trace_protos",
Lorenzo Colitti0db496e2022-02-07 09:01:37 +090086 ],
Ken Chenf2bb7b12022-01-22 19:17:20 +080087 shared_libs: [
Ken Chenf2bb7b12022-01-22 19:17:20 +080088 "liblog",
Ryan Zuklie80d70552023-05-03 16:18:59 -070089 "libcutils",
Ryan Zuklie0b9478b2023-01-10 13:45:39 -080090 "libandroid_net",
Ken Chenf2bb7b12022-01-22 19:17:20 +080091 ],
Ken Chenb9266bf2022-05-25 15:34:17 +080092 compile_multilib: "both",
93 multilib: {
94 lib32: {
95 suffix: "32",
96 },
97 lib64: {
98 suffix: "64",
99 },
100 },
Ken Chenf2bb7b12022-01-22 19:17:20 +0800101}