blob: a4abb13643990f61866a160af454dbcf049f2513 [file] [log] [blame]
Dan Willemsen4c939742016-12-06 15:44:57 -08001cc_defaults {
2 name: "installd_defaults",
3
4 cflags: [
5 "-Wall",
6 "-Werror",
Jeff Sharkeyc1149c92017-09-21 14:51:09 -06007 "-Wextra",
Andreas Gampefa2dadd2018-02-28 19:52:47 -08008
9 "-Wunreachable-code",
10 "-Wunreachable-code-break",
11 "-Wunreachable-code-return",
Dan Willemsen4c939742016-12-06 15:44:57 -080012 ],
13 srcs: [
Jeff Sharkey88ddd942017-01-17 18:05:54 -070014 "CacheItem.cpp",
15 "CacheTracker.cpp",
Jeff Sharkeyf3e30b92016-12-09 17:06:57 -070016 "InstalldNativeService.cpp",
Risan5f308262018-10-26 12:06:58 -060017 "QuotaUtils.cpp",
Jeff Sharkey6c2c0562016-12-07 12:12:00 -070018 "dexopt.cpp",
Victor Hsiehc9821f12020-08-07 11:32:29 -070019 "execv_helper.cpp",
Dan Willemsen4c939742016-12-06 15:44:57 -080020 "globals.cpp",
Victor Hsiehc9821f12020-08-07 11:32:29 -070021 "run_dex2oat.cpp",
Victor Hsiehcb35a062020-08-13 16:11:13 -070022 "unique_file.cpp",
Dan Willemsen4c939742016-12-06 15:44:57 -080023 "utils.cpp",
Oleksandr Peletskyid2be6322019-01-24 17:59:45 +010024 "utils_default.cpp",
Eric Holk0ebbe0f2019-01-09 18:17:27 -080025 "view_compiler.cpp",
Colin Crossdd2dae92017-11-14 13:05:37 -080026 ":installd_aidl",
Dan Willemsen4c939742016-12-06 15:44:57 -080027 ],
Andreas Gampefa2dadd2018-02-28 19:52:47 -080028 header_libs: [
29 "dex2oat_headers",
30 ],
Dan Willemsen4c939742016-12-06 15:44:57 -080031 shared_libs: [
32 "libbase",
33 "libbinder",
Alan Stokesa25d90c2017-10-16 10:56:00 +010034 "libcrypto",
Dan Willemsen4c939742016-12-06 15:44:57 -080035 "libcutils",
36 "liblog",
37 "liblogwrap",
Suren Baghdasaryancd829052018-11-02 19:15:37 -070038 "libprocessgroup",
Dan Willemsen4c939742016-12-06 15:44:57 -080039 "libselinux",
40 "libutils",
Nicolas Geoffrayaaad21e2019-02-25 13:31:10 +000041 "server_configurable_flags",
Dan Willemsen4c939742016-12-06 15:44:57 -080042 ],
43
Risand57852c2018-11-02 04:51:14 +090044 product_variables: {
45 arc: {
46 exclude_srcs: [
47 "QuotaUtils.cpp",
48 ],
49 static_libs: [
50 "libarcdiskquota",
51 "arc_services_aidl",
52 ],
53 cflags: [
54 "-DUSE_ARC",
55 ],
56 },
57 },
58
Dan Willemsen4c939742016-12-06 15:44:57 -080059 clang: true,
Jeff Sharkeyc1149c92017-09-21 14:51:09 -060060
61 tidy: true,
62 tidy_checks: [
63 "-*",
64 "clang-analyzer-security*",
65 "cert-*",
66 "-cert-err58-cpp",
67 ],
68 tidy_flags: [
69 "-warnings-as-errors=clang-analyzer-security*,cert-*"
70 ],
Dan Willemsen4c939742016-12-06 15:44:57 -080071}
72
73//
74// Static library used in testing and executable
75//
76
77cc_library_static {
78 name: "libinstalld",
79 defaults: ["installd_defaults"],
80
81 export_include_dirs: ["."],
82 aidl: {
83 export_aidl_headers: true,
84 },
Risand57852c2018-11-02 04:51:14 +090085
86 product_variables: {
87 arc: {
88 exclude_srcs: [
89 "QuotaUtils.cpp",
90 ],
91 static_libs: [
92 "libarcdiskquota",
93 "arc_services_aidl",
94 ],
95 cflags: [
96 "-DUSE_ARC",
97 ],
98 },
99 },
100}
101
102cc_library_headers {
103 name: "libinstalld_headers",
104 export_include_dirs: ["."],
Dan Willemsen4c939742016-12-06 15:44:57 -0800105}
106
107//
Victor Hsiehc9821f12020-08-07 11:32:29 -0700108// Unit tests
109//
110
111cc_test_host {
112 name: "run_dex2oat_test",
113 test_suites: ["general-tests"],
114 clang: true,
115 srcs: [
116 "run_dex2oat_test.cpp",
117 "run_dex2oat.cpp",
Victor Hsiehcb35a062020-08-13 16:11:13 -0700118 "unique_file.cpp",
Victor Hsiehc9821f12020-08-07 11:32:29 -0700119 "execv_helper.cpp",
120 ],
121 cflags: ["-Wall", "-Werror"],
122 shared_libs: [
123 "libbase",
124 "server_configurable_flags",
125 ],
Victor Hsiehc9821f12020-08-07 11:32:29 -0700126 test_config: "run_dex2oat_test.xml",
127}
128
129//
Dan Willemsen4c939742016-12-06 15:44:57 -0800130// Executable
131//
132
133cc_binary {
134 name: "installd",
135 defaults: ["installd_defaults"],
136 srcs: ["installd.cpp"],
137
138 static_libs: ["libdiskusage"],
139
140 init_rc: ["installd.rc"],
Risand57852c2018-11-02 04:51:14 +0900141
142 product_variables: {
143 arc: {
144 exclude_srcs: [
145 "QuotaUtils.cpp",
146 ],
147 static_libs: [
148 "libarcdiskquota",
149 "arc_services_aidl",
150 ],
151 cflags: [
152 "-DUSE_ARC",
153 ],
154 },
155 },
Narayan Kamath28ab93b2019-05-15 18:29:44 +0100156
157 // Needs to be wherever installd is as it's execed by
158 // installd.
159 required: [ "migrate_legacy_obb_data.sh" ],
Dan Willemsen4c939742016-12-06 15:44:57 -0800160}
161
Dan Willemsen2a001e82016-08-05 14:06:41 -0700162// OTA chroot tool
163
164cc_binary {
165 name: "otapreopt_chroot",
Martijn Coenen8af07d92019-07-03 14:56:39 +0200166 defaults: ["libapexd-deps"],
Dan Willemsen2a001e82016-08-05 14:06:41 -0700167 cflags: [
168 "-Wall",
169 "-Werror",
170 ],
171 clang: true,
172
Roland Levillain94b41802019-01-18 11:56:50 +0000173 srcs: [
174 "otapreopt_chroot.cpp",
175 "otapreopt_utils.cpp",
176 ],
Dan Willemsen2a001e82016-08-05 14:06:41 -0700177 shared_libs: [
178 "libbase",
179 "liblog",
Martijn Coenen13eba262019-03-13 12:59:57 +0100180 "libutils",
Roland Levillainc19c6042018-12-18 12:15:12 +0000181 ],
182 static_libs: [
Roland Levillainc19c6042018-12-18 12:15:12 +0000183 "libapexd",
Dan Willemsen2a001e82016-08-05 14:06:41 -0700184 ],
185}
Dan Willemsen4c939742016-12-06 15:44:57 -0800186
Colin Crossdd2dae92017-11-14 13:05:37 -0800187filegroup {
188 name: "installd_aidl",
189 srcs: [
190 "binder/android/os/IInstalld.aidl",
191 ],
Dan Willemsena5d65222018-09-14 21:27:01 -0700192 path: "binder",
Colin Crossdd2dae92017-11-14 13:05:37 -0800193}
194
Calin Juravledff47292018-02-01 14:44:56 +0000195//
196// Static library for otapreopt used in testing
197//
198cc_library_static {
199 name: "libotapreoptparameters",
200 cflags: [
201 "-Wall",
202 "-Werror"
203 ],
Calin Juravledff47292018-02-01 14:44:56 +0000204
Andreas Gampece9fe7f2018-09-18 10:25:58 -0700205 srcs: ["otapreopt_parameters.cpp"],
Calin Juravledff47292018-02-01 14:44:56 +0000206
207 export_include_dirs: ["."],
208
209 shared_libs: [
210 "libbase",
211 "libcutils",
212 "liblog",
Suren Baghdasaryancd829052018-11-02 19:15:37 -0700213 "libprocessgroup",
Calin Juravledff47292018-02-01 14:44:56 +0000214 "libutils",
215 ],
216}
217
Andreas Gampece9fe7f2018-09-18 10:25:58 -0700218//
219// OTA Executable
220//
221
222cc_binary {
223 name: "otapreopt",
224 cflags: [
225 "-Wall",
226 "-Werror"
227 ],
228
229 srcs: [
230 "dexopt.cpp",
Victor Hsiehc9821f12020-08-07 11:32:29 -0700231 "execv_helper.cpp",
Andreas Gampece9fe7f2018-09-18 10:25:58 -0700232 "globals.cpp",
233 "otapreopt.cpp",
Roland Levillain94b41802019-01-18 11:56:50 +0000234 "otapreopt_utils.cpp",
Victor Hsiehc9821f12020-08-07 11:32:29 -0700235 "run_dex2oat.cpp",
Victor Hsiehcb35a062020-08-13 16:11:13 -0700236 "unique_file.cpp",
Andreas Gampece9fe7f2018-09-18 10:25:58 -0700237 "utils.cpp",
Oleksandr Peletskyid2be6322019-01-24 17:59:45 +0100238 "utils_default.cpp",
Eric Holk0ebbe0f2019-01-09 18:17:27 -0800239 "view_compiler.cpp",
Andreas Gampece9fe7f2018-09-18 10:25:58 -0700240 ],
241
242 header_libs: ["dex2oat_headers"],
243
244 static_libs: [
245 "libartimagevalues",
246 "libdiskusage",
247 "libotapreoptparameters",
248 ],
249
250 shared_libs: [
251 "libbase",
252 "libcrypto",
253 "libcutils",
254 "liblog",
255 "liblogwrap",
Suren Baghdasaryancd829052018-11-02 19:15:37 -0700256 "libprocessgroup",
Andreas Gampece9fe7f2018-09-18 10:25:58 -0700257 "libselinux",
258 "libutils",
Nicolas Geoffrayaaad21e2019-02-25 13:31:10 +0000259 "server_configurable_flags",
Andreas Gampece9fe7f2018-09-18 10:25:58 -0700260 ],
261}
Sasha Smundak6a6bdad2019-01-24 23:20:47 -0800262
263// OTA slot script
Sasha Smundak1fa4b8d2019-02-04 11:20:58 -0800264sh_binary {
Sasha Smundak6a6bdad2019-01-24 23:20:47 -0800265 name: "otapreopt_slot",
Sasha Smundak1fa4b8d2019-02-04 11:20:58 -0800266 src: "otapreopt_slot.sh",
Sasha Smundak6a6bdad2019-01-24 23:20:47 -0800267 init_rc: ["otapreopt.rc"],
268}
269
270// OTA postinstall script
Sasha Smundak1fa4b8d2019-02-04 11:20:58 -0800271sh_binary {
Sasha Smundak6a6bdad2019-01-24 23:20:47 -0800272 name: "otapreopt_script",
Sasha Smundak1fa4b8d2019-02-04 11:20:58 -0800273 src: "otapreopt_script.sh",
Sasha Smundak6a6bdad2019-01-24 23:20:47 -0800274 // Let this depend on otapreopt, the chroot tool and the slot script,
275 // so we just have to mention one in a configuration.
276 required: [
277 "otapreopt",
278 "otapreopt_chroot",
279 "otapreopt_slot",
280 ],
281}
Narayan Kamath28ab93b2019-05-15 18:29:44 +0100282
283// Script to migrate legacy obb data.
284sh_binary {
285 name: "migrate_legacy_obb_data.sh",
286 src: "migrate_legacy_obb_data.sh"
287}