blob: 41075d23aecba3404eb4f29d39436a2b96ddf3c7 [file] [log] [blame]
Tao Baod2f2ad62018-03-23 23:24:25 -07001// Copyright (C) 2018 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: "recovery_defaults",
17
18 cflags: [
Tao Bao818f9382018-08-06 15:52:24 -070019 "-D_FILE_OFFSET_BITS=64",
20
21 // Must be the same as RECOVERY_API_VERSION.
22 "-DRECOVERY_API_VERSION=3",
23
Tao Baod2f2ad62018-03-23 23:24:25 -070024 "-Wall",
25 "-Werror",
26 ],
27}
28
Tao Bao5fc72a12018-08-07 14:38:51 -070029cc_library {
30 name: "librecovery_ui",
31 recovery_available: true,
32
33 defaults: [
34 "recovery_defaults",
35 ],
36
37 srcs: [
38 "device.cpp",
39 "screen_ui.cpp",
40 "ui.cpp",
41 "vr_ui.cpp",
42 "wear_ui.cpp"
43 ],
44
45 static_libs: [
46 "libminui",
47 "libotautil",
48 ],
49
50 shared_libs: [
51 "libbase",
52 "libpng",
53 "libz",
54 ],
55}
56
Tao Baod2f2ad62018-03-23 23:24:25 -070057// Generic device that uses ScreenRecoveryUI.
58cc_library_static {
59 name: "librecovery_ui_default",
Tao Bao818f9382018-08-06 15:52:24 -070060 recovery_available: true,
Tao Baod2f2ad62018-03-23 23:24:25 -070061
62 defaults: [
63 "recovery_defaults",
64 ],
65
66 srcs: [
67 "default_device.cpp",
68 ],
69}
70
71// The default wear device that uses WearRecoveryUI.
72cc_library_static {
73 name: "librecovery_ui_wear",
Tao Bao818f9382018-08-06 15:52:24 -070074 recovery_available: true,
Tao Baod2f2ad62018-03-23 23:24:25 -070075
76 defaults: [
77 "recovery_defaults",
78 ],
79
80 srcs: [
81 "wear_device.cpp",
82 ],
83}
84
85// The default VR device that uses VrRecoveryUI.
86cc_library_static {
87 name: "librecovery_ui_vr",
Tao Bao818f9382018-08-06 15:52:24 -070088 recovery_available: true,
Tao Baod2f2ad62018-03-23 23:24:25 -070089
90 defaults: [
91 "recovery_defaults",
92 ],
93
94 srcs: [
95 "vr_device.cpp",
96 ],
97}
98
Hridya Valsaraju20c81b32018-07-27 22:09:12 -070099cc_library_static {
100 name: "librecovery_fastboot",
101 recovery_available: true,
102 defaults: [
103 "recovery_defaults",
104 ],
105
106 srcs: [
107 "fastboot/fastboot.cpp",
108 ],
109
110 shared_libs: [
111 "libbase",
112 "libbootloader_message",
113 "libcutils",
114 "liblog",
115 ],
116
117 static_libs: [
118 "librecovery_ui_default",
119 ],
120}
121
Tao Bao5fc72a12018-08-07 14:38:51 -0700122cc_defaults {
123 name: "librecovery_defaults",
124
125 defaults: [
126 "recovery_defaults",
127 ],
128
129 shared_libs: [
Yifan Hong056538c2018-07-11 17:04:12 -0700130 "android.hardware.health@2.0",
Tao Bao5fc72a12018-08-07 14:38:51 -0700131 "libbase",
132 "libbootloader_message",
133 "libcrypto",
Tao Bao5fc72a12018-08-07 14:38:51 -0700134 "libcutils",
135 "libext4_utils",
136 "libfs_mgr",
137 "libfusesideload",
138 "libhidl-gen-utils",
Yifan Hong056538c2018-07-11 17:04:12 -0700139 "libhidlbase",
140 "libhidltransport",
Tao Bao5fc72a12018-08-07 14:38:51 -0700141 "liblog",
142 "libpng",
143 "libselinux",
Tao Bao5fc72a12018-08-07 14:38:51 -0700144 "libtinyxml2",
145 "libutils",
146 "libz",
147 "libziparchive",
148 ],
149
150 static_libs: [
Hridya Valsaraju20c81b32018-07-27 22:09:12 -0700151 "librecovery_fastboot",
Tao Bao5fc72a12018-08-07 14:38:51 -0700152 "libminui",
153 "libverifier",
154 "libotautil",
Yifan Hong056538c2018-07-11 17:04:12 -0700155
156 // external dependencies
157 "libhealthhalutils",
Tao Bao5fc72a12018-08-07 14:38:51 -0700158 "libvintf_recovery",
159 "libvintf",
Tao Bao5fc72a12018-08-07 14:38:51 -0700160 ],
161}
162
163cc_library_static {
164 name: "librecovery",
165 recovery_available: true,
166
167 defaults: [
168 "librecovery_defaults",
169 ],
170
171 srcs: [
172 "adb_install.cpp",
173 "fsck_unshare_blocks.cpp",
174 "fuse_sdcard_provider.cpp",
175 "install.cpp",
176 "recovery.cpp",
177 "roots.cpp",
178 ],
179
180 include_dirs: [
181 "system/vold",
182 ],
183}
184
Tao Baod2f2ad62018-03-23 23:24:25 -0700185cc_library_static {
Tao Baod2f2ad62018-03-23 23:24:25 -0700186 name: "libverifier",
Tao Bao818f9382018-08-06 15:52:24 -0700187 recovery_available: true,
Tao Baod2f2ad62018-03-23 23:24:25 -0700188
189 defaults: [
190 "recovery_defaults",
191 ],
192
193 srcs: [
194 "asn1_decoder.cpp",
195 "verifier.cpp",
196 ],
197
Tao Bao818f9382018-08-06 15:52:24 -0700198 shared_libs: [
Tao Baod2f2ad62018-03-23 23:24:25 -0700199 "libbase",
200 "libcrypto",
201 "libcrypto_utils",
Tianjie Xu0dd96852018-10-15 11:44:14 -0700202 "libziparchive",
Tao Bao818f9382018-08-06 15:52:24 -0700203 ],
204
205 static_libs: [
Tao Baod2f2ad62018-03-23 23:24:25 -0700206 "libotautil",
207 ],
208}
209
Tao Bao5fc72a12018-08-07 14:38:51 -0700210cc_binary {
211 name: "recovery",
212 recovery: true,
213
214 defaults: [
215 "librecovery_defaults",
216 ],
217
218 srcs: [
219 "logging.cpp",
220 "recovery_main.cpp",
221 ],
222
223 shared_libs: [
Tao Bao7d2a63a2018-08-13 11:15:29 -0700224 "libminadbd_services",
Tao Bao5fc72a12018-08-07 14:38:51 -0700225 "librecovery_ui",
226 ],
227
228 static_libs: [
229 "librecovery",
230 "librecovery_ui_default",
231 ],
232
233 required: [
234 "e2fsdroid.recovery",
235 "librecovery_ui_ext",
Tao Bao7c074d92018-08-21 12:31:51 -0700236 "mke2fs.conf.recovery",
Tao Bao5fc72a12018-08-07 14:38:51 -0700237 "mke2fs.recovery",
238 "recovery_deps",
239 ],
240}
241
Tao Baod2f2ad62018-03-23 23:24:25 -0700242// The dynamic executable that runs after /data mounts.
243cc_binary {
244 name: "recovery-persist",
245
246 defaults: [
247 "recovery_defaults",
248 ],
249
250 srcs: [
Jerry Zhang152933a2018-05-02 16:56:00 -0700251 "logging.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700252 "recovery-persist.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700253 ],
254
255 shared_libs: [
256 "libbase",
257 "liblog",
Tianjie Xu2b1a4642018-09-06 11:58:55 -0700258 "libmetricslogger",
Tao Baod2f2ad62018-03-23 23:24:25 -0700259 ],
260
Jerry Zhang152933a2018-05-02 16:56:00 -0700261 static_libs: [
262 "libotautil",
263 ],
264
Tao Baod2f2ad62018-03-23 23:24:25 -0700265 init_rc: [
266 "recovery-persist.rc",
267 ],
268}
269
270// The dynamic executable that runs at init.
271cc_binary {
272 name: "recovery-refresh",
273
274 defaults: [
275 "recovery_defaults",
276 ],
277
278 srcs: [
Jerry Zhang152933a2018-05-02 16:56:00 -0700279 "logging.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700280 "recovery-refresh.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700281 ],
282
283 shared_libs: [
284 "libbase",
285 "liblog",
286 ],
287
Jerry Zhang152933a2018-05-02 16:56:00 -0700288 static_libs: [
289 "libotautil",
290 ],
291
Tao Baod2f2ad62018-03-23 23:24:25 -0700292 init_rc: [
293 "recovery-refresh.rc",
294 ],
295}
Tao Baoef5e38f2018-07-24 15:34:39 -0700296
297filegroup {
298 name: "res-testdata",
299
300 srcs: [
301 "res-*/images/*_text.png",
302 ],
303}