blob: 10474fa2d960ff5380a3a7dd9f5ba8ea7eabad38 [file] [log] [blame]
Tao Baod2f2ad62018-03-23 23:24:25 -07001// Copyright (C) 2018 The Android Open Source Project
Steve Kondik432c6a02013-10-19 19:49:20 -07002// Copyright (C) 2019 The LineageOS Project
Tao Baod2f2ad62018-03-23 23:24:25 -07003//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
Bob Badour29be3f62021-02-12 18:00:57 -080016// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE
17// CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
18// DEPENDING ON IT IN YOUR PROJECT. ***
19package {
20 default_applicable_licenses: ["bootable_recovery_license"],
21}
22
23// Added automatically by a large-scale-change that took the approach of
24// 'apply every license found to every target'. While this makes sure we respect
25// every license restriction, it may not be entirely correct.
26//
27// e.g. GPL in an MIT project might only apply to the contrib/ directory.
28//
29// Please consider splitting the single license below into multiple licenses,
30// taking care not to lose any license_kind information, and overriding the
31// default license using the 'licenses: [...]' property on targets as needed.
32//
33// For unused files, consider creating a 'fileGroup' with "//visibility:private"
34// to attach the license to, and including a comment whether the files may be
35// used in the current project.
36// See: http://go/android-license-faq
37license {
38 name: "bootable_recovery_license",
39 visibility: [":__subpackages__"],
40 license_kinds: [
41 "SPDX-license-identifier-Apache-2.0",
42 "SPDX-license-identifier-MIT",
43 "SPDX-license-identifier-OFL", // by exception only
44 ],
45 license_text: [
46 "NOTICE",
47 ],
48}
49
Tao Baod2f2ad62018-03-23 23:24:25 -070050cc_defaults {
51 name: "recovery_defaults",
52
53 cflags: [
Tao Bao818f9382018-08-06 15:52:24 -070054 "-D_FILE_OFFSET_BITS=64",
55
56 // Must be the same as RECOVERY_API_VERSION.
57 "-DRECOVERY_API_VERSION=3",
58
Tao Baod2f2ad62018-03-23 23:24:25 -070059 "-Wall",
60 "-Werror",
61 ],
62}
63
Hridya Valsaraju20c81b32018-07-27 22:09:12 -070064cc_library_static {
65 name: "librecovery_fastboot",
66 recovery_available: true,
67 defaults: [
68 "recovery_defaults",
69 ],
70
71 srcs: [
72 "fastboot/fastboot.cpp",
73 ],
74
75 shared_libs: [
76 "libbase",
77 "libbootloader_message",
78 "libcutils",
79 "liblog",
Tianjie Xu8f397302018-08-20 13:40:47 -070080 "librecovery_ui",
Hridya Valsaraju20c81b32018-07-27 22:09:12 -070081 ],
82
83 static_libs: [
84 "librecovery_ui_default",
85 ],
86}
87
Tao Bao5fc72a12018-08-07 14:38:51 -070088cc_defaults {
89 name: "librecovery_defaults",
90
91 defaults: [
92 "recovery_defaults",
93 ],
94
95 shared_libs: [
David Anderson89d2d052019-10-15 13:22:20 -070096 "android.hardware.boot@1.0",
97 "android.hardware.boot@1.1",
Kelvin Zhangfa554fe2022-04-01 14:17:10 -070098 "android.hardware.boot-V1-ndk",
99 "libboot_control_client",
Tao Bao5fc72a12018-08-07 14:38:51 -0700100 "libbase",
101 "libbootloader_message",
102 "libcrypto",
Tao Bao5fc72a12018-08-07 14:38:51 -0700103 "libcutils",
Tao Bao5fc72a12018-08-07 14:38:51 -0700104 "libfs_mgr",
David Anderson89d2d052019-10-15 13:22:20 -0700105 "liblp",
Tao Bao5fc72a12018-08-07 14:38:51 -0700106 "liblog",
David Anderson89d2d052019-10-15 13:22:20 -0700107 "libprotobuf-cpp-lite",
Tao Bao5fc72a12018-08-07 14:38:51 -0700108 "libziparchive",
Tom Marshall3e101752019-01-04 14:37:31 -0800109 "libvolume_manager",
Tao Bao5fc72a12018-08-07 14:38:51 -0700110 ],
111
112 static_libs: [
Tianjie Xu58a27692019-08-06 12:32:05 -0700113 "libc++fs",
Tao Bao0deed332019-04-08 11:26:11 -0700114 "libinstall",
Hridya Valsaraju20c81b32018-07-27 22:09:12 -0700115 "librecovery_fastboot",
Tao Bao5fc72a12018-08-07 14:38:51 -0700116 "libminui",
Tao Baoe3f09a72019-10-01 11:55:36 -0700117 "librecovery_utils",
Tao Bao5fc72a12018-08-07 14:38:51 -0700118 "libotautil",
David Anderson89d2d052019-10-15 13:22:20 -0700119 "libsnapshot_nobinder",
Kelvin Zhang58bbe3c2022-04-12 10:46:56 -0700120 "libsnapshot_cow",
121 "liblz4",
Kelvin Zhang04a94492023-02-15 16:59:29 -0800122 "libzstd",
Yifan Hongacf7d1b2020-04-16 11:04:10 -0700123 "update_metadata-protos",
Tao Bao5fc72a12018-08-07 14:38:51 -0700124 ],
125}
126
127cc_library_static {
128 name: "librecovery",
129 recovery_available: true,
130
131 defaults: [
132 "librecovery_defaults",
133 ],
134
135 srcs: [
Tao Bao5fc72a12018-08-07 14:38:51 -0700136 "recovery.cpp",
Tao Bao5fc72a12018-08-07 14:38:51 -0700137 ],
138
Tianjie Xu8f397302018-08-20 13:40:47 -0700139 shared_libs: [
140 "librecovery_ui",
141 ],
xunchang37304f32019-03-12 12:40:14 -0700142}
143
Tom Cherry24dd3142019-11-04 15:17:17 -0800144prebuilt_etc {
145 name: "init_recovery.rc",
146 filename: "init.rc",
147 src: "etc/init.rc",
148 sub_dir: "init/hw",
149 recovery: true,
150}
151
Tao Bao5fc72a12018-08-07 14:38:51 -0700152cc_binary {
153 name: "recovery",
154 recovery: true,
155
156 defaults: [
xunchang24788852019-03-22 16:08:52 -0700157 "libinstall_defaults",
Tao Bao5fc72a12018-08-07 14:38:51 -0700158 "librecovery_defaults",
Tao Bao832c9cd2019-09-27 23:32:00 -0700159 "librecovery_utils_defaults",
Tao Bao5fc72a12018-08-07 14:38:51 -0700160 ],
161
162 srcs: [
Tao Bao5fc72a12018-08-07 14:38:51 -0700163 "recovery_main.cpp",
Tom Marshall3e101752019-01-04 14:37:31 -0800164 "volclient.cpp",
Tao Bao5fc72a12018-08-07 14:38:51 -0700165 ],
166
167 shared_libs: [
David Anderson8ee048d2023-11-17 20:30:02 -0800168 "android.hardware.health-V3-ndk", // from librecovery_utils
Kelvin Zhangfa554fe2022-04-01 14:17:10 -0700169 "android.hardware.boot-V1-ndk",
Tao Bao5fc72a12018-08-07 14:38:51 -0700170 "librecovery_ui",
171 ],
172
173 static_libs: [
Steve Kondik432c6a02013-10-19 19:49:20 -0700174 "libc++fs",
Tao Bao5fc72a12018-08-07 14:38:51 -0700175 "librecovery",
176 "librecovery_ui_default",
177 ],
178
179 required: [
180 "e2fsdroid.recovery",
Tom Cherry24dd3142019-11-04 15:17:17 -0800181 "init_recovery.rc",
Tao Bao5fc72a12018-08-07 14:38:51 -0700182 "librecovery_ui_ext",
xunchang34690ce2019-04-05 16:16:07 -0700183 "minadbd",
Tao Bao7c074d92018-08-21 12:31:51 -0700184 "mke2fs.conf.recovery",
Tao Bao5fc72a12018-08-07 14:38:51 -0700185 "mke2fs.recovery",
Steve Kondik432c6a02013-10-19 19:49:20 -0700186 "mkshrc.recovery",
187 "reboot.recovery",
Tao Bao5fc72a12018-08-07 14:38:51 -0700188 "recovery_deps",
Tom Cherry24dd3142019-11-04 15:17:17 -0800189 "ueventd.rc.recovery",
Tao Bao5fc72a12018-08-07 14:38:51 -0700190 ],
191}
192
Tao Baod2f2ad62018-03-23 23:24:25 -0700193// The dynamic executable that runs after /data mounts.
194cc_binary {
195 name: "recovery-persist",
196
197 defaults: [
198 "recovery_defaults",
199 ],
200
201 srcs: [
202 "recovery-persist.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700203 ],
204
205 shared_libs: [
206 "libbase",
207 "liblog",
208 ],
209
Jerry Zhang152933a2018-05-02 16:56:00 -0700210 static_libs: [
Tao Baoe3f09a72019-10-01 11:55:36 -0700211 "librecovery_utils",
Jerry Zhang152933a2018-05-02 16:56:00 -0700212 ],
213
Tao Baod2f2ad62018-03-23 23:24:25 -0700214 init_rc: [
215 "recovery-persist.rc",
216 ],
217}
218
219// The dynamic executable that runs at init.
220cc_binary {
221 name: "recovery-refresh",
222
223 defaults: [
224 "recovery_defaults",
225 ],
226
227 srcs: [
228 "recovery-refresh.cpp",
Tao Baod2f2ad62018-03-23 23:24:25 -0700229 ],
230
231 shared_libs: [
232 "libbase",
233 "liblog",
234 ],
235
Jerry Zhang152933a2018-05-02 16:56:00 -0700236 static_libs: [
Tao Baoe3f09a72019-10-01 11:55:36 -0700237 "librecovery_utils",
Jerry Zhang152933a2018-05-02 16:56:00 -0700238 ],
239
Tao Baod2f2ad62018-03-23 23:24:25 -0700240 init_rc: [
241 "recovery-refresh.rc",
242 ],
243}
Tao Baoef5e38f2018-07-24 15:34:39 -0700244
245filegroup {
246 name: "res-testdata",
247
248 srcs: [
249 "res-*/images/*_text.png",
250 ],
251}