blob: 8f9a5f848668ab8ac970704f2c972132b9ba27ff [file] [log] [blame]
Colin Crossbc2dc312018-10-26 22:34:06 -07001// Copyright (C) 2016 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
15// =========
16// incidentd
17// =========
18
19cc_binary {
20 name: "incidentd",
21
22 srcs: [
23 "src/**/*.cpp",
Joe Onorato99598ee2019-02-11 15:55:13 +000024 "src/**/*.proto",
Colin Crossbc2dc312018-10-26 22:34:06 -070025 ":incidentd_section_list",
26 ],
27
28 cflags: [
29 "-Wall",
30 "-Werror",
31 "-Wno-missing-field-initializers",
32 "-Wno-unused-variable",
33 "-Wunused-parameter",
34
35 // Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
36 "-Wno-error=implicit-fallthrough",
37
38 // optimize for size (protobuf glop can get big)
39 "-Os",
40 //"-g",
41 //"-O0",
42 ],
43
44 local_include_dirs: ["src"],
45 generated_headers: ["gen-platform-proto-constants"],
46
Joe Onorato99598ee2019-02-11 15:55:13 +000047 proto: {
48 type: "lite",
49 },
50
Colin Crossbc2dc312018-10-26 22:34:06 -070051 shared_libs: [
52 "libbase",
53 "libbinder",
54 "libdebuggerd_client",
55 "libdumputils",
56 "libincident",
57 "liblog",
58 "libprotoutil",
59 "libservices",
60 "libutils",
Mike Ma28381692018-12-04 15:46:29 -080061 "libprotobuf-cpp-lite",
Colin Crossbc2dc312018-10-26 22:34:06 -070062 ],
63
Joe Onorato99598ee2019-02-11 15:55:13 +000064 static_libs: [
65 "libincidentcompanion",
66 "libplatformprotos",
67 ],
68
Joe Onoratofe7bbf42019-03-24 20:57:16 -070069 product_variables: {
70 debuggable: {
71 cflags: ["-DALLOW_RESTRICTED_SECTIONS=1"],
72 },
73 },
74
75
Colin Crossbc2dc312018-10-26 22:34:06 -070076 init_rc: ["incidentd.rc"],
77}
78
79// ==============
80// incidentd_test
81// ==============
82
83cc_test {
84 name: "incidentd_test",
85 test_suites: ["device-tests"],
86
87 cflags: [
88 "-Werror",
89 "-Wall",
90 "-Wno-unused-variable",
91 "-Wunused-parameter",
Joe Onorato99598ee2019-02-11 15:55:13 +000092 "-g",
Colin Crossbc2dc312018-10-26 22:34:06 -070093
94 // Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
95 "-Wno-error=implicit-fallthrough",
96 ],
97
98 local_include_dirs: ["src"],
99 generated_headers: ["gen-platform-proto-constants"],
100
101 srcs: [
102 "tests/**/*.cpp",
Joe Onorato99598ee2019-02-11 15:55:13 +0000103 "tests/**/*.proto",
Colin Crossbc2dc312018-10-26 22:34:06 -0700104 "src/FdBuffer.cpp",
105 "src/Privacy.cpp",
Joe Onorato99598ee2019-02-11 15:55:13 +0000106 "src/PrivacyFilter.cpp",
Colin Crossbc2dc312018-10-26 22:34:06 -0700107 "src/Reporter.cpp",
108 "src/Section.cpp",
109 "src/Throttler.cpp",
Joe Onorato99598ee2019-02-11 15:55:13 +0000110 "src/WorkDirectory.cpp",
Colin Crossbc2dc312018-10-26 22:34:06 -0700111 "src/incidentd_util.cpp",
Joe Onorato99598ee2019-02-11 15:55:13 +0000112 "src/proto_util.cpp",
Colin Crossbc2dc312018-10-26 22:34:06 -0700113 "src/report_directory.cpp",
Joe Onorato99598ee2019-02-11 15:55:13 +0000114 "src/**/*.proto",
Colin Crossbc2dc312018-10-26 22:34:06 -0700115 ],
116
117 data: ["testdata/**/*"],
118
Yao Chenec216482019-02-06 16:45:40 -0800119 static_libs: [
120 "libgmock",
Joe Onorato99598ee2019-02-11 15:55:13 +0000121 "libincidentcompanion",
122 "libplatformprotos-test",
Yao Chenec216482019-02-06 16:45:40 -0800123 ],
Colin Crossbc2dc312018-10-26 22:34:06 -0700124 shared_libs: [
125 "libbase",
126 "libbinder",
127 "libdebuggerd_client",
128 "libdumputils",
129 "libincident",
130 "liblog",
Joe Onorato99598ee2019-02-11 15:55:13 +0000131 "libprotobuf-cpp-full",
Colin Crossbc2dc312018-10-26 22:34:06 -0700132 "libprotoutil",
133 "libservices",
134 "libutils",
135 ],
Joe Onorato99598ee2019-02-11 15:55:13 +0000136
137 target: {
138 android: {
139 proto: {
140 type: "full",
141 },
142 },
143 },
Colin Crossbc2dc312018-10-26 22:34:06 -0700144}
145
146genrule {
147 name: "incidentd_section_list",
148 tools: ["incident-section-gen"],
149 out: ["section_list.cpp"],
150 cmd: "$(location incident-section-gen) incidentd > $(out)",
151}