blob: 56f19eec5fc224e6edca7d08d288ff1c1a5ce849 [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
Bob Badour4da7d222021-02-22 16:14:07 -080015package {
16 default_applicable_licenses: ["Android-Apache-2.0"],
17}
18
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080019cc_defaults {
20 name: "carwatchdogd_defaults",
21 cflags: [
22 "-Wall",
23 "-Wno-missing-field-initializers",
24 "-Werror",
25 "-Wno-unused-variable",
26 "-Wunused-parameter",
Jooyung Han23598092021-01-06 15:49:53 +090027 "-Wno-error=deprecated",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080028 ],
29 include_dirs: [
Baligh Uddin919323d2020-10-25 18:13:46 +000030 "system/libbase/include",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080031 ],
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -070032 shared_libs: [
Jeongik Chad589dc02021-01-28 00:49:50 +090033 "android.automotive.watchdog-V3-cpp",
34 "android.automotive.watchdog.internal-cpp",
Jeongik Cha82d29d22021-02-11 09:57:26 +090035 "android.automotive.watchdog.internal-cpp",
36 "android.automotive.watchdog-V3-cpp",
Lakshman Annadorai8dfeeaf2020-12-15 14:10:53 -080037 "android.hardware.automotive.vehicle@2.0",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -070038 "libbase",
39 "libbinder",
40 "liblog",
41 "libutils",
42 ],
Lakshman Annadoraie4054622020-11-10 14:09:42 -080043 static_libs: [
44 "libgtest_prod",
45 ],
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080046}
47
Lakshman Annadoraif3abe482020-08-07 16:52:45 -070048cc_library {
Lakshman Annadorai37975c92021-01-06 11:03:13 -080049 name: "libwatchdog_package_info_resolver",
Lakshman Annadoraif3abe482020-08-07 16:52:45 -070050 srcs: [
Lakshman Annadorai37975c92021-01-06 11:03:13 -080051 "src/PackageInfoResolver.cpp",
Lakshman Annadoraif3abe482020-08-07 16:52:45 -070052 ],
53 defaults: [
54 "carwatchdogd_defaults",
55 ],
56 shared_libs: [
57 "libcutils",
58 ],
Lakshman Annadoraif3abe482020-08-07 16:52:45 -070059 export_include_dirs: [
Lakshman Annadorai37975c92021-01-06 11:03:13 -080060 "src",
Lakshman Annadoraif3abe482020-08-07 16:52:45 -070061 ],
62}
63
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080064cc_defaults {
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070065 name: "libwatchdog_perf_service_defaults",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080066 shared_libs: [
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080067 "libcutils",
Lakshman Annadoraif2855b22020-03-03 14:13:10 -080068 "libprocessgroup",
Lakshman Annadorai37975c92021-01-06 11:03:13 -080069 "libwatchdog_package_info_resolver",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080070 ],
71}
72
73cc_library {
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070074 name: "libwatchdog_perf_service",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080075 defaults: [
76 "carwatchdogd_defaults",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070077 "libwatchdog_perf_service_defaults",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080078 ],
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080079 srcs: [
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -070080 "src/WatchdogPerfService.cpp",
Lakshman Annadoraiaf6486c2020-10-09 12:41:45 -070081 "src/IoOveruseConfigs.cpp",
Lakshman Annadoraie166c8b2020-10-09 12:36:50 -070082 "src/IoOveruseMonitor.cpp",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -080083 "src/IoPerfCollection.cpp",
Lakshman Annadoraif2855b22020-03-03 14:13:10 -080084 "src/LooperWrapper.cpp",
Lakshman Annadoraia0a14592021-02-03 12:45:17 -080085 "src/ProcDiskStats.cpp",
Lakshman Annadorai2fce0012020-02-18 14:05:22 -080086 "src/ProcPidStat.cpp",
87 "src/ProcStat.cpp",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080088 "src/UidIoStats.cpp",
89 ],
Lakshman Annadorai52877702020-03-25 14:29:52 -070090 whole_static_libs: [
91 "libwatchdog_properties",
92 ],
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -080093 export_include_dirs: [
94 "src",
95 ],
96}
97
98cc_test {
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -070099 name: "libwatchdog_test",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -0800100 defaults: [
101 "carwatchdogd_defaults",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700102 "libwatchdog_perf_service_defaults",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700103 "libwatchdog_process_service_defaults",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -0800104 ],
105 test_suites: ["general-tests"],
106 srcs: [
Lakshman Annadoraiaf6486c2020-10-09 12:41:45 -0700107 "tests/IoOveruseConfigsTest.cpp",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -0800108 "tests/IoPerfCollectionTest.cpp",
Lakshman Annadoraif2855b22020-03-03 14:13:10 -0800109 "tests/LooperStub.cpp",
Lakshman Annadorai37975c92021-01-06 11:03:13 -0800110 "tests/PackageInfoResolverTest.cpp",
Lakshman Annadoraia0a14592021-02-03 12:45:17 -0800111 "tests/ProcDiskStatsTest.cpp",
Lakshman Annadorai325e9652020-02-20 17:27:11 -0800112 "tests/ProcPidDir.cpp",
Lakshman Annadorai2fce0012020-02-18 14:05:22 -0800113 "tests/ProcPidStatTest.cpp",
Lakshman Annadoraif9b47c22020-02-10 16:45:18 -0800114 "tests/ProcStatTest.cpp",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700115 "tests/UidIoStatsTest.cpp",
116 "tests/WatchdogBinderMediatorTest.cpp",
Lakshman Annadorai967b21e2020-10-30 09:35:29 -0700117 "tests/WatchdogInternalHandlerTest.cpp",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700118 "tests/WatchdogPerfServiceTest.cpp",
Eric Jeong951f2aa2020-03-31 12:18:00 -0700119 "tests/WatchdogProcessServiceTest.cpp",
Lakshman Annadoraie4054622020-11-10 14:09:42 -0800120 "tests/WatchdogServiceHelperTest.cpp",
Lakshman Annadoraiab4d3fd2020-02-06 11:24:56 -0800121 ],
122 static_libs: [
123 "libgmock",
124 "libgtest",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700125 "libwatchdog_binder_mediator",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700126 "libwatchdog_perf_service",
Lakshman Annadorai8dfeeaf2020-12-15 14:10:53 -0800127 "libwatchdog_process_service",
Lakshman Annadorai37975c92021-01-06 11:03:13 -0800128 "libwatchdog_package_info_resolver",
Lakshman Annadorai6094e9a2020-01-31 10:03:33 -0800129 ],
Eric Jeong34edd982019-12-17 17:26:35 -0800130}
131
132cc_defaults {
133 name: "libwatchdog_process_service_defaults",
134 shared_libs: [
Eric Jeong3a4b6352020-08-18 18:06:53 -0700135 "libhidlbase",
Eric Jeong34edd982019-12-17 17:26:35 -0800136 ],
137}
138
139cc_library {
140 name: "libwatchdog_process_service",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700141 srcs: [
142 "src/WatchdogProcessService.cpp",
143 ],
Eric Jeong34edd982019-12-17 17:26:35 -0800144 defaults: [
145 "carwatchdogd_defaults",
146 "libwatchdog_process_service_defaults"
147 ],
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700148}
149
150cc_library {
151 name: "libwatchdog_binder_mediator",
152 defaults: [
153 "carwatchdogd_defaults",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700154 "libwatchdog_perf_service_defaults",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700155 "libwatchdog_process_service_defaults",
156 ],
Eric Jeong34edd982019-12-17 17:26:35 -0800157 srcs: [
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700158 "src/WatchdogBinderMediator.cpp",
Lakshman Annadorai967b21e2020-10-30 09:35:29 -0700159 "src/WatchdogInternalHandler.cpp",
Lakshman Annadoraie4054622020-11-10 14:09:42 -0800160 "src/WatchdogServiceHelper.cpp",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700161 ],
162 shared_libs: [
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700163 "libwatchdog_perf_service",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700164 "libwatchdog_process_service",
165 ],
166 export_include_dirs: [
167 "src",
Eric Jeong34edd982019-12-17 17:26:35 -0800168 ],
169}
170
171cc_binary {
172 name: "carwatchdogd",
173 defaults: [
174 "carwatchdogd_defaults",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700175 "libwatchdog_perf_service_defaults",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700176 "libwatchdog_process_service_defaults",
Eric Jeong34edd982019-12-17 17:26:35 -0800177 ],
178 srcs: [
179 "src/main.cpp",
Eric Jeong69e99782020-02-12 17:41:00 -0800180 "src/ServiceManager.cpp",
Eric Jeong34edd982019-12-17 17:26:35 -0800181 ],
182 init_rc: ["carwatchdogd.rc"],
183 shared_libs: [
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700184 "libwatchdog_binder_mediator",
Lakshman Annadoraid9a2c6e2020-09-03 11:52:06 -0700185 "libwatchdog_perf_service",
Lakshman Annadorai0dfeeeb2020-03-13 16:57:12 -0700186 "libwatchdog_process_service",
Lakshman Annadorai37975c92021-01-06 11:03:13 -0800187 "libwatchdog_package_info_resolver",
Eric Jeong34edd982019-12-17 17:26:35 -0800188 ],
Eric Jeongae2c04c2020-02-21 09:18:31 -0800189 vintf_fragments: ["carwatchdogd.xml"],
Eric Jeong34edd982019-12-17 17:26:35 -0800190}