blob: 41ada9b905d3413a69741dbd95fd4dc41ac920e1 [file] [log] [blame]
Elliott Hughes627d8d32019-09-30 16:46:18 -07001// ART APEX module
2//
3// Contains both the Android Managed Runtime (ART) and the Android Core Library
4// (Libcore).
5
Roland Levillain38a938e2018-09-21 10:55:51 +01006// Modules listed in LOCAL_REQUIRED_MODULES for module art-runtime in art/Android.mk.
7// - Base requirements (binaries for which both 32- and 64-bit versions are built, if relevant).
8art_runtime_base_binaries_both = [
9 "dalvikvm",
10]
11// - Base requirements (binaries for which a 32-bit version is preferred).
12art_runtime_base_binaries_prefer32 = [
13 "dex2oat",
14 "dexoptanalyzer",
15 "profman",
16]
17// - Base requirements (libraries).
Roland Levillain1617f8c2019-03-26 17:52:30 +000018//
19// Note: ART on-device chroot-based testing and benchmarking is not yet using
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +010020// the ART APEX, meaning that copies of some of these libraries have to be
Roland Levillain1617f8c2019-03-26 17:52:30 +000021// installed in `/system` for the ART Buildbot set-up to work properly. This is
22// done by the `standalone-apex-files` Make phony target, used by the ART
23// Buildbot and Golem (see `art/Android.mk`). If you add libraries to this list,
Martin Stjernholm84e5bb92019-09-05 19:56:46 +010024// you may have to also add them to `PRIVATE_ART_APEX_DEPENDENCY_LIBS` in
Roland Levillain1617f8c2019-03-26 17:52:30 +000025// `art/Android.mk`.
26// TODO(b/121117762): Remove this note when both the ART Buildbot and Golem use
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +010027// the ART APEX.
Roland Levillain38a938e2018-09-21 10:55:51 +010028art_runtime_base_native_shared_libs = [
Martin Stjernholm023c2182019-03-28 15:52:32 +000029 // External API (having APEX stubs).
Martin Stjernholm84bf6982019-02-05 15:07:57 +000030 "libdexfile_external",
Martin Stjernholmc2f8b502019-01-17 14:51:35 +000031 "libnativebridge",
32 "libnativehelper",
33 "libnativeloader",
Martin Stjernholm023c2182019-03-28 15:52:32 +000034 // libadbconnection is internal and loaded with dlopen(), but it cannot use
35 // "required" because of cyclic dependency (b/124505714).
36 "libadbconnection",
37 // TODO(b/124476339): Clean up the following libraries once "required"
Martin Stjernholm0c15b822019-02-14 17:24:19 +000038 // dependencies work with APEX libraries.
Martin Stjernholm023c2182019-03-28 15:52:32 +000039 "libart",
40 "libart-compiler",
Martin Stjernholm0c15b822019-02-14 17:24:19 +000041 "libdt_fd_forward",
42 "libdt_socket",
43 "libjdwp",
44 "libnpt",
Martin Stjernholm023c2182019-03-28 15:52:32 +000045 "libopenjdkjvm",
46 "libopenjdkjvmti",
Roland Levillain38a938e2018-09-21 10:55:51 +010047]
Florian Mayer07710c52019-09-16 15:53:38 +000048
49art_runtime_base_native_device_only_shared_libs = [
50 "libperfetto_hprof",
51]
52
Jiyong Park3296fb12018-12-13 18:32:21 +090053bionic_native_shared_libs = [
Martin Stjernholm023c2182019-03-28 15:52:32 +000054 // External API (having APEX stubs).
Jiyong Park3296fb12018-12-13 18:32:21 +090055 "libc",
56 "libm",
57 "libdl",
58]
Jiyong Park408f7d02019-04-02 23:04:42 +090059
Jiyong Parke2bc9fe2018-12-26 11:36:39 +090060bionic_binaries_both = [
61 "linker",
62]
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +010063
Roland Levillain38a938e2018-09-21 10:55:51 +010064// - Debug variants (binaries for which a 32-bit version is preferred).
Roland Levillain38a938e2018-09-21 10:55:51 +010065art_runtime_debug_binaries_prefer32 = [
Roland Levillain38a938e2018-09-21 10:55:51 +010066 "dexoptanalyzerd",
67 "profmand",
68]
Alex Light572a0962019-01-18 14:48:37 -080069art_runtime_debug_binaries_prefer32_device = [
70 "dex2oatd",
71]
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +010072
Alex Light572a0962019-01-18 14:48:37 -080073art_runtime_debug_binaries_both_host = [
74 "dex2oatd",
75]
76
Roland Levillaincb82d092018-11-02 18:50:15 +000077// - Debug variants (libraries).
Roland Levillain38a938e2018-09-21 10:55:51 +010078art_runtime_debug_native_shared_libs = [
Martin Stjernholmc2f8b502019-01-17 14:51:35 +000079 "libadbconnectiond",
Roland Levillain38a938e2018-09-21 10:55:51 +010080 "libartd",
81 "libartd-compiler",
Martin Stjernholm356864a2019-04-30 16:22:17 +010082 "libdexfiled_external",
Roland Levillain38a938e2018-09-21 10:55:51 +010083 "libopenjdkjvmd",
84 "libopenjdkjvmtid",
Roland Levillain38a938e2018-09-21 10:55:51 +010085]
86
Florian Mayer07710c52019-09-16 15:53:38 +000087art_runtime_base_native_device_only_debug_shared_libs = [
Elliott Hughes627d8d32019-09-30 16:46:18 -070088 "libperfetto_hprofd",
Florian Mayer07710c52019-09-16 15:53:38 +000089]
90
Roland Levillain4d6f24d2019-10-02 16:47:36 +010091// Libraries needed to execute ART run-tests.
92// TODO(b/124476339): When bug 124476339 is fixed, add these libraries as `runtime_libs`
93// dependencies of `libartd-compiler`, and remove `art_runtime_run_test_libs`.
94art_runtime_run_test_libs = [
95 "libart-disassembler",
96 "libartd-disassembler",
97]
98
Orion Hodson5cb98a92019-03-25 15:07:16 +000099// Tools common to both device APEX and host APEX. Derived from art-tools in art/Android.mk.
Alex Lightda948ce2018-12-06 17:05:41 +0000100art_tools_common_binaries = [
Roland Levillain38a938e2018-09-21 10:55:51 +0100101 "dexdump",
102 "dexlist",
Alex Lightda948ce2018-12-06 17:05:41 +0000103]
104
Martin Stjernholm77f17662019-04-03 17:08:21 +0100105// Tools common to both device and host debug APEXes.
106art_tools_debug_binaries = [
Roland Levillain6dd62122019-06-18 19:10:21 +0100107 "dexanalyze",
Martin Stjernholm77f17662019-04-03 17:08:21 +0100108 "dexdiag",
Roland Levillain6dd62122019-06-18 19:10:21 +0100109 "dexlayout",
110 "dexlayoutd",
111]
112
113art_tools_debug_binaries_both = [
114 "imgdiag",
115 "imgdiagd",
Martin Stjernholm77f17662019-04-03 17:08:21 +0100116]
117
Orion Hodson5cb98a92019-03-25 15:07:16 +0000118// Tools exclusively for the device APEX derived from art-tools in art/Android.mk.
Roland Levillaine9f0ccc2019-01-07 16:45:58 +0000119art_tools_device_only_binaries = [
120 // oatdump cannot link with host linux_bionic due to not using clang lld;
121 // TODO: Make it work with clang lld.
Roland Levillain38a938e2018-09-21 10:55:51 +0100122 "oatdump",
123]
Roland Levillain02998cf2019-03-21 14:27:02 +0000124// Same, but for only for debug packages.
125art_tools_debug_device_only_binaries = [
126 // oatdumpd cannot link with host linux_bionic due to not using clang lld;
127 // TODO: Make it work with clang lld.
128 "oatdumpd",
129]
Roland Levillain38a938e2018-09-21 10:55:51 +0100130
Orion Hodson5cb98a92019-03-25 15:07:16 +0000131// Tools exclusively for the host APEX derived from art-tools in art/Android.mk.
Roland Levillaine9f0ccc2019-01-07 16:45:58 +0000132art_tools_host_only_binaries = [
Roland Levillain38a938e2018-09-21 10:55:51 +0100133 // FIXME: Does not work as-is, because `ahat` is defined in tools/ahat/Android.mk
134 // (same issue as for `libart_fake` above).
135 //"ahat",
136 "hprof-conv",
Roland Levillain38a938e2018-09-21 10:55:51 +0100137]
138
Roland Levillaina0b19032019-02-08 15:59:56 +0000139// Core Java libraries.
140libcore_java_libs = [
141 "core-oj",
142 "core-libart",
Victor Chang759845f2019-08-06 16:04:36 +0100143 "core-icu4j",
Roland Levillaina0b19032019-02-08 15:59:56 +0000144 "okhttp",
145 "bouncycastle",
146 "apache-xml",
147]
148
149// Native libraries that support the core Java libraries.
Roland Levillain1617f8c2019-03-26 17:52:30 +0000150//
151// Note: ART on-device chroot-based testing and benchmarking is not yet using
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100152// the ART APEX, meaning that copies of some of these libraries have to be
Roland Levillain1617f8c2019-03-26 17:52:30 +0000153// installed in `/system` for the ART Buildbot set-up to work properly. This is
154// done by the `standalone-apex-files` Make phony target, used by the ART
155// Buildbot and Golem (see `art/Android.mk`). If you add libraries to this list,
Martin Stjernholm84e5bb92019-09-05 19:56:46 +0100156// you may have to also add them to `PRIVATE_ART_APEX_DEPENDENCY_LIBS` in
Roland Levillain1617f8c2019-03-26 17:52:30 +0000157// `art/Android.mk`.
158// TODO(b/121117762): Remove this note when both the ART Buildbot and Golem use
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100159// the ART APEX.
Roland Levillaincb82d092018-11-02 18:50:15 +0000160libcore_native_shared_libs = [
Martin Stjernholm023c2182019-03-28 15:52:32 +0000161 // External API (having APEX stubs).
Victor Chang2f0008a2019-01-15 14:10:34 +0000162 "libandroidicu",
Pete Bentley79f56622019-03-21 17:09:56 +0000163 "libandroidio",
Martin Stjernholm023c2182019-03-28 15:52:32 +0000164 // TODO(b/124476339): Clean up the following libraries once "required"
165 // dependencies work with APEX libraries.
Victor Chang2f0008a2019-01-15 14:10:34 +0000166 "libexpat",
167 "libicui18n",
168 "libicuuc",
Pete Bentley51ffdbe2019-01-11 15:25:40 +0000169 "libjavacore",
Roland Levillaincb82d092018-11-02 18:50:15 +0000170 "libopenjdk",
Martin Stjernholm023c2182019-03-28 15:52:32 +0000171]
172libcore_debug_native_shared_libs = [
173 "libopenjdkd",
Victor Chang2f0008a2019-01-15 14:10:34 +0000174]
175
Martin Stjernholm023c2182019-03-28 15:52:32 +0000176libcore_native_device_only_shared_libs = [
Victor Chang2f0008a2019-01-15 14:10:34 +0000177 // TODO(b/122876336): Remove libpac.so once it's migrated to Webview.
178 // libpac is used by frameworks, not by ART host.
179 "libpac",
Roland Levillaincb82d092018-11-02 18:50:15 +0000180]
181
Alex Lightf7f31522019-02-01 11:14:41 -0800182// Temporary library includes for b/123591866 as all libraries are moved into the main art-apex.
183art_runtime_libraries_zipapex = [
184 "libnativebridge",
185 "libnativeloader",
186 "libnativehelper",
187 "libcutils",
188]
189
Jiyong Parke9618552019-02-11 10:54:36 +0900190android_app_certificate {
Martin Stjernholm6da45692019-08-15 15:18:53 +0100191 name: "com.android.art.certificate",
192 certificate: "com.android.art",
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100193}
194
195apex_key {
196 name: "com.android.art.key",
197 public_key: "com.android.art.avbpubkey",
198 private_key: "com.android.art.pem",
Jiyong Parke9618552019-02-11 10:54:36 +0900199}
200
Roland Levillain3be7afe2018-12-04 19:35:03 +0000201prebuilt_etc {
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100202 name: "com.android.art.ld.config.txt",
Roland Levillain3be7afe2018-12-04 19:35:03 +0000203 src: "ld.config.txt",
204 filename: "ld.config.txt",
205 installable: false,
206}
207
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100208// Default values shared by device ART APEXes.
Andreas Gampee55ea982019-02-26 09:11:20 -0800209apex_defaults {
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100210 name: "com.android.art-defaults",
Roland Levillain53058802018-11-14 17:32:18 +0000211 compile_multilib: "both",
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100212 manifest: "manifest-art.json",
Roland Levillaina0b19032019-02-08 15:59:56 +0000213 java_libs: libcore_java_libs,
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700214 native_shared_libs: art_runtime_base_native_shared_libs +
Florian Mayer07710c52019-09-16 15:53:38 +0000215 art_runtime_base_native_device_only_shared_libs +
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700216 libcore_native_device_only_shared_libs +
217 libcore_native_shared_libs,
Roland Levillain53058802018-11-14 17:32:18 +0000218 multilib: {
219 both: {
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100220 binaries: art_runtime_base_binaries_both,
Roland Levillain53058802018-11-14 17:32:18 +0000221 },
222 prefer32: {
223 binaries: art_runtime_base_binaries_prefer32,
224 },
225 first: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700226 binaries: art_tools_common_binaries +
227 art_tools_device_only_binaries,
228 },
Roland Levillain53058802018-11-14 17:32:18 +0000229 },
Andreas Gampe31782c12019-02-06 09:47:25 -0800230 binaries: [
Andreas Gampe5bb525a2019-02-19 12:26:35 -0800231 "art_postinstall_hook",
Andreas Gampe31782c12019-02-06 09:47:25 -0800232 "art_preinstall_hook",
233 "art_preinstall_hook_boot",
Andreas Gampe29c111e2019-02-28 13:58:07 -0800234 "art_preinstall_hook_system_server",
Andreas Gampe31782c12019-02-06 09:47:25 -0800235 "art_prepostinstall_utils",
236 ],
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100237 prebuilts: ["com.android.art.ld.config.txt"],
238 key: "com.android.art.key",
Victor Chang64611242019-07-05 16:32:41 +0100239 required: [
240 "art_apex_boot_integrity",
241 "com.android.i18n",
242 ],
Andreas Gampee55ea982019-02-26 09:11:20 -0800243}
244
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100245// Default values shared by (device) Debug and Testing ART APEXes.
Roland Levillain61f07162019-06-26 12:44:04 +0100246apex_defaults {
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100247 name: "com.android.art-dev-defaults",
248 defaults: ["com.android.art-defaults"],
Florian Mayer07710c52019-09-16 15:53:38 +0000249 native_shared_libs: art_runtime_base_native_device_only_debug_shared_libs +
Roland Levillain4d6f24d2019-10-02 16:47:36 +0100250 art_runtime_run_test_libs +
Florian Mayer07710c52019-09-16 15:53:38 +0000251 art_runtime_debug_native_shared_libs +
Roland Levillain89867bf2019-06-24 15:09:01 +0100252 libcore_debug_native_shared_libs,
Roland Levillain38a938e2018-09-21 10:55:51 +0100253 multilib: {
Roland Levillain6dd62122019-06-18 19:10:21 +0100254 both: {
255 binaries: art_tools_debug_binaries_both,
256 },
Roland Levillain38a938e2018-09-21 10:55:51 +0100257 prefer32: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700258 binaries: art_runtime_debug_binaries_prefer32 +
259 art_runtime_debug_binaries_prefer32_device,
Roland Levillain38a938e2018-09-21 10:55:51 +0100260 },
261 first: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700262 binaries: art_tools_debug_binaries +
263 art_tools_debug_device_only_binaries,
264 },
Roland Levillain38a938e2018-09-21 10:55:51 +0100265 },
Roland Levillain61f07162019-06-26 12:44:04 +0100266}
267
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100268// Release version of the ART APEX module (not containing debug
Roland Levillain61f07162019-06-26 12:44:04 +0100269// variants nor tools), included in user builds. Also used for
270// storage-constrained devices in userdebug and eng builds.
271apex {
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100272 name: "com.android.art.release",
273 defaults: ["com.android.art-defaults"],
Martin Stjernholm6da45692019-08-15 15:18:53 +0100274 certificate: ":com.android.art.certificate",
Roland Levillain61f07162019-06-26 12:44:04 +0100275}
276
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100277// "Debug" version of the ART APEX module (containing both release and
Roland Levillain61f07162019-06-26 12:44:04 +0100278// debug variants, as well as additional tools), included in userdebug and
279// eng build.
280apex {
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100281 name: "com.android.art.debug",
282 defaults: ["com.android.art-dev-defaults"],
Martin Stjernholm6da45692019-08-15 15:18:53 +0100283 certificate: ":com.android.art.certificate",
Roland Levillain38a938e2018-09-21 10:55:51 +0100284}
Alex Lightda948ce2018-12-06 17:05:41 +0000285
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100286// ART gtests with dependencies on internal ART APEX libraries.
Roland Levillain61f07162019-06-26 12:44:04 +0100287art_gtests = [
288 "art_cmdline_tests",
289 "art_compiler_tests",
290 "art_dex2oat_tests",
291 "art_dexanalyze_tests",
292 "art_dexdiag_tests",
293 "art_dexdump_tests",
294 "art_dexlayout_tests",
295 "art_dexlist_tests",
296 "art_dexoptanalyzer_tests",
297 "art_imgdiag_tests",
298 "art_libartbase_tests",
299 "art_libartpalette_tests",
300 "art_libdexfile_tests",
301 "art_libdexfile_support_tests",
302 "art_libprofile_tests",
303 "art_oatdump_tests",
304 "art_profman_tests",
305 "art_runtime_compiler_tests",
306 "art_runtime_tests",
307 "art_sigchain_tests",
308]
309
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100310// "Testing" version of the ART APEX module (containing both release
Roland Levillain61f07162019-06-26 12:44:04 +0100311// and debug variants, additional tools, and ART gtests), for testing
312// purposes only.
313apex_test {
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100314 name: "com.android.art.testing",
315 defaults: ["com.android.art-dev-defaults"],
316 file_contexts: "com.android.art.debug",
Martin Stjernholm6da45692019-08-15 15:18:53 +0100317 certificate: ":com.android.art.certificate",
Roland Levillain61f07162019-06-26 12:44:04 +0100318 tests: art_gtests,
Andreas Gampe816a5522019-09-11 11:29:49 -0700319 binaries: ["signal_dumper"], // Need signal_dumper for run-tests.
Roland Levillain61f07162019-06-26 12:44:04 +0100320}
321
322// TODO: Do this better. art_apex_test_host will disable host builds when
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100323// HOST_PREFER_32_BIT is set. We cannot simply use com.android.art.debug
Alex Lightda948ce2018-12-06 17:05:41 +0000324// because binaries have different multilib classes and 'multilib: {}' isn't
325// supported by target: { ... }.
326// See b/120617876 for more information.
Roland Levillain61f07162019-06-26 12:44:04 +0100327art_apex_test_host {
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100328 name: "com.android.art.host",
Alex Lightda948ce2018-12-06 17:05:41 +0000329 compile_multilib: "both",
330 payload_type: "zip",
331 host_supported: true,
332 device_supported: false,
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100333 manifest: "manifest-art.json",
Roland Levillaina0b19032019-02-08 15:59:56 +0000334 java_libs: libcore_java_libs,
Alex Light55a9bad2019-01-29 18:34:09 -0800335 ignore_system_library_special_case: true,
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700336 native_shared_libs: art_runtime_base_native_shared_libs +
337 art_runtime_debug_native_shared_libs +
338 libcore_native_shared_libs +
339 libcore_debug_native_shared_libs +
340 art_runtime_libraries_zipapex +
Roland Levillain4d6f24d2019-10-02 16:47:36 +0100341 art_runtime_run_test_libs,
Alex Lightda948ce2018-12-06 17:05:41 +0000342 multilib: {
343 both: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700344 binaries: art_runtime_base_binaries_both +
Roland Levillain6dd62122019-06-18 19:10:21 +0100345 art_runtime_debug_binaries_both_host +
346 art_tools_debug_binaries_both,
Alex Lightda948ce2018-12-06 17:05:41 +0000347 },
348 first: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700349 binaries: art_tools_common_binaries + // Host APEX is always debug.
350 art_tools_debug_binaries +
351 art_tools_host_only_binaries +
352 art_runtime_base_binaries_prefer32 +
353 art_runtime_debug_binaries_prefer32,
354 },
Alex Lightda948ce2018-12-06 17:05:41 +0000355 },
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100356 key: "com.android.art.key",
Alex Lighte3521522018-12-06 22:51:18 -0800357 target: {
358 darwin: {
359 enabled: false,
360 },
Alex Light55a9bad2019-01-29 18:34:09 -0800361 linux_bionic: {
362 enabled: true,
363 multilib: {
364 both: {
365 native_shared_libs: bionic_native_shared_libs,
366 binaries: bionic_binaries_both,
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700367 },
368 },
Alex Light55a9bad2019-01-29 18:34:09 -0800369 },
Alex Lighte3521522018-12-06 22:51:18 -0800370 },
Alex Lightda948ce2018-12-06 17:05:41 +0000371}
Jiyong Park1410e9f2019-02-02 04:18:23 +0000372
373python_binary_host {
374 name: "art-apex-tester",
375 srcs: ["art_apex_test.py"],
376 main: "art_apex_test.py",
377 version: {
378 py2: {
Roland Levillain29e740f2019-08-20 15:31:37 +0100379 enabled: true,
Jiyong Park1410e9f2019-02-02 04:18:23 +0000380 },
381 py3: {
Roland Levillain29e740f2019-08-20 15:31:37 +0100382 enabled: false,
Jiyong Park1410e9f2019-02-02 04:18:23 +0000383 },
384 },
385}
386
387// Genrules so we can run the checker, and empty Java library so that it gets executed.
388
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100389art_check_apex_gen_stem = "$(location art-apex-tester)" +
390 " --debugfs $(location debugfs)" +
391 " --tmpdir $(genDir)"
392
393// The non-flattened APEXes are always checked, as they are always generated
394// (even when APEX flattening is enabled).
395genrule_defaults {
396 name: "art-check-apex-gen-defaults",
Jiyong Park1410e9f2019-02-02 04:18:23 +0000397 tools: [
398 "art-apex-tester",
399 "debugfs",
400 ],
Jiyong Park1410e9f2019-02-02 04:18:23 +0000401}
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700402
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100403cc_defaults {
404 name: "art-check-apex-gen-fakebin-defaults",
Jiyong Park1410e9f2019-02-02 04:18:23 +0000405 host_supported: true,
406 device_supported: false,
407 target: {
408 darwin: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700409 enabled: false, // No python3.
Jiyong Park1410e9f2019-02-02 04:18:23 +0000410 },
411 },
412}
413
414genrule {
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100415 name: "art-check-release-apex-gen",
416 defaults: ["art-check-apex-gen-defaults"],
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100417 srcs: [":com.android.art.release"],
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100418 cmd: art_check_apex_gen_stem +
Roland Levillaind7ea0432019-09-09 16:29:12 +0100419 " --flavor release" +
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100420 " $(in)" +
421 " && touch $(out)",
422 out: ["art-check-release-apex-gen.dummy"],
423}
424
425cc_prebuilt_binary {
426 name: "art-check-release-apex-gen-fakebin",
427 defaults: ["art-check-apex-gen-fakebin-defaults"],
428 srcs: [":art-check-release-apex-gen"],
429}
430
431genrule {
Jiyong Park1410e9f2019-02-02 04:18:23 +0000432 name: "art-check-debug-apex-gen",
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100433 defaults: ["art-check-apex-gen-defaults"],
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100434 srcs: [":com.android.art.debug"],
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100435 cmd: art_check_apex_gen_stem +
Roland Levillaind7ea0432019-09-09 16:29:12 +0100436 " --flavor debug" +
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700437 " $(in)" +
438 " && touch $(out)",
Jiyong Park1410e9f2019-02-02 04:18:23 +0000439 out: ["art-check-debug-apex-gen.dummy"],
440}
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700441
Jiyong Park1410e9f2019-02-02 04:18:23 +0000442cc_prebuilt_binary {
443 name: "art-check-debug-apex-gen-fakebin",
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100444 defaults: ["art-check-apex-gen-fakebin-defaults"],
Jiyong Park1410e9f2019-02-02 04:18:23 +0000445 srcs: [":art-check-debug-apex-gen"],
Jiyong Park1410e9f2019-02-02 04:18:23 +0000446}
Andreas Gampe31782c12019-02-06 09:47:25 -0800447
Roland Levillain61f07162019-06-26 12:44:04 +0100448genrule {
449 name: "art-check-testing-apex-gen",
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100450 defaults: ["art-check-apex-gen-defaults"],
Martin Stjernholmfb3a94b2019-07-05 22:27:36 +0100451 srcs: [":com.android.art.testing"],
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100452 cmd: art_check_apex_gen_stem +
Roland Levillaind7ea0432019-09-09 16:29:12 +0100453 " --flavor testing" +
Roland Levillain61f07162019-06-26 12:44:04 +0100454 " $(in)" +
455 " && touch $(out)",
456 out: ["art-check-testing-apex-gen.dummy"],
457}
458
459cc_prebuilt_binary {
460 name: "art-check-testing-apex-gen-fakebin",
Roland Levillaind4fc62c2019-08-12 19:47:51 +0100461 defaults: ["art-check-apex-gen-fakebin-defaults"],
Roland Levillain61f07162019-06-26 12:44:04 +0100462 srcs: [":art-check-testing-apex-gen"],
Roland Levillain61f07162019-06-26 12:44:04 +0100463}
464
Andreas Gampe31782c12019-02-06 09:47:25 -0800465// Pre-install scripts.
466
467sh_binary {
468 name: "art_preinstall_hook",
469 src: "art_preinstall_hook.sh",
470}
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700471
Andreas Gampe31782c12019-02-06 09:47:25 -0800472sh_binary {
473 name: "art_preinstall_hook_boot",
474 src: "art_preinstall_hook_boot.sh",
475}
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700476
Andreas Gampe31782c12019-02-06 09:47:25 -0800477sh_binary {
Andreas Gampe29c111e2019-02-28 13:58:07 -0800478 name: "art_preinstall_hook_system_server",
479 src: "art_preinstall_hook_system_server.sh",
480}
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700481
Andreas Gampe29c111e2019-02-28 13:58:07 -0800482sh_binary {
Andreas Gampe31782c12019-02-06 09:47:25 -0800483 name: "art_prepostinstall_utils",
484 src: "art_prepostinstall_utils.sh",
485}
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700486
Andreas Gampe5bb525a2019-02-19 12:26:35 -0800487sh_binary {
488 name: "art_postinstall_hook",
489 src: "art_postinstall_hook.sh",
490}
Andreas Gampe57975682019-03-04 09:27:11 -0800491
492sh_binary {
493 name: "art_apex_boot_integrity",
494 src: "art_apex_boot_integrity.sh",
495 init_rc: ["art_apex_boot_integrity.rc"],
496}