blob: bd95705003900454b752d7ba5a27c7db4b54f2f7 [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
Bob Badour29be3f62021-02-12 18:00:57 -080015// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE
16// CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
17// DEPENDING ON IT IN YOUR PROJECT. ***
18package {
19 default_applicable_licenses: ["bootable_recovery_license"],
20}
21
22// Added automatically by a large-scale-change that took the approach of
23// 'apply every license found to every target'. While this makes sure we respect
24// every license restriction, it may not be entirely correct.
25//
26// e.g. GPL in an MIT project might only apply to the contrib/ directory.
27//
28// Please consider splitting the single license below into multiple licenses,
29// taking care not to lose any license_kind information, and overriding the
30// default license using the 'licenses: [...]' property on targets as needed.
31//
32// For unused files, consider creating a 'fileGroup' with "//visibility:private"
33// to attach the license to, and including a comment whether the files may be
34// used in the current project.
35// See: http://go/android-license-faq
36license {
37 name: "bootable_recovery_license",
38 visibility: [":__subpackages__"],
39 license_kinds: [
40 "SPDX-license-identifier-Apache-2.0",
41 "SPDX-license-identifier-MIT",
42 "SPDX-license-identifier-OFL", // by exception only
43 ],
44 license_text: [
45 "NOTICE",
46 ],
47}
48
Tao Baod2f2ad62018-03-23 23:24:25 -070049cc_defaults {
50 name: "recovery_defaults",
51
52 cflags: [
Tao Bao818f9382018-08-06 15:52:24 -070053 "-D_FILE_OFFSET_BITS=64",
54
55 // Must be the same as RECOVERY_API_VERSION.
56 "-DRECOVERY_API_VERSION=3",
57
Tao Baod2f2ad62018-03-23 23:24:25 -070058 "-Wall",
59 "-Werror",
60 ],
61}
62
Hridya Valsaraju20c81b32018-07-27 22:09:12 -070063cc_library_static {
64 name: "librecovery_fastboot",
65 recovery_available: true,
66 defaults: [
67 "recovery_defaults",
68 ],
69
70 srcs: [
71 "fastboot/fastboot.cpp",
72 ],
73
74 shared_libs: [
75 "libbase",
76 "libbootloader_message",
77 "libcutils",
78 "liblog",
Tianjie Xu8f397302018-08-20 13:40:47 -070079 "librecovery_ui",
Hridya Valsaraju20c81b32018-07-27 22:09:12 -070080 ],
81
82 static_libs: [
83 "librecovery_ui_default",
84 ],
85}
86
Tao Bao5fc72a12018-08-07 14:38:51 -070087cc_defaults {
88 name: "librecovery_defaults",
89
90 defaults: [
91 "recovery_defaults",
92 ],
93
94 shared_libs: [
David Anderson89d2d052019-10-15 13:22:20 -070095 "android.hardware.boot@1.0",
96 "android.hardware.boot@1.1",
Tao Bao5fc72a12018-08-07 14:38:51 -070097 "libbase",
98 "libbootloader_message",
99 "libcrypto",
Tao Bao5fc72a12018-08-07 14:38:51 -0700100 "libcutils",
Tao Bao5fc72a12018-08-07 14:38:51 -0700101 "libfs_mgr",
David Anderson89d2d052019-10-15 13:22:20 -0700102 "liblp",
Tao Bao5fc72a12018-08-07 14:38:51 -0700103 "liblog",
David Anderson89d2d052019-10-15 13:22:20 -0700104 "libprotobuf-cpp-lite",
Tao Bao5fc72a12018-08-07 14:38:51 -0700105 "libziparchive",
106 ],
107
108 static_libs: [
Tianjie Xu58a27692019-08-06 12:32:05 -0700109 "libc++fs",
Tao Bao0deed332019-04-08 11:26:11 -0700110 "libinstall",
Hridya Valsaraju20c81b32018-07-27 22:09:12 -0700111 "librecovery_fastboot",
Tao Bao5fc72a12018-08-07 14:38:51 -0700112 "libminui",
Tao Baoe3f09a72019-10-01 11:55:36 -0700113 "librecovery_utils",
Tao Bao5fc72a12018-08-07 14:38:51 -0700114 "libotautil",
David Anderson89d2d052019-10-15 13:22:20 -0700115 "libsnapshot_nobinder",
Yifan Hongacf7d1b2020-04-16 11:04:10 -0700116 "update_metadata-protos",
Tao Bao5fc72a12018-08-07 14:38:51 -0700117 ],
118}
119
120cc_library_static {
121 name: "librecovery",
122 recovery_available: true,
123
124 defaults: [
125 "librecovery_defaults",
126 ],
127
128 srcs: [
Tao Bao5fc72a12018-08-07 14:38:51 -0700129 "recovery.cpp",
Tao Bao5fc72a12018-08-07 14:38:51 -0700130 ],
131
Tianjie Xu8f397302018-08-20 13:40:47 -0700132 shared_libs: [
133 "librecovery_ui",
134 ],
xunchang37304f32019-03-12 12:40:14 -0700135}
136
Tom Cherry24dd3142019-11-04 15:17:17 -0800137prebuilt_etc {
138 name: "init_recovery.rc",
139 filename: "init.rc",
140 src: "etc/init.rc",
141 sub_dir: "init/hw",
142 recovery: true,
143}
144
Tao Bao5fc72a12018-08-07 14:38:51 -0700145cc_binary {
146 name: "recovery",
147 recovery: true,
148
149 defaults: [
xunchang24788852019-03-22 16:08:52 -0700150 "libinstall_defaults",
Tao Bao5fc72a12018-08-07 14:38:51 -0700151 "librecovery_defaults",
Tao Bao832c9cd2019-09-27 23:32:00 -0700152 "librecovery_utils_defaults",
Tao Bao5fc72a12018-08-07 14:38:51 -0700153 ],
154
155 srcs: [
Tao Bao5fc72a12018-08-07 14:38:51 -0700156 "recovery_main.cpp",
157 ],
158
159 shared_libs: [
Yifan Hong67a8fd22021-11-30 16:39:00 -0800160 "android.hardware.health-V1-ndk", // from librecovery_utils
Tao Bao5fc72a12018-08-07 14:38:51 -0700161 "librecovery_ui",
162 ],
163
164 static_libs: [
165 "librecovery",
166 "librecovery_ui_default",
167 ],
168
169 required: [
170 "e2fsdroid.recovery",
Tom Cherry24dd3142019-11-04 15:17:17 -0800171 "init_recovery.rc",
Tao Bao5fc72a12018-08-07 14:38:51 -0700172 "librecovery_ui_ext",
xunchang34690ce2019-04-05 16:16:07 -0700173 "minadbd",
Tao Bao7c074d92018-08-21 12:31:51 -0700174 "mke2fs.conf.recovery",
Tao Bao5fc72a12018-08-07 14:38:51 -0700175 "mke2fs.recovery",
176 "recovery_deps",
Tom Cherry24dd3142019-11-04 15:17:17 -0800177 "ueventd.rc.recovery",
Tao Bao5fc72a12018-08-07 14:38:51 -0700178 ],
179}
180
Tao Baod2f2ad62018-03-23 23:24:25 -0700181// The dynamic executable that runs after /data mounts.
182cc_binary {
183 name: "recovery-persist",
184
185 defaults: [
186 "recovery_defaults",
187 ],
188
189 srcs: [
190 "recovery-persist.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700191 ],
192
193 shared_libs: [
194 "libbase",
195 "liblog",
196 ],
197
Jerry Zhang152933a2018-05-02 16:56:00 -0700198 static_libs: [
Tao Baoe3f09a72019-10-01 11:55:36 -0700199 "librecovery_utils",
Jerry Zhang152933a2018-05-02 16:56:00 -0700200 ],
201
Tao Baod2f2ad62018-03-23 23:24:25 -0700202 init_rc: [
203 "recovery-persist.rc",
204 ],
205}
206
207// The dynamic executable that runs at init.
208cc_binary {
209 name: "recovery-refresh",
210
211 defaults: [
212 "recovery_defaults",
213 ],
214
215 srcs: [
216 "recovery-refresh.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700217 ],
218
219 shared_libs: [
220 "libbase",
221 "liblog",
222 ],
223
Jerry Zhang152933a2018-05-02 16:56:00 -0700224 static_libs: [
Tao Baoe3f09a72019-10-01 11:55:36 -0700225 "librecovery_utils",
Jerry Zhang152933a2018-05-02 16:56:00 -0700226 ],
227
Tao Baod2f2ad62018-03-23 23:24:25 -0700228 init_rc: [
229 "recovery-refresh.rc",
230 ],
231}
Tao Baoef5e38f2018-07-24 15:34:39 -0700232
233filegroup {
234 name: "res-testdata",
235
236 srcs: [
237 "res-*/images/*_text.png",
238 ],
239}