blob: 177eeb715436388b5a62e3dac68d25e1ecadc65a [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
Tao Bao5fc72a12018-08-07 14:38:51 -070099cc_defaults {
100 name: "librecovery_defaults",
101
102 defaults: [
103 "recovery_defaults",
104 ],
105
106 shared_libs: [
Yifan Hong056538c2018-07-11 17:04:12 -0700107 "android.hardware.health@2.0",
Tao Bao5fc72a12018-08-07 14:38:51 -0700108 "libbase",
109 "libbootloader_message",
110 "libcrypto",
111 "libcrypto_utils",
112 "libcutils",
113 "libext4_utils",
114 "libfs_mgr",
115 "libfusesideload",
116 "libhidl-gen-utils",
Yifan Hong056538c2018-07-11 17:04:12 -0700117 "libhidlbase",
118 "libhidltransport",
Tao Bao5fc72a12018-08-07 14:38:51 -0700119 "liblog",
120 "libpng",
121 "libselinux",
122 "libsparse",
123 "libtinyxml2",
124 "libutils",
125 "libz",
126 "libziparchive",
127 ],
128
129 static_libs: [
Tao Bao5fc72a12018-08-07 14:38:51 -0700130 "libminui",
131 "libverifier",
132 "libotautil",
Yifan Hong056538c2018-07-11 17:04:12 -0700133
134 // external dependencies
135 "libhealthhalutils",
Tao Bao5fc72a12018-08-07 14:38:51 -0700136 "libvintf_recovery",
137 "libvintf",
Tao Bao5fc72a12018-08-07 14:38:51 -0700138 ],
139}
140
141cc_library_static {
142 name: "librecovery",
143 recovery_available: true,
144
145 defaults: [
146 "librecovery_defaults",
147 ],
148
149 srcs: [
150 "adb_install.cpp",
151 "fsck_unshare_blocks.cpp",
152 "fuse_sdcard_provider.cpp",
153 "install.cpp",
154 "recovery.cpp",
155 "roots.cpp",
156 ],
157
158 include_dirs: [
159 "system/vold",
160 ],
161}
162
Tao Baod2f2ad62018-03-23 23:24:25 -0700163cc_library_static {
Tao Baod2f2ad62018-03-23 23:24:25 -0700164 name: "libverifier",
Tao Bao818f9382018-08-06 15:52:24 -0700165 recovery_available: true,
Tao Baod2f2ad62018-03-23 23:24:25 -0700166
167 defaults: [
168 "recovery_defaults",
169 ],
170
171 srcs: [
172 "asn1_decoder.cpp",
173 "verifier.cpp",
174 ],
175
Tao Bao818f9382018-08-06 15:52:24 -0700176 shared_libs: [
Tao Baod2f2ad62018-03-23 23:24:25 -0700177 "libbase",
178 "libcrypto",
179 "libcrypto_utils",
Tao Bao818f9382018-08-06 15:52:24 -0700180 ],
181
182 static_libs: [
Tao Baod2f2ad62018-03-23 23:24:25 -0700183 "libotautil",
184 ],
185}
186
Tao Bao5fc72a12018-08-07 14:38:51 -0700187cc_binary {
188 name: "recovery",
189 recovery: true,
190
191 defaults: [
192 "librecovery_defaults",
193 ],
194
195 srcs: [
196 "logging.cpp",
197 "recovery_main.cpp",
198 ],
199
200 shared_libs: [
Tao Bao7d2a63a2018-08-13 11:15:29 -0700201 "libminadbd_services",
Tao Bao5fc72a12018-08-07 14:38:51 -0700202 "librecovery_ui",
203 ],
204
205 static_libs: [
206 "librecovery",
207 "librecovery_ui_default",
208 ],
209
210 required: [
211 "e2fsdroid.recovery",
212 "librecovery_ui_ext",
213 "mke2fs.conf",
214 "mke2fs.recovery",
215 "recovery_deps",
216 ],
217}
218
Tao Baod2f2ad62018-03-23 23:24:25 -0700219// The dynamic executable that runs after /data mounts.
220cc_binary {
221 name: "recovery-persist",
222
223 defaults: [
224 "recovery_defaults",
225 ],
226
227 srcs: [
Jerry Zhang152933a2018-05-02 16:56:00 -0700228 "logging.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700229 "recovery-persist.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700230 ],
231
232 shared_libs: [
233 "libbase",
234 "liblog",
235 ],
236
Jerry Zhang152933a2018-05-02 16:56:00 -0700237 static_libs: [
238 "libotautil",
239 ],
240
Tao Baod2f2ad62018-03-23 23:24:25 -0700241 init_rc: [
242 "recovery-persist.rc",
243 ],
244}
245
246// The dynamic executable that runs at init.
247cc_binary {
248 name: "recovery-refresh",
249
250 defaults: [
251 "recovery_defaults",
252 ],
253
254 srcs: [
Jerry Zhang152933a2018-05-02 16:56:00 -0700255 "logging.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700256 "recovery-refresh.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700257 ],
258
259 shared_libs: [
260 "libbase",
261 "liblog",
262 ],
263
Jerry Zhang152933a2018-05-02 16:56:00 -0700264 static_libs: [
265 "libotautil",
266 ],
267
Tao Baod2f2ad62018-03-23 23:24:25 -0700268 init_rc: [
269 "recovery-refresh.rc",
270 ],
271}