blob: 264aa318782a7be1c1aaec93b07ae2321a636f3c [file] [log] [blame]
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -08001// Copyright (C) 2020 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15cc_defaults {
16 name: "carwatchdogd_defaults",
17 cflags: [
18 "-Wall",
19 "-Wno-missing-field-initializers",
20 "-Werror",
21 "-Wno-unused-variable",
22 "-Wunused-parameter",
23 ],
24 include_dirs: [
25 "system/core/base/include",
26 ],
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -070027 shared_libs: [
Lakshman Annadoraie166c8b2020-10-09 12:36:50 -070028 "carwatchdog_aidl_interface-unstable-cpp",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -070029 "libbase",
30 "libbinder",
31 "liblog",
32 "libutils",
33 ],
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080034}
35
Lakshman Annadoraif3abe482020-08-07 16:52:45 -070036cc_library {
37 name: "libwatchdog_utils",
38 srcs: [
39 "src/utils/PackageNameResolver.cpp",
40 ],
41 defaults: [
42 "carwatchdogd_defaults",
43 ],
44 shared_libs: [
45 "libcutils",
46 ],
47 static_libs: [
48 "libgtest_prod",
49 ],
50 export_include_dirs: [
51 "src/utils",
52 ],
53}
54
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080055cc_defaults {
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070056 name: "libwatchdog_perf_service_defaults",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080057 shared_libs: [
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080058 "libcutils",
Lakshman Annadoraif2855b22020-03-03 14:13:10 -080059 "libprocessgroup",
Lakshman Annadoraif3abe482020-08-07 16:52:45 -070060 "libwatchdog_utils",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080061 ],
Lakshman Annadorai2c0b0d12020-03-04 11:14:59 -080062 static_libs: [
63 "libgtest_prod",
64 ],
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080065}
66
67cc_library {
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070068 name: "libwatchdog_perf_service",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080069 defaults: [
70 "carwatchdogd_defaults",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070071 "libwatchdog_perf_service_defaults",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080072 ],
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080073 srcs: [
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070074 "src/WatchdogPerfService.cpp",
Lakshman Annadoraie166c8b2020-10-09 12:36:50 -070075 "src/IoOveruseMonitor.cpp",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080076 "src/IoPerfCollection.cpp",
Lakshman Annadoraif2855b22020-03-03 14:13:10 -080077 "src/LooperWrapper.cpp",
Lakshman Annadorai2fce0012020-02-18 14:05:22 -080078 "src/ProcPidStat.cpp",
79 "src/ProcStat.cpp",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080080 "src/UidIoStats.cpp",
81 ],
Lakshman Annadorai52877702020-03-25 14:29:52 -070082 whole_static_libs: [
83 "libwatchdog_properties",
84 ],
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080085 export_include_dirs: [
86 "src",
87 ],
88}
89
90cc_test {
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -070091 name: "libwatchdog_test",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080092 defaults: [
93 "carwatchdogd_defaults",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070094 "libwatchdog_perf_service_defaults",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -070095 "libwatchdog_process_service_defaults",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080096 ],
97 test_suites: ["general-tests"],
98 srcs: [
99 "tests/IoPerfCollectionTest.cpp",
Lakshman Annadoraif2855b22020-03-03 14:13:10 -0800100 "tests/LooperStub.cpp",
Lakshman Annadoraif3abe482020-08-07 16:52:45 -0700101 "tests/PackageNameResolverTest.cpp",
Lakshman Annadorai325e9652020-02-20 17:27:11 -0800102 "tests/ProcPidDir.cpp",
Lakshman Annadorai2fce0012020-02-18 14:05:22 -0800103 "tests/ProcPidStatTest.cpp",
Lakshman Annadoraif9b47c22020-02-10 16:45:18 -0800104 "tests/ProcStatTest.cpp",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700105 "tests/UidIoStatsTest.cpp",
106 "tests/WatchdogBinderMediatorTest.cpp",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700107 "tests/WatchdogPerfServiceTest.cpp",
Eric Jeong951f2aa2020-03-31 12:18:00 -0700108 "tests/WatchdogProcessServiceTest.cpp",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -0800109 ],
110 static_libs: [
111 "libgmock",
112 "libgtest",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700113 "libwatchdog_binder_mediator",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700114 "libwatchdog_perf_service",
Lakshman Annadoraif3abe482020-08-07 16:52:45 -0700115 "libwatchdog_utils",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -0800116 ],
Eric Jeong34edd982019-12-17 17:26:35 -0800117}
118
119cc_defaults {
120 name: "libwatchdog_process_service_defaults",
121 shared_libs: [
Eric Jeong3a4b6352020-08-18 18:06:53 -0700122 "android.hardware.automotive.vehicle@2.0",
Eric Jeong3a4b6352020-08-18 18:06:53 -0700123 "libhidlbase",
Eric Jeong34edd982019-12-17 17:26:35 -0800124 ],
125}
126
127cc_library {
128 name: "libwatchdog_process_service",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700129 srcs: [
130 "src/WatchdogProcessService.cpp",
131 ],
Eric Jeong34edd982019-12-17 17:26:35 -0800132 defaults: [
133 "carwatchdogd_defaults",
134 "libwatchdog_process_service_defaults"
135 ],
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700136}
137
138cc_library {
139 name: "libwatchdog_binder_mediator",
140 defaults: [
141 "carwatchdogd_defaults",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700142 "libwatchdog_perf_service_defaults",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700143 "libwatchdog_process_service_defaults",
144 ],
Eric Jeong34edd982019-12-17 17:26:35 -0800145 srcs: [
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700146 "src/WatchdogBinderMediator.cpp",
Eric Jeong34edd982019-12-17 17:26:35 -0800147 "src/WatchdogProcessService.cpp",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700148 "src/IoPerfCollection.cpp",
149 ],
150 shared_libs: [
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700151 "libwatchdog_perf_service",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700152 "libwatchdog_process_service",
153 ],
154 export_include_dirs: [
155 "src",
Eric Jeong34edd982019-12-17 17:26:35 -0800156 ],
157}
158
159cc_binary {
160 name: "carwatchdogd",
161 defaults: [
162 "carwatchdogd_defaults",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700163 "libwatchdog_perf_service_defaults",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700164 "libwatchdog_process_service_defaults",
Eric Jeong34edd982019-12-17 17:26:35 -0800165 ],
166 srcs: [
167 "src/main.cpp",
Eric Jeong69e99782020-02-12 17:41:00 -0800168 "src/ServiceManager.cpp",
Eric Jeong34edd982019-12-17 17:26:35 -0800169 ],
170 init_rc: ["carwatchdogd.rc"],
171 shared_libs: [
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700172 "libwatchdog_binder_mediator",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700173 "libwatchdog_perf_service",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700174 "libwatchdog_process_service",
Lakshman Annadoraif3abe482020-08-07 16:52:45 -0700175 "libwatchdog_utils",
Eric Jeong34edd982019-12-17 17:26:35 -0800176 ],
Eric Jeongae2c04c2020-02-21 09:18:31 -0800177 vintf_fragments: ["carwatchdogd.xml"],
Eric Jeong34edd982019-12-17 17:26:35 -0800178}