blob: 26cbd514590669a8d5e3aae4e92ea9e5f32b843e [file] [log] [blame]
Colin Crossc7376e02016-09-08 12:52:18 -07001//
2// Copyright (C) 2011 The Android Open Source Project
3//
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//
16
Bob Badour9150de62021-02-26 03:22:24 -080017package {
18 // See: http://go/android-license-faq
19 // A large-scale-change added 'default_applicable_licenses' to import
20 // all of the 'license_kinds' from "art_license"
21 // to get the below license kinds:
22 // SPDX-license-identifier-Apache-2.0
23 default_applicable_licenses: ["art_license"],
24}
25
Vladimir Marko74527972016-11-29 15:57:32 +000026art_cc_defaults {
27 name: "libart-dex2oat-defaults",
28 defaults: ["art_defaults"],
29 host_supported: true,
Vladimir Marko74527972016-11-29 15:57:32 +000030 srcs: [
Vladimir Marko327497e2019-03-04 12:53:20 +000031 "dex/quick_compiler_callbacks.cc",
32 "driver/compiler_driver.cc",
Vladimir Markoe4ccbb52022-03-15 08:51:33 +000033 "linker/code_info_table_deduper.cc",
Vladimir Marko74527972016-11-29 15:57:32 +000034 "linker/elf_writer.cc",
35 "linker/elf_writer_quick.cc",
36 "linker/image_writer.cc",
37 "linker/multi_oat_relative_patcher.cc",
38 "linker/oat_writer.cc",
Vladimir Marko6d66fcf2018-04-12 13:15:27 +010039 "linker/relative_patcher.cc",
Vladimir Marko74527972016-11-29 15:57:32 +000040 ],
Vladimir Marko6d66fcf2018-04-12 13:15:27 +010041
42 codegen: {
43 arm: {
44 srcs: [
45 "linker/arm/relative_patcher_arm_base.cc",
46 "linker/arm/relative_patcher_thumb2.cc",
47 ],
48 },
49 arm64: {
50 srcs: [
51 "linker/arm64/relative_patcher_arm64.cc",
52 ],
53 },
Vladimir Marko6d66fcf2018-04-12 13:15:27 +010054 x86: {
55 srcs: [
56 "linker/x86/relative_patcher_x86.cc",
57 "linker/x86/relative_patcher_x86_base.cc",
58 ],
59 },
60 x86_64: {
61 srcs: [
62 "linker/x86_64/relative_patcher_x86_64.cc",
63 ],
64 },
65 },
66
Vladimir Marko74527972016-11-29 15:57:32 +000067 generated_sources: ["art_dex2oat_operator_srcs"],
68 shared_libs: [
Vladimir Marko74527972016-11-29 15:57:32 +000069 "libbase",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +010070 "libcrypto", // For SHA-1 checksumming of build ID
Roland Levillainc94ab922021-07-01 18:50:43 +010071 "liblog",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +010072 "liblz4",
Jiyong Parkb1c8e162020-05-18 19:04:42 +090073 "libz",
Vladimir Marko74527972016-11-29 15:57:32 +000074 ],
75 export_include_dirs: ["."],
Vladimir Marko74527972016-11-29 15:57:32 +000076}
77
Andreas Gampeec5ed062018-01-26 16:20:02 -080078cc_defaults {
79 name: "libart-dex2oat_static_base_defaults",
Martin Stjernholm35f765b2020-09-23 00:38:38 +010080 whole_static_libs: [
Andreas Gampeec5ed062018-01-26 16:20:02 -080081 "libbase",
Colin Cross70f23142019-09-13 17:37:33 -070082 "libcrypto",
Roland Levillainc94ab922021-07-01 18:50:43 +010083 "liblog",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +010084 "liblz4",
Vladimir Markoc10a0c62018-11-16 11:39:22 +000085 "libz",
Andreas Gampeec5ed062018-01-26 16:20:02 -080086 ],
87}
88
Vladimir Marko74527972016-11-29 15:57:32 +000089gensrcs {
90 name: "art_dex2oat_operator_srcs",
Alex Lightb69d2d32018-02-21 13:37:17 -080091 cmd: "$(location generate_operator_out) art/dex2oat $(in) > $(out)",
92 tools: ["generate_operator_out"],
Vladimir Marko74527972016-11-29 15:57:32 +000093 srcs: [
94 "linker/image_writer.h",
95 ],
96 output_extension: "operator_out.cc",
97}
98
Steven Moreland73030ed2019-01-03 14:23:28 -080099art_cc_library_static {
Vladimir Marko74527972016-11-29 15:57:32 +0000100 name: "libart-dex2oat",
101 defaults: ["libart-dex2oat-defaults"],
102 shared_libs: [
103 "libart-compiler",
Andreas Gampe772bd2f2018-01-26 12:56:22 -0800104 "libart-dexlayout",
Dan Willemsen2ca27802017-09-27 14:57:43 -0700105 "libart",
Vladimir Marko327497e2019-03-04 12:53:20 +0000106 "libartpalette",
Andreas Gampe11bf2652018-07-10 14:21:15 -0700107 "libprofile",
Vladimir Marko74527972016-11-29 15:57:32 +0000108 ],
Jiyong Park066dd9022019-12-19 02:11:59 +0000109 apex_available: [
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100110 "com.android.art",
Jiyong Park7c2f69e2020-01-15 15:43:32 +0900111 "com.android.art.debug",
Jiyong Park066dd9022019-12-19 02:11:59 +0000112 ],
Vladimir Marko74527972016-11-29 15:57:32 +0000113}
114
Andreas Gampeec5ed062018-01-26 16:20:02 -0800115cc_defaults {
116 name: "libart-dex2oat_static_defaults",
117 defaults: [
118 "libart-dex2oat_static_base_defaults",
119 "libart_static_defaults",
120 "libprofile_static_defaults",
121 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100122 whole_static_libs: [
Andreas Gampeec5ed062018-01-26 16:20:02 -0800123 "libart-compiler",
124 "libart-dexlayout",
125 "libart-dex2oat",
126 ],
127}
128
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100129// Collect all the static defaults and build a host-only static library, which
130// is then used for the (mostly) static host dex2oat binary.
131art_cc_library_static {
132 name: "libdex2oat_static",
133 device_supported: false,
134 host_supported: true,
135 defaults: [
Martin Stjernholm199f2ec2020-09-28 18:11:41 +0100136 "art_defaults",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100137 "libart-compiler_static_defaults",
138 "libart-dex2oat_static_defaults",
139 "libart-dexlayout_static_defaults",
140 "libart_static_defaults",
141 "libartbase_static_defaults",
142 "libdexfile_static_defaults",
143 "libprofile_static_defaults",
144 ],
145}
146
Steven Moreland73030ed2019-01-03 14:23:28 -0800147art_cc_library_static {
Vladimir Marko74527972016-11-29 15:57:32 +0000148 name: "libartd-dex2oat",
149 defaults: [
150 "art_debug_defaults",
151 "libart-dex2oat-defaults",
152 ],
153 shared_libs: [
154 "libartd-compiler",
Andreas Gampe772bd2f2018-01-26 12:56:22 -0800155 "libartd-dexlayout",
Dan Willemsen2ca27802017-09-27 14:57:43 -0700156 "libartd",
Vladimir Marko327497e2019-03-04 12:53:20 +0000157 "libartpalette",
Andreas Gampe11bf2652018-07-10 14:21:15 -0700158 "libprofiled",
Vladimir Marko74527972016-11-29 15:57:32 +0000159 ],
Jiyong Park066dd9022019-12-19 02:11:59 +0000160 apex_available: [
161 "com.android.art.debug",
162 ],
Vladimir Marko74527972016-11-29 15:57:32 +0000163}
164
Andreas Gampeec5ed062018-01-26 16:20:02 -0800165cc_defaults {
166 name: "libartd-dex2oat_static_defaults",
167 defaults: [
168 "libart-dex2oat_static_base_defaults",
169 "libartd_static_defaults",
170 "libprofiled_static_defaults",
171 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100172 whole_static_libs: [
Andreas Gampeec5ed062018-01-26 16:20:02 -0800173 "libartd-compiler",
174 "libartd-dexlayout",
175 "libartd-dex2oat",
176 ],
177}
178
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100179art_cc_library_static {
180 name: "libdex2oatd_static",
181 device_supported: false,
182 host_supported: true,
183 defaults: [
Martin Stjernholm199f2ec2020-09-28 18:11:41 +0100184 "art_debug_defaults",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100185 "libartbased_static_defaults",
186 "libartd-compiler_static_defaults",
187 "libartd-dex2oat_static_defaults",
188 "libartd-dexlayout_static_defaults",
189 "libartd_static_defaults",
190 "libdexfiled_static_defaults",
191 "libprofiled_static_defaults",
192 ],
193}
194
Colin Crossc7376e02016-09-08 12:52:18 -0700195cc_defaults {
196 name: "dex2oat-defaults",
197 host_supported: true,
198 defaults: ["art_defaults"],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100199
Andreas Gampe097f34c2017-08-23 08:57:51 -0700200 srcs: [
201 "dex2oat_options.cc",
202 "dex2oat.cc",
203 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100204 header_libs: [
205 "art_cmdlineparser_headers",
206 ],
Colin Crossc7376e02016-09-08 12:52:18 -0700207
208 target: {
209 android: {
Nicolas Geoffrayd68580e2020-04-15 16:52:32 +0100210 compile_multilib: "both",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100211 shared_libs: [
212 "libartpalette",
213 "libbase",
214 "libcrypto",
215 "liblz4", // libart(d)-dex2oat dependency; must be repeated here since it's a static lib.
Roland Levillainc94ab922021-07-01 18:50:43 +0100216 "liblog",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100217 "libsigchain",
218 "libz",
219 ],
Colin Crossc7376e02016-09-08 12:52:18 -0700220 },
Colin Crossc7376e02016-09-08 12:52:18 -0700221 },
Colin Crossc7376e02016-09-08 12:52:18 -0700222}
223
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -0700224cc_defaults {
225 name: "dex2oat-pgo-defaults",
Martin Stjernholmb4abe0a2019-05-17 19:22:55 +0100226 defaults_visibility: [
227 "//art:__subpackages__",
228 "//external/vixl",
229 ],
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -0700230 pgo: {
231 instrumentation: true,
232 benchmarks: ["dex2oat"],
233 },
234 target: {
235 android_arm64: {
236 pgo: {
237 profile_file: "art/dex2oat_arm_arm64.profdata",
238 },
239 },
240 android_arm: {
241 pgo: {
242 profile_file: "art/dex2oat_arm_arm64.profdata",
243 },
244 },
245 android_x86_64: {
246 pgo: {
247 profile_file: "art/dex2oat_x86_x86_64.profdata",
248 },
249 },
250 android_x86: {
251 pgo: {
252 profile_file: "art/dex2oat_x86_x86_64.profdata",
253 },
254 },
255 },
256}
257
Nicolas Geoffrayafa7e452016-09-14 10:26:56 +0100258art_cc_binary {
Colin Crossc7376e02016-09-08 12:52:18 -0700259 name: "dex2oat",
260 defaults: [
261 "dex2oat-defaults",
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -0700262 "dex2oat-pgo-defaults",
Colin Crossc7376e02016-09-08 12:52:18 -0700263 ],
Martin Stjernholm71dfc9c2020-01-09 15:57:18 +0000264 // Modules that do dexpreopting, e.g. android_app, depend implicitly on
265 // either dex2oat or dex2oatd in ART source builds.
266 visibility: ["//visibility:public"],
Pirama Arumuga Nainar02f6ed62018-01-04 10:52:42 -0800267
Nicolas Geoffrayd68580e2020-04-15 16:52:32 +0100268 multilib: {
269 lib32: {
270 suffix: "32",
271 },
272 lib64: {
273 suffix: "64",
274 },
275 },
Martin Stjernholm6c61af82021-12-14 01:10:06 +0000276 symlink_preferred_arch: true,
Nicolas Geoffrayd68580e2020-04-15 16:52:32 +0100277
Pirama Arumuga Nainar02f6ed62018-01-04 10:52:42 -0800278 pgo: {
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -0700279 // Additional cflags just for dex2oat during PGO instrumentation
Pirama Arumuga Nainar02f6ed62018-01-04 10:52:42 -0800280 cflags: [
281 // Ignore frame-size increase resulting from instrumentation.
282 "-Wno-frame-larger-than=",
283 "-DART_PGO_INSTRUMENTATION",
284 ],
Yi Kong1d894d92018-01-19 22:01:14 -0800285 },
Martin Stjernholm6c61af82021-12-14 01:10:06 +0000286
Yi Kong1d894d92018-01-19 22:01:14 -0800287 target: {
288 android: {
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100289 shared_libs: [
290 "libart",
291 "libart-compiler",
292 "libart-dexlayout",
293 "libartbase",
294 "libdexfile",
295 "libprofile",
296 ],
297 static_libs: [
298 "libart-dex2oat",
299 ],
Yi Kong1d894d92018-01-19 22:01:14 -0800300 lto: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700301 thin: true,
Yi Kong1d894d92018-01-19 22:01:14 -0800302 },
Vladimir Markoc10a0c62018-11-16 11:39:22 +0000303 },
304 host: {
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100305 // Make the host binary static, except for system libraries. This
306 // avoids having to bundle host dynamic libs in prebuilts.
307 static_libs: ["libdex2oat_static"],
308 stl: "c++_static",
Martin Stjernholme1a44512020-01-31 22:43:43 +0000309 // Override the prefer32 added by art_cc_binary when
310 // HOST_PREFER_32_BIT is in use. Necessary because the logic in
311 // Soong for setting ctx.Config().BuildOSTarget (used in
312 // dexpreopt.RegisterToolDeps) doesn't take host prefer32 into
Martin Stjernholmc42db832020-02-25 16:02:07 +0000313 // account. Note that this override cannot be in cc_defaults because
Martin Stjernholme1a44512020-01-31 22:43:43 +0000314 // it'd get overridden by the load hook even when it uses
315 // PrependProperties.
Martin Stjernholmc42db832020-02-25 16:02:07 +0000316 compile_multilib: "64",
Yi Kong1d894d92018-01-19 22:01:14 -0800317 },
318 },
Martin Stjernholm6c61af82021-12-14 01:10:06 +0000319
Jiyong Park066dd9022019-12-19 02:11:59 +0000320 apex_available: [
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100321 "com.android.art",
Jiyong Park066dd9022019-12-19 02:11:59 +0000322 "com.android.art.debug",
323 ],
Colin Crossc7376e02016-09-08 12:52:18 -0700324}
325
Nicolas Geoffrayafa7e452016-09-14 10:26:56 +0100326art_cc_binary {
Colin Crossc7376e02016-09-08 12:52:18 -0700327 name: "dex2oatd",
328 defaults: [
329 "art_debug_defaults",
330 "dex2oat-defaults",
331 ],
Martin Stjernholm71dfc9c2020-01-09 15:57:18 +0000332 // Modules that do dexpreopting, e.g. android_app, depend implicitly on
333 // either dex2oat or dex2oatd in ART source builds.
334 visibility: ["//visibility:public"],
Martin Stjernholm6c61af82021-12-14 01:10:06 +0000335
336 multilib: {
337 lib32: {
338 suffix: "32",
339 },
340 lib64: {
341 suffix: "64",
342 },
343 },
344 symlink_preferred_arch: true,
345
Vladimir Markoc10a0c62018-11-16 11:39:22 +0000346 target: {
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100347 android: {
348 shared_libs: [
349 "libartbased",
350 "libartd",
351 "libartd-compiler",
352 "libartd-dexlayout",
353 "libdexfiled",
354 "libprofiled",
355 ],
356 static_libs: [
357 "libartd-dex2oat",
358 ],
359 },
Vladimir Markoc10a0c62018-11-16 11:39:22 +0000360 host: {
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100361 // Make the host binary static, except for system libraries. This
362 // avoids having to bundle host dynamic libs in prebuilts.
363 static_libs: ["libdex2oatd_static"],
364 stl: "c++_static",
Martin Stjernholme1a44512020-01-31 22:43:43 +0000365 // Override the prefer32 added by art_cc_binary when
366 // HOST_PREFER_32_BIT is in use. Necessary because the logic in
367 // Soong for setting ctx.Config().BuildOSTarget (used in
368 // dexpreopt.RegisterToolDeps) doesn't take host prefer32 into
Martin Stjernholmc42db832020-02-25 16:02:07 +0000369 // account. Note that this override cannot be in cc_defaults because
Martin Stjernholme1a44512020-01-31 22:43:43 +0000370 // it'd get overridden by the load hook even when it uses
371 // PrependProperties.
Martin Stjernholmc42db832020-02-25 16:02:07 +0000372 compile_multilib: "64",
Alex Light907001d2019-01-17 00:16:04 +0000373 },
374 },
Martin Stjernholm6c61af82021-12-14 01:10:06 +0000375
Jiyong Park066dd9022019-12-19 02:11:59 +0000376 apex_available: [
377 "com.android.art.debug",
378 ],
Colin Crossc7376e02016-09-08 12:52:18 -0700379}
380
Andreas Gampe11bf2652018-07-10 14:21:15 -0700381cc_defaults {
382 name: "dex2oats-defaults",
Colin Crossc7376e02016-09-08 12:52:18 -0700383 device_supported: false,
384 static_executable: true,
Andreas Gampeec5ed062018-01-26 16:20:02 -0800385 defaults: [
386 "dex2oat-defaults",
387 ],
Colin Crossaa63aa22016-09-13 14:07:00 -0700388 target: {
389 darwin: {
390 enabled: false,
391 },
392 },
Colin Cross2cfc4ba2016-09-13 16:55:55 -0700393 ldflags: [
394 // We need this because GC stress mode makes use of
395 // _Unwind_GetIP and _Unwind_Backtrace and the symbols are also
396 // defined in libgcc_eh.a(unwind-dw2.o)
397 // TODO: Having this is not ideal as it might obscure errors.
398 // Try to get rid of it.
399 "-z muldefs",
400 ],
Andreas Gampe11bf2652018-07-10 14:21:15 -0700401}
402
403art_cc_binary {
404 name: "dex2oats",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100405 defaults: ["dex2oats-defaults"],
406 static_libs: ["libdex2oat_static"],
Colin Crossc7376e02016-09-08 12:52:18 -0700407}
408
Nicolas Geoffrayafa7e452016-09-14 10:26:56 +0100409art_cc_binary {
Colin Crossc7376e02016-09-08 12:52:18 -0700410 name: "dex2oatds",
Colin Crossc7376e02016-09-08 12:52:18 -0700411 defaults: [
412 "art_debug_defaults",
Andreas Gampe11bf2652018-07-10 14:21:15 -0700413 "dex2oats-defaults",
Colin Crossc7376e02016-09-08 12:52:18 -0700414 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100415 static_libs: ["libdex2oatd_static"],
Colin Crossc7376e02016-09-08 12:52:18 -0700416}
Colin Cross6e95dd52016-09-12 15:37:10 -0700417
Vladimir Marko327497e2019-03-04 12:53:20 +0000418art_cc_library_static {
Roland Levillainf0409142021-03-22 15:45:03 +0000419 name: "libart-dex2oat-gtest",
420 defaults: ["libart-gtest-defaults"],
421 srcs: [
422 "common_compiler_driver_test.cc",
423 ],
424 shared_libs: [
425 "libart-compiler-gtest",
426 "libart-runtime-gtest",
427 "libart-compiler",
428 "libart-disassembler",
429 "libbase",
430 "liblz4", // libart-dex2oat dependency; must be repeated here since it's a static lib.
431 "liblog",
432 ],
433 static_libs: [
434 "libart-dex2oat",
435 ],
436}
437
438art_cc_library_static {
Roland Levillain55ffe7f2021-06-14 15:18:54 +0100439 name: "libartd-dex2oat-gtest",
440 defaults: ["libartd-gtest-defaults"],
Vladimir Marko327497e2019-03-04 12:53:20 +0000441 srcs: [
442 "common_compiler_driver_test.cc",
443 ],
444 shared_libs: [
Roland Levillain55ffe7f2021-06-14 15:18:54 +0100445 "libartd-compiler-gtest",
446 "libartd-runtime-gtest",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +0100447 "libartd-compiler",
448 "libartd-disassembler",
Vladimir Marko327497e2019-03-04 12:53:20 +0000449 "libbase",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +0100450 "liblz4", // libartd-dex2oat dependency; must be repeated here since it's a static lib.
Roland Levillainc94ab922021-07-01 18:50:43 +0100451 "liblog",
Vladimir Marko327497e2019-03-04 12:53:20 +0000452 ],
453 static_libs: [
454 "libartd-dex2oat",
455 ],
456}
457
Roland Levillainf0409142021-03-22 15:45:03 +0000458art_cc_defaults {
459 name: "art_dex2oat_tests_defaults",
David Srbecky4a88a5a2020-05-05 16:21:57 +0100460 data: [
461 ":art-gtest-jars-AbstractMethod",
462 ":art-gtest-jars-DefaultMethods",
Calin Juravle33787682019-07-26 14:27:18 -0700463 ":art-gtest-jars-Dex2oatVdexPublicSdkDex",
464 ":art-gtest-jars-Dex2oatVdexTestDex",
David Srbecky4a88a5a2020-05-05 16:21:57 +0100465 ":art-gtest-jars-ImageLayoutA",
466 ":art-gtest-jars-ImageLayoutB",
467 ":art-gtest-jars-LinkageTest",
468 ":art-gtest-jars-Main",
469 ":art-gtest-jars-MainEmptyUncompressed",
470 ":art-gtest-jars-MainEmptyUncompressedAligned",
471 ":art-gtest-jars-MainStripped",
472 ":art-gtest-jars-MainUncompressedAligned",
473 ":art-gtest-jars-ManyMethods",
474 ":art-gtest-jars-MultiDex",
475 ":art-gtest-jars-MultiDexModifiedSecondary",
476 ":art-gtest-jars-MyClassNatives",
477 ":art-gtest-jars-Nested",
478 ":art-gtest-jars-ProfileTestMultiDex",
479 ":art-gtest-jars-StaticLeafMethods",
480 ":art-gtest-jars-Statics",
481 ":art-gtest-jars-StringLiterals",
482 ":art-gtest-jars-VerifierDeps",
483 ":art-gtest-jars-VerifierDepsMulti",
484 ":art-gtest-jars-VerifySoftFailDuringClinit",
485 ],
Chih-Hung Hsieha0a5f002022-02-17 21:14:37 -0800486 tidy_timeout_srcs: [
487 "dex2oat_test.cc",
488 "verifier_deps_test.cc",
489 "linker/arm/relative_patcher_thumb2_test.cc",
490 "linker/arm64/relative_patcher_arm64_test.cc",
491 ],
Mathieu Chartierf70fe3d2017-06-21 15:24:02 -0700492 srcs: [
493 "dex2oat_test.cc",
Calin Juravle33787682019-07-26 14:27:18 -0700494 "dex2oat_vdex_test.cc",
Mathieu Chartierf70fe3d2017-06-21 15:24:02 -0700495 "dex2oat_image_test.cc",
Vladimir Marko327497e2019-03-04 12:53:20 +0000496 "driver/compiler_driver_test.cc",
Vladimir Markoe4ccbb52022-03-15 08:51:33 +0000497 "linker/code_info_table_deduper_test.cc",
Vladimir Marko74527972016-11-29 15:57:32 +0000498 "linker/elf_writer_test.cc",
499 "linker/image_test.cc",
500 "linker/image_write_read_test.cc",
Vladimir Markof3c52b42017-11-17 17:32:12 +0000501 "linker/index_bss_mapping_encoder_test.cc",
Vladimir Marko74527972016-11-29 15:57:32 +0000502 "linker/multi_oat_relative_patcher_test.cc",
503 "linker/oat_writer_test.cc",
Vladimir Marko327497e2019-03-04 12:53:20 +0000504 "verifier_deps_test.cc",
Mathieu Chartierf70fe3d2017-06-21 15:24:02 -0700505 ],
Yo Chiang169dfb42020-08-07 04:22:18 +0000506 target: {
507 host: {
508 required: ["dex2oatd"],
509 },
510 },
Vladimir Marko6d66fcf2018-04-12 13:15:27 +0100511
512 codegen: {
513 arm: {
514 srcs: [
515 "linker/arm/relative_patcher_thumb2_test.cc",
516 ],
517 },
518 arm64: {
519 srcs: [
520 "linker/arm64/relative_patcher_arm64_test.cc",
521 ],
522 },
Vladimir Marko6d66fcf2018-04-12 13:15:27 +0100523 x86: {
524 srcs: [
525 "linker/x86/relative_patcher_x86_test.cc",
526 ],
527 },
528 x86_64: {
529 srcs: [
530 "linker/x86_64/relative_patcher_x86_64_test.cc",
531 ],
532 },
533 },
534
Vladimir Marko74527972016-11-29 15:57:32 +0000535 shared_libs: [
Vladimir Marko327497e2019-03-04 12:53:20 +0000536 "libartpalette",
Vladimir Marko74527972016-11-29 15:57:32 +0000537 "libbase",
Colin Cross70f23142019-09-13 17:37:33 -0700538 "libcrypto",
Roland Levillainf0409142021-03-22 15:45:03 +0000539 "liblz4", // libart(d)-dex2oat dependency; must be repeated here since it's a static lib.
Roland Levillainc94ab922021-07-01 18:50:43 +0100540 "liblog",
Vladimir Marko74527972016-11-29 15:57:32 +0000541 "libsigchain",
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +0000542 "libziparchive",
Vladimir Marko74527972016-11-29 15:57:32 +0000543 ],
Roland Levillainf0409142021-03-22 15:45:03 +0000544}
545
546// Version of ART gtest `art_dex2oat_tests` bundled with the ART APEX on target.
547// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
548art_cc_test {
549 name: "art_dex2oat_tests",
550 defaults: [
551 "art_gtest_defaults",
552 "art_dex2oat_tests_defaults",
553 ],
554 shared_libs: [
555 "libartbased",
556 "libartd-compiler",
557 "libartd-dexlayout",
558 "libprofiled",
559 ],
Vladimir Marko74527972016-11-29 15:57:32 +0000560 static_libs: [
Roland Levillain55ffe7f2021-06-14 15:18:54 +0100561 "libartd-dex2oat-gtest",
Vladimir Marko74527972016-11-29 15:57:32 +0000562 "libartd-dex2oat",
Roland Levillainf0409142021-03-22 15:45:03 +0000563 "libvixld",
Dan Willemsen2ca27802017-09-27 14:57:43 -0700564 ],
Colin Cross6e95dd52016-09-12 15:37:10 -0700565}
Roland Levillainf0409142021-03-22 15:45:03 +0000566
567// Standalone version of ART gtest `art_dex2oat_tests`, not bundled with the ART APEX on target.
568art_cc_test {
569 name: "art_standalone_dex2oat_tests",
570 defaults: [
571 "art_standalone_gtest_defaults",
572 "art_dex2oat_tests_defaults",
573 ],
Jiakai Zhangd539f862022-02-08 14:56:05 +0000574 data: [":generate-boot-image"],
Roland Levillainf0409142021-03-22 15:45:03 +0000575 shared_libs: [
576 "libartbase",
577 "libart-compiler",
578 "libart-dexlayout",
579 "libprofile",
580 ],
581 static_libs: [
582 "libart-dex2oat-gtest",
583 "libart-dex2oat",
584 "libvixl",
585 ],
586 test_config: "art_standalone_dex2oat_tests.xml",
587}
Martin Stjernholmd4aba912022-01-25 21:05:47 +0000588
589// Counterpart to art_standalone_dex2oat_tests for tests that go into CTS.
590art_cc_test {
591 name: "art_standalone_dex2oat_cts_tests",
592 defaults: ["art_standalone_gtest_defaults"],
593 srcs: ["dex2oat_cts_test.cc"],
594 data: [
595 ":art-gtest-jars-Main",
596 ":art-gtest-jars-MainStripped",
597 ":art-gtest-jars-MultiDex",
598 ":art-gtest-jars-MultiDexModifiedSecondary",
599 ":art-gtest-jars-Nested",
Jiakai Zhang7ffce8f2022-02-16 11:15:23 +0000600 ":generate-boot-image",
Martin Stjernholmd4aba912022-01-25 21:05:47 +0000601 ],
602 test_config: "art_standalone_dex2oat_cts_tests.xml",
603 test_suites: ["cts"],
604}