blob: 531c0f502491d3f1a955242a43a807ef10cf6b1b [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 Marko74527972016-11-29 15:57:32 +000033 "linker/elf_writer.cc",
34 "linker/elf_writer_quick.cc",
35 "linker/image_writer.cc",
36 "linker/multi_oat_relative_patcher.cc",
37 "linker/oat_writer.cc",
Vladimir Marko6d66fcf2018-04-12 13:15:27 +010038 "linker/relative_patcher.cc",
Vladimir Marko74527972016-11-29 15:57:32 +000039 ],
Vladimir Marko6d66fcf2018-04-12 13:15:27 +010040
41 codegen: {
42 arm: {
43 srcs: [
44 "linker/arm/relative_patcher_arm_base.cc",
45 "linker/arm/relative_patcher_thumb2.cc",
46 ],
47 },
48 arm64: {
49 srcs: [
50 "linker/arm64/relative_patcher_arm64.cc",
51 ],
52 },
Vladimir Marko6d66fcf2018-04-12 13:15:27 +010053 x86: {
54 srcs: [
55 "linker/x86/relative_patcher_x86.cc",
56 "linker/x86/relative_patcher_x86_base.cc",
57 ],
58 },
59 x86_64: {
60 srcs: [
61 "linker/x86_64/relative_patcher_x86_64.cc",
62 ],
63 },
64 },
65
Vladimir Marko74527972016-11-29 15:57:32 +000066 generated_sources: ["art_dex2oat_operator_srcs"],
67 shared_libs: [
Vladimir Marko74527972016-11-29 15:57:32 +000068 "libbase",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +010069 "libcrypto", // For SHA-1 checksumming of build ID
Roland Levillainc94ab922021-07-01 18:50:43 +010070 "liblog",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +010071 "liblz4",
Jiyong Parkb1c8e162020-05-18 19:04:42 +090072 "libz",
Vladimir Marko74527972016-11-29 15:57:32 +000073 ],
74 export_include_dirs: ["."],
Vladimir Marko74527972016-11-29 15:57:32 +000075}
76
Andreas Gampeec5ed062018-01-26 16:20:02 -080077cc_defaults {
78 name: "libart-dex2oat_static_base_defaults",
Martin Stjernholm35f765b2020-09-23 00:38:38 +010079 whole_static_libs: [
Andreas Gampeec5ed062018-01-26 16:20:02 -080080 "libbase",
Colin Cross70f23142019-09-13 17:37:33 -070081 "libcrypto",
Roland Levillainc94ab922021-07-01 18:50:43 +010082 "liblog",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +010083 "liblz4",
Vladimir Markoc10a0c62018-11-16 11:39:22 +000084 "libz",
Andreas Gampeec5ed062018-01-26 16:20:02 -080085 ],
86}
87
Vladimir Marko74527972016-11-29 15:57:32 +000088gensrcs {
89 name: "art_dex2oat_operator_srcs",
Alex Lightb69d2d32018-02-21 13:37:17 -080090 cmd: "$(location generate_operator_out) art/dex2oat $(in) > $(out)",
91 tools: ["generate_operator_out"],
Vladimir Marko74527972016-11-29 15:57:32 +000092 srcs: [
93 "linker/image_writer.h",
94 ],
95 output_extension: "operator_out.cc",
96}
97
Steven Moreland73030ed2019-01-03 14:23:28 -080098art_cc_library_static {
Vladimir Marko74527972016-11-29 15:57:32 +000099 name: "libart-dex2oat",
100 defaults: ["libart-dex2oat-defaults"],
101 shared_libs: [
102 "libart-compiler",
Andreas Gampe772bd2f2018-01-26 12:56:22 -0800103 "libart-dexlayout",
Dan Willemsen2ca27802017-09-27 14:57:43 -0700104 "libart",
Vladimir Marko327497e2019-03-04 12:53:20 +0000105 "libartpalette",
Andreas Gampe11bf2652018-07-10 14:21:15 -0700106 "libprofile",
Vladimir Marko74527972016-11-29 15:57:32 +0000107 ],
Jiyong Park066dd9022019-12-19 02:11:59 +0000108 apex_available: [
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100109 "com.android.art",
Jiyong Park7c2f69e2020-01-15 15:43:32 +0900110 "com.android.art.debug",
Jiyong Park066dd9022019-12-19 02:11:59 +0000111 ],
Vladimir Marko74527972016-11-29 15:57:32 +0000112}
113
Andreas Gampeec5ed062018-01-26 16:20:02 -0800114cc_defaults {
115 name: "libart-dex2oat_static_defaults",
116 defaults: [
117 "libart-dex2oat_static_base_defaults",
118 "libart_static_defaults",
119 "libprofile_static_defaults",
120 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100121 whole_static_libs: [
Andreas Gampeec5ed062018-01-26 16:20:02 -0800122 "libart-compiler",
123 "libart-dexlayout",
124 "libart-dex2oat",
125 ],
126}
127
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100128// Collect all the static defaults and build a host-only static library, which
129// is then used for the (mostly) static host dex2oat binary.
130art_cc_library_static {
131 name: "libdex2oat_static",
132 device_supported: false,
133 host_supported: true,
134 defaults: [
Martin Stjernholm199f2ec2020-09-28 18:11:41 +0100135 "art_defaults",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100136 "libart-compiler_static_defaults",
137 "libart-dex2oat_static_defaults",
138 "libart-dexlayout_static_defaults",
139 "libart_static_defaults",
140 "libartbase_static_defaults",
141 "libdexfile_static_defaults",
142 "libprofile_static_defaults",
143 ],
144}
145
Steven Moreland73030ed2019-01-03 14:23:28 -0800146art_cc_library_static {
Vladimir Marko74527972016-11-29 15:57:32 +0000147 name: "libartd-dex2oat",
148 defaults: [
149 "art_debug_defaults",
150 "libart-dex2oat-defaults",
151 ],
152 shared_libs: [
153 "libartd-compiler",
Andreas Gampe772bd2f2018-01-26 12:56:22 -0800154 "libartd-dexlayout",
Dan Willemsen2ca27802017-09-27 14:57:43 -0700155 "libartd",
Vladimir Marko327497e2019-03-04 12:53:20 +0000156 "libartpalette",
Andreas Gampe11bf2652018-07-10 14:21:15 -0700157 "libprofiled",
Vladimir Marko74527972016-11-29 15:57:32 +0000158 ],
Jiyong Park066dd9022019-12-19 02:11:59 +0000159 apex_available: [
160 "com.android.art.debug",
161 ],
Vladimir Marko74527972016-11-29 15:57:32 +0000162}
163
Andreas Gampeec5ed062018-01-26 16:20:02 -0800164cc_defaults {
165 name: "libartd-dex2oat_static_defaults",
166 defaults: [
167 "libart-dex2oat_static_base_defaults",
168 "libartd_static_defaults",
169 "libprofiled_static_defaults",
170 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100171 whole_static_libs: [
Andreas Gampeec5ed062018-01-26 16:20:02 -0800172 "libartd-compiler",
173 "libartd-dexlayout",
174 "libartd-dex2oat",
175 ],
176}
177
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100178art_cc_library_static {
179 name: "libdex2oatd_static",
180 device_supported: false,
181 host_supported: true,
182 defaults: [
Martin Stjernholm199f2ec2020-09-28 18:11:41 +0100183 "art_debug_defaults",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100184 "libartbased_static_defaults",
185 "libartd-compiler_static_defaults",
186 "libartd-dex2oat_static_defaults",
187 "libartd-dexlayout_static_defaults",
188 "libartd_static_defaults",
189 "libdexfiled_static_defaults",
190 "libprofiled_static_defaults",
191 ],
192}
193
Colin Crossc7376e02016-09-08 12:52:18 -0700194cc_defaults {
195 name: "dex2oat-defaults",
196 host_supported: true,
197 defaults: ["art_defaults"],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100198
Andreas Gampe097f34c2017-08-23 08:57:51 -0700199 srcs: [
200 "dex2oat_options.cc",
201 "dex2oat.cc",
202 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100203 header_libs: [
204 "art_cmdlineparser_headers",
205 ],
Colin Crossc7376e02016-09-08 12:52:18 -0700206
207 target: {
208 android: {
Nicolas Geoffrayd68580e2020-04-15 16:52:32 +0100209 compile_multilib: "both",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100210 shared_libs: [
211 "libartpalette",
212 "libbase",
213 "libcrypto",
214 "liblz4", // libart(d)-dex2oat dependency; must be repeated here since it's a static lib.
Roland Levillainc94ab922021-07-01 18:50:43 +0100215 "liblog",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100216 "libsigchain",
217 "libz",
218 ],
Colin Crossc7376e02016-09-08 12:52:18 -0700219 },
Colin Crossc7376e02016-09-08 12:52:18 -0700220 },
Colin Crossc7376e02016-09-08 12:52:18 -0700221}
222
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -0700223cc_defaults {
224 name: "dex2oat-pgo-defaults",
Martin Stjernholmb4abe0a2019-05-17 19:22:55 +0100225 defaults_visibility: [
226 "//art:__subpackages__",
227 "//external/vixl",
228 ],
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -0700229 pgo: {
230 instrumentation: true,
231 benchmarks: ["dex2oat"],
232 },
233 target: {
234 android_arm64: {
235 pgo: {
236 profile_file: "art/dex2oat_arm_arm64.profdata",
237 },
238 },
239 android_arm: {
240 pgo: {
241 profile_file: "art/dex2oat_arm_arm64.profdata",
242 },
243 },
244 android_x86_64: {
245 pgo: {
246 profile_file: "art/dex2oat_x86_x86_64.profdata",
247 },
248 },
249 android_x86: {
250 pgo: {
251 profile_file: "art/dex2oat_x86_x86_64.profdata",
252 },
253 },
254 },
255}
256
Nicolas Geoffrayafa7e452016-09-14 10:26:56 +0100257art_cc_binary {
Colin Crossc7376e02016-09-08 12:52:18 -0700258 name: "dex2oat",
259 defaults: [
260 "dex2oat-defaults",
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -0700261 "dex2oat-pgo-defaults",
Colin Crossc7376e02016-09-08 12:52:18 -0700262 ],
Martin Stjernholm71dfc9c2020-01-09 15:57:18 +0000263 // Modules that do dexpreopting, e.g. android_app, depend implicitly on
264 // either dex2oat or dex2oatd in ART source builds.
265 visibility: ["//visibility:public"],
Pirama Arumuga Nainar02f6ed62018-01-04 10:52:42 -0800266
Nicolas Geoffrayd68580e2020-04-15 16:52:32 +0100267 multilib: {
268 lib32: {
269 suffix: "32",
270 },
271 lib64: {
272 suffix: "64",
273 },
274 },
275
Pirama Arumuga Nainar02f6ed62018-01-04 10:52:42 -0800276 pgo: {
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -0700277 // Additional cflags just for dex2oat during PGO instrumentation
Pirama Arumuga Nainar02f6ed62018-01-04 10:52:42 -0800278 cflags: [
279 // Ignore frame-size increase resulting from instrumentation.
280 "-Wno-frame-larger-than=",
281 "-DART_PGO_INSTRUMENTATION",
282 ],
Yi Kong1d894d92018-01-19 22:01:14 -0800283 },
284 target: {
285 android: {
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100286 shared_libs: [
287 "libart",
288 "libart-compiler",
289 "libart-dexlayout",
290 "libartbase",
291 "libdexfile",
292 "libprofile",
293 ],
294 static_libs: [
295 "libart-dex2oat",
296 ],
Yi Kong1d894d92018-01-19 22:01:14 -0800297 lto: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700298 thin: true,
Yi Kong1d894d92018-01-19 22:01:14 -0800299 },
Vladimir Markoc10a0c62018-11-16 11:39:22 +0000300 },
301 host: {
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100302 // Make the host binary static, except for system libraries. This
303 // avoids having to bundle host dynamic libs in prebuilts.
304 static_libs: ["libdex2oat_static"],
305 stl: "c++_static",
Martin Stjernholme1a44512020-01-31 22:43:43 +0000306 // Override the prefer32 added by art_cc_binary when
307 // HOST_PREFER_32_BIT is in use. Necessary because the logic in
308 // Soong for setting ctx.Config().BuildOSTarget (used in
309 // dexpreopt.RegisterToolDeps) doesn't take host prefer32 into
Martin Stjernholmc42db832020-02-25 16:02:07 +0000310 // account. Note that this override cannot be in cc_defaults because
Martin Stjernholme1a44512020-01-31 22:43:43 +0000311 // it'd get overridden by the load hook even when it uses
312 // PrependProperties.
Martin Stjernholmc42db832020-02-25 16:02:07 +0000313 compile_multilib: "64",
Nicolas Geoffrayd68580e2020-04-15 16:52:32 +0100314 symlink_preferred_arch: true,
Yi Kong1d894d92018-01-19 22:01:14 -0800315 },
316 },
Jiyong Park066dd9022019-12-19 02:11:59 +0000317 apex_available: [
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100318 "com.android.art",
Jiyong Park066dd9022019-12-19 02:11:59 +0000319 "com.android.art.debug",
320 ],
Colin Crossc7376e02016-09-08 12:52:18 -0700321}
322
Nicolas Geoffrayafa7e452016-09-14 10:26:56 +0100323art_cc_binary {
Colin Crossc7376e02016-09-08 12:52:18 -0700324 name: "dex2oatd",
325 defaults: [
326 "art_debug_defaults",
327 "dex2oat-defaults",
328 ],
Martin Stjernholm71dfc9c2020-01-09 15:57:18 +0000329 // Modules that do dexpreopting, e.g. android_app, depend implicitly on
330 // either dex2oat or dex2oatd in ART source builds.
331 visibility: ["//visibility:public"],
Vladimir Markoc10a0c62018-11-16 11:39:22 +0000332 target: {
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100333 android: {
334 shared_libs: [
335 "libartbased",
336 "libartd",
337 "libartd-compiler",
338 "libartd-dexlayout",
339 "libdexfiled",
340 "libprofiled",
341 ],
342 static_libs: [
343 "libartd-dex2oat",
344 ],
345 },
Vladimir Markoc10a0c62018-11-16 11:39:22 +0000346 host: {
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100347 // Make the host binary static, except for system libraries. This
348 // avoids having to bundle host dynamic libs in prebuilts.
349 static_libs: ["libdex2oatd_static"],
350 stl: "c++_static",
Martin Stjernholme1a44512020-01-31 22:43:43 +0000351 // Override the prefer32 added by art_cc_binary when
352 // HOST_PREFER_32_BIT is in use. Necessary because the logic in
353 // Soong for setting ctx.Config().BuildOSTarget (used in
354 // dexpreopt.RegisterToolDeps) doesn't take host prefer32 into
Martin Stjernholmc42db832020-02-25 16:02:07 +0000355 // account. Note that this override cannot be in cc_defaults because
Martin Stjernholme1a44512020-01-31 22:43:43 +0000356 // it'd get overridden by the load hook even when it uses
357 // PrependProperties.
Martin Stjernholmc42db832020-02-25 16:02:07 +0000358 compile_multilib: "64",
Nicolas Geoffrayd68580e2020-04-15 16:52:32 +0100359 symlink_preferred_arch: true,
Alex Light907001d2019-01-17 00:16:04 +0000360 },
361 },
Jiyong Park066dd9022019-12-19 02:11:59 +0000362 apex_available: [
363 "com.android.art.debug",
364 ],
Nicolas Geoffrayd68580e2020-04-15 16:52:32 +0100365
366 multilib: {
367 lib32: {
368 suffix: "32",
369 },
370 lib64: {
371 suffix: "64",
372 },
373 },
Colin Crossc7376e02016-09-08 12:52:18 -0700374}
375
Andreas Gampe11bf2652018-07-10 14:21:15 -0700376cc_defaults {
377 name: "dex2oats-defaults",
Colin Crossc7376e02016-09-08 12:52:18 -0700378 device_supported: false,
379 static_executable: true,
Andreas Gampeec5ed062018-01-26 16:20:02 -0800380 defaults: [
381 "dex2oat-defaults",
382 ],
Colin Crossaa63aa22016-09-13 14:07:00 -0700383 target: {
384 darwin: {
385 enabled: false,
386 },
387 },
Colin Cross2cfc4ba2016-09-13 16:55:55 -0700388 ldflags: [
389 // We need this because GC stress mode makes use of
390 // _Unwind_GetIP and _Unwind_Backtrace and the symbols are also
391 // defined in libgcc_eh.a(unwind-dw2.o)
392 // TODO: Having this is not ideal as it might obscure errors.
393 // Try to get rid of it.
394 "-z muldefs",
395 ],
Andreas Gampe11bf2652018-07-10 14:21:15 -0700396}
397
398art_cc_binary {
399 name: "dex2oats",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100400 defaults: ["dex2oats-defaults"],
401 static_libs: ["libdex2oat_static"],
Colin Crossc7376e02016-09-08 12:52:18 -0700402}
403
Nicolas Geoffrayafa7e452016-09-14 10:26:56 +0100404art_cc_binary {
Colin Crossc7376e02016-09-08 12:52:18 -0700405 name: "dex2oatds",
Colin Crossc7376e02016-09-08 12:52:18 -0700406 defaults: [
407 "art_debug_defaults",
Andreas Gampe11bf2652018-07-10 14:21:15 -0700408 "dex2oats-defaults",
Colin Crossc7376e02016-09-08 12:52:18 -0700409 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100410 static_libs: ["libdex2oatd_static"],
Colin Crossc7376e02016-09-08 12:52:18 -0700411}
Colin Cross6e95dd52016-09-12 15:37:10 -0700412
Vladimir Marko327497e2019-03-04 12:53:20 +0000413art_cc_library_static {
Roland Levillainf0409142021-03-22 15:45:03 +0000414 name: "libart-dex2oat-gtest",
415 defaults: ["libart-gtest-defaults"],
416 srcs: [
417 "common_compiler_driver_test.cc",
418 ],
419 shared_libs: [
420 "libart-compiler-gtest",
421 "libart-runtime-gtest",
422 "libart-compiler",
423 "libart-disassembler",
424 "libbase",
425 "liblz4", // libart-dex2oat dependency; must be repeated here since it's a static lib.
426 "liblog",
427 ],
428 static_libs: [
429 "libart-dex2oat",
430 ],
431}
432
433art_cc_library_static {
Roland Levillain55ffe7f2021-06-14 15:18:54 +0100434 name: "libartd-dex2oat-gtest",
435 defaults: ["libartd-gtest-defaults"],
Vladimir Marko327497e2019-03-04 12:53:20 +0000436 srcs: [
437 "common_compiler_driver_test.cc",
438 ],
439 shared_libs: [
Roland Levillain55ffe7f2021-06-14 15:18:54 +0100440 "libartd-compiler-gtest",
441 "libartd-runtime-gtest",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +0100442 "libartd-compiler",
443 "libartd-disassembler",
Vladimir Marko327497e2019-03-04 12:53:20 +0000444 "libbase",
Martin Stjernholm2eb1f832020-09-17 00:25:52 +0100445 "liblz4", // libartd-dex2oat dependency; must be repeated here since it's a static lib.
Roland Levillainc94ab922021-07-01 18:50:43 +0100446 "liblog",
Vladimir Marko327497e2019-03-04 12:53:20 +0000447 ],
448 static_libs: [
449 "libartd-dex2oat",
450 ],
451}
452
Roland Levillainf0409142021-03-22 15:45:03 +0000453art_cc_defaults {
454 name: "art_dex2oat_tests_defaults",
David Srbecky4a88a5a2020-05-05 16:21:57 +0100455 data: [
456 ":art-gtest-jars-AbstractMethod",
457 ":art-gtest-jars-DefaultMethods",
458 ":art-gtest-jars-DexToDexDecompiler",
Calin Juravle33787682019-07-26 14:27:18 -0700459 ":art-gtest-jars-Dex2oatVdexPublicSdkDex",
460 ":art-gtest-jars-Dex2oatVdexTestDex",
David Srbecky4a88a5a2020-05-05 16:21:57 +0100461 ":art-gtest-jars-ImageLayoutA",
462 ":art-gtest-jars-ImageLayoutB",
463 ":art-gtest-jars-LinkageTest",
464 ":art-gtest-jars-Main",
465 ":art-gtest-jars-MainEmptyUncompressed",
466 ":art-gtest-jars-MainEmptyUncompressedAligned",
467 ":art-gtest-jars-MainStripped",
468 ":art-gtest-jars-MainUncompressedAligned",
469 ":art-gtest-jars-ManyMethods",
470 ":art-gtest-jars-MultiDex",
471 ":art-gtest-jars-MultiDexModifiedSecondary",
472 ":art-gtest-jars-MyClassNatives",
473 ":art-gtest-jars-Nested",
474 ":art-gtest-jars-ProfileTestMultiDex",
475 ":art-gtest-jars-StaticLeafMethods",
476 ":art-gtest-jars-Statics",
477 ":art-gtest-jars-StringLiterals",
478 ":art-gtest-jars-VerifierDeps",
479 ":art-gtest-jars-VerifierDepsMulti",
480 ":art-gtest-jars-VerifySoftFailDuringClinit",
481 ],
Mathieu Chartierf70fe3d2017-06-21 15:24:02 -0700482 srcs: [
483 "dex2oat_test.cc",
Calin Juravle33787682019-07-26 14:27:18 -0700484 "dex2oat_vdex_test.cc",
Mathieu Chartierf70fe3d2017-06-21 15:24:02 -0700485 "dex2oat_image_test.cc",
Vladimir Marko327497e2019-03-04 12:53:20 +0000486 "driver/compiler_driver_test.cc",
Vladimir Marko74527972016-11-29 15:57:32 +0000487 "linker/elf_writer_test.cc",
488 "linker/image_test.cc",
489 "linker/image_write_read_test.cc",
Vladimir Markof3c52b42017-11-17 17:32:12 +0000490 "linker/index_bss_mapping_encoder_test.cc",
Vladimir Marko74527972016-11-29 15:57:32 +0000491 "linker/multi_oat_relative_patcher_test.cc",
492 "linker/oat_writer_test.cc",
Vladimir Marko327497e2019-03-04 12:53:20 +0000493 "verifier_deps_test.cc",
Mathieu Chartierf70fe3d2017-06-21 15:24:02 -0700494 ],
Yo Chiang169dfb42020-08-07 04:22:18 +0000495 target: {
496 host: {
497 required: ["dex2oatd"],
498 },
499 },
Vladimir Marko6d66fcf2018-04-12 13:15:27 +0100500
501 codegen: {
502 arm: {
503 srcs: [
504 "linker/arm/relative_patcher_thumb2_test.cc",
505 ],
506 },
507 arm64: {
508 srcs: [
509 "linker/arm64/relative_patcher_arm64_test.cc",
510 ],
511 },
Vladimir Marko6d66fcf2018-04-12 13:15:27 +0100512 x86: {
513 srcs: [
514 "linker/x86/relative_patcher_x86_test.cc",
515 ],
516 },
517 x86_64: {
518 srcs: [
519 "linker/x86_64/relative_patcher_x86_64_test.cc",
520 ],
521 },
522 },
523
Vladimir Marko74527972016-11-29 15:57:32 +0000524 shared_libs: [
Vladimir Marko327497e2019-03-04 12:53:20 +0000525 "libartpalette",
Vladimir Marko74527972016-11-29 15:57:32 +0000526 "libbase",
Colin Cross70f23142019-09-13 17:37:33 -0700527 "libcrypto",
Roland Levillainf0409142021-03-22 15:45:03 +0000528 "liblz4", // libart(d)-dex2oat dependency; must be repeated here since it's a static lib.
Roland Levillainc94ab922021-07-01 18:50:43 +0100529 "liblog",
Vladimir Marko74527972016-11-29 15:57:32 +0000530 "libsigchain",
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +0000531 "libziparchive",
Vladimir Marko74527972016-11-29 15:57:32 +0000532 ],
Roland Levillainf0409142021-03-22 15:45:03 +0000533}
534
535// Version of ART gtest `art_dex2oat_tests` bundled with the ART APEX on target.
536// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
537art_cc_test {
538 name: "art_dex2oat_tests",
539 defaults: [
540 "art_gtest_defaults",
541 "art_dex2oat_tests_defaults",
542 ],
543 shared_libs: [
544 "libartbased",
545 "libartd-compiler",
546 "libartd-dexlayout",
547 "libprofiled",
548 ],
Vladimir Marko74527972016-11-29 15:57:32 +0000549 static_libs: [
Roland Levillain55ffe7f2021-06-14 15:18:54 +0100550 "libartd-dex2oat-gtest",
Vladimir Marko74527972016-11-29 15:57:32 +0000551 "libartd-dex2oat",
Roland Levillainf0409142021-03-22 15:45:03 +0000552 "libvixld",
Dan Willemsen2ca27802017-09-27 14:57:43 -0700553 ],
Colin Cross6e95dd52016-09-12 15:37:10 -0700554}
Roland Levillainf0409142021-03-22 15:45:03 +0000555
556// Standalone version of ART gtest `art_dex2oat_tests`, not bundled with the ART APEX on target.
557art_cc_test {
558 name: "art_standalone_dex2oat_tests",
559 defaults: [
560 "art_standalone_gtest_defaults",
561 "art_dex2oat_tests_defaults",
562 ],
563 shared_libs: [
564 "libartbase",
565 "libart-compiler",
566 "libart-dexlayout",
567 "libprofile",
568 ],
569 static_libs: [
570 "libart-dex2oat-gtest",
571 "libart-dex2oat",
572 "libvixl",
573 ],
574 test_config: "art_standalone_dex2oat_tests.xml",
575}