blob: e627ad017cdc61f66915fcc5cd196025c3c251ca [file] [log] [blame]
David Sehr334b9d72018-02-12 18:27:56 -08001//
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
David Sehr334b9d72018-02-12 18:27:56 -080026cc_defaults {
27 name: "libdexfile_defaults",
28 defaults: ["art_defaults"],
29 host_supported: true,
30 srcs: [
David Sehr1f010162018-05-15 08:59:32 -070031 "dex/art_dex_file_loader.cc",
David Sehr334b9d72018-02-12 18:27:56 -080032 "dex/compact_dex_file.cc",
Mathieu Chartier5e3cfa22018-02-20 16:53:37 -080033 "dex/compact_offset_table.cc",
David Sehr334b9d72018-02-12 18:27:56 -080034 "dex/descriptors_names.cc",
35 "dex/dex_file.cc",
36 "dex/dex_file_exception_helpers.cc",
David Sehrc431b9d2018-03-02 12:01:51 -080037 "dex/dex_file_layout.cc",
David Sehr334b9d72018-02-12 18:27:56 -080038 "dex/dex_file_loader.cc",
39 "dex/dex_file_tracking_registrar.cc",
40 "dex/dex_file_verifier.cc",
41 "dex/dex_instruction.cc",
42 "dex/modifiers.cc",
David Sehr67bf42e2018-02-26 16:43:04 -080043 "dex/primitive.cc",
Andreas Gampead1aa632019-01-02 10:30:54 -080044 "dex/signature.cc",
David Sehr334b9d72018-02-12 18:27:56 -080045 "dex/standard_dex_file.cc",
David Sehr9c4a0152018-04-05 12:23:54 -070046 "dex/type_lookup_table.cc",
David Sehr334b9d72018-02-12 18:27:56 -080047 "dex/utf.cc",
48 ],
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +000049 header_libs: [
50 "jni_headers",
51 "libdexfile_external_headers",
52 ],
53 export_header_lib_headers: [
54 "jni_headers",
55 "libdexfile_external_headers",
56 ],
David Sehr334b9d72018-02-12 18:27:56 -080057 target: {
58 android: {
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +000059 srcs: [
60 "external/dex_file_ext.cc",
61 ],
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +000062 static_libs: [
63 "libziparchive",
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +000064 ],
David Sehr10db8fe2018-07-18 11:01:20 -070065 shared_libs: [
Jiyong Parkb1c8e162020-05-18 19:04:42 +090066 // libz provides a stub from platform, shouldn't be statically linked
67 "libz",
Andreas Gampe0dc93b12019-05-15 10:30:22 -070068 // For MemMap.
69 "libartpalette",
70 "liblog",
71 // For common macros.
72 "libbase",
David Sehr10db8fe2018-07-18 11:01:20 -070073 ],
74 export_shared_lib_headers: [
David Sehr10db8fe2018-07-18 11:01:20 -070075 "libbase",
76 ],
David Sehr334b9d72018-02-12 18:27:56 -080077 },
David Sehr10db8fe2018-07-18 11:01:20 -070078 not_windows: {
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +000079 srcs: [
80 "external/dex_file_ext.cc",
81 ],
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +000082 shared_libs: [
83 "libziparchive",
84 "libz",
Andreas Gampe0dc93b12019-05-15 10:30:22 -070085 // For MemMap.
86 "libartpalette",
87 "liblog",
88 // For common macros.
89 "libbase",
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +000090 ],
David Sehr10db8fe2018-07-18 11:01:20 -070091 export_shared_lib_headers: [
David Sehr10db8fe2018-07-18 11:01:20 -070092 "libbase",
93 ],
94 },
95 windows: {
96 static_libs: [
97 "libziparchive",
98 "libz",
Andreas Gampe0dc93b12019-05-15 10:30:22 -070099 // For MemMap.
100 "libartpalette",
101 "liblog",
102 // For common macros.
103 "libbase",
David Sehr10db8fe2018-07-18 11:01:20 -0700104 ],
105 export_static_lib_headers: [
David Sehr10db8fe2018-07-18 11:01:20 -0700106 "libbase",
107 ],
108 cflags: ["-Wno-thread-safety"],
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +0000109 },
David Srbeckyd53f6062019-03-22 14:55:21 +0000110 darwin: {
111 enabled: true,
112 },
David Sehr334b9d72018-02-12 18:27:56 -0800113 },
114 generated_sources: ["dexfile_operator_srcs"],
David Sehr334b9d72018-02-12 18:27:56 -0800115 export_include_dirs: ["."],
David Sehr334b9d72018-02-12 18:27:56 -0800116}
117
Andreas Gampeec5ed062018-01-26 16:20:02 -0800118cc_defaults {
119 name: "libdexfile_static_base_defaults",
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100120 whole_static_libs: [
Andreas Gampeec5ed062018-01-26 16:20:02 -0800121 "libbase",
Andreas Gampeec5ed062018-01-26 16:20:02 -0800122 "liblog",
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +0000123 "libz",
124 "libziparchive",
Andreas Gampeec5ed062018-01-26 16:20:02 -0800125 ],
126}
127
128cc_defaults {
129 name: "libdexfile_static_defaults",
130 defaults: [
131 "libartbase_static_defaults",
132 "libdexfile_static_base_defaults",
133 ],
Martin Stjernholmb4abe0a2019-05-17 19:22:55 +0100134 defaults_visibility: [
135 "//art:__subpackages__",
Martin Stjernholmb4abe0a2019-05-17 19:22:55 +0100136 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100137 whole_static_libs: ["libdexfile"],
Andreas Gampeec5ed062018-01-26 16:20:02 -0800138}
139
140cc_defaults {
141 name: "libdexfiled_static_defaults",
142 defaults: [
143 "libartbased_static_defaults",
144 "libdexfile_static_base_defaults",
145 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100146 whole_static_libs: ["libdexfiled"],
Andreas Gampeec5ed062018-01-26 16:20:02 -0800147}
148
David Sehr334b9d72018-02-12 18:27:56 -0800149gensrcs {
150 name: "dexfile_operator_srcs",
Alex Lightb69d2d32018-02-21 13:37:17 -0800151 cmd: "$(location generate_operator_out) art/libdexfile $(in) > $(out)",
152 tools: ["generate_operator_out"],
David Sehr334b9d72018-02-12 18:27:56 -0800153 srcs: [
154 "dex/dex_file.h",
David Sehrc431b9d2018-03-02 12:01:51 -0800155 "dex/dex_file_layout.h",
David Sehr334b9d72018-02-12 18:27:56 -0800156 "dex/dex_instruction.h",
157 "dex/dex_instruction_utils.h",
158 "dex/invoke_type.h",
159 ],
160 output_extension: "operator_out.cc",
161}
162
David Sehr334b9d72018-02-12 18:27:56 -0800163art_cc_library {
164 name: "libdexfile",
Christopher Ferris0d38e852019-12-11 09:37:19 -0800165 defaults: [
166 "libdexfile_defaults",
167 "libart_nativeunwind_defaults",
168 ],
David Sehr10db8fe2018-07-18 11:01:20 -0700169 target: {
David Srbecky7711c352019-04-10 17:50:12 +0100170 android: {
171 shared_libs: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700172 "libartbase",
David Srbecky7711c352019-04-10 17:50:12 +0100173 ],
174 export_shared_lib_headers: [
175 "libartbase",
176 ],
177 },
178 not_windows: {
179 shared_libs: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700180 "libartbase",
David Srbecky7711c352019-04-10 17:50:12 +0100181 ],
182 export_shared_lib_headers: [
183 "libartbase",
184 ],
185 },
David Sehr10db8fe2018-07-18 11:01:20 -0700186 windows: {
187 enabled: true,
188 shared: {
189 enabled: false,
190 },
David Srbecky7711c352019-04-10 17:50:12 +0100191 static_libs: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700192 "libartbase",
David Srbecky7711c352019-04-10 17:50:12 +0100193 ],
194 export_static_lib_headers: [
195 "libartbase",
196 ],
David Sehr10db8fe2018-07-18 11:01:20 -0700197 },
198 },
Jiyong Park066dd9022019-12-19 02:11:59 +0000199 apex_available: [
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100200 "com.android.art",
Jiyong Park066dd9022019-12-19 02:11:59 +0000201 "com.android.art.debug",
Jiyong Park066dd9022019-12-19 02:11:59 +0000202 ],
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000203 stubs: {
204 // TODO(b/143978909): Rename and move this file to this directory.
205 symbol_file: "external/libdexfile_external.map.txt",
206 versions: ["1"],
207 },
David Sehr334b9d72018-02-12 18:27:56 -0800208}
209
David Sehrfcbe15c2018-02-15 09:41:13 -0800210art_cc_library {
211 name: "libdexfiled",
212 defaults: [
213 "art_debug_defaults",
214 "libdexfile_defaults",
215 ],
David Sehr10db8fe2018-07-18 11:01:20 -0700216 target: {
David Srbecky7711c352019-04-10 17:50:12 +0100217 android: {
218 shared_libs: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700219 "libartbased",
David Srbecky7711c352019-04-10 17:50:12 +0100220 ],
221 export_shared_lib_headers: [
222 "libartbased",
223 ],
224 },
225 not_windows: {
226 shared_libs: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700227 "libartbased",
David Srbecky7711c352019-04-10 17:50:12 +0100228 ],
229 export_shared_lib_headers: [
230 "libartbased",
231 ],
232 },
David Sehr10db8fe2018-07-18 11:01:20 -0700233 windows: {
234 enabled: true,
235 shared: {
236 enabled: false,
237 },
David Srbecky7711c352019-04-10 17:50:12 +0100238 static_libs: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700239 "libartbased",
David Srbecky7711c352019-04-10 17:50:12 +0100240 ],
241 export_static_lib_headers: [
242 "libartbased",
243 ],
David Sehr10db8fe2018-07-18 11:01:20 -0700244 },
245 },
Jiyong Park066dd9022019-12-19 02:11:59 +0000246 apex_available: [
247 "com.android.art.debug",
Martin Stjernholma2f48a42021-04-09 13:23:21 +0100248 // TODO(b/183882457): This lib doesn't go into com.android.art, but
249 // apex_available lists need to be the same for internal libs to avoid
250 // stubs, and libartd depends on this.
251 "com.android.art",
Jiyong Park066dd9022019-12-19 02:11:59 +0000252 ],
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000253 stubs: {
254 // TODO(b/143978909): Rename and move this file to this directory.
255 symbol_file: "external/libdexfile_external.map.txt",
256 versions: ["1"],
257 },
David Sehrfcbe15c2018-02-15 09:41:13 -0800258}
259
Martin Stjernholmfdb2f602019-01-09 14:47:00 +0000260art_cc_test {
261 name: "art_libdexfile_tests",
262 defaults: [
263 "art_gtest_defaults",
264 ],
265 srcs: [
266 "dex/art_dex_file_loader_test.cc",
267 "dex/class_accessor_test.cc",
268 "dex/code_item_accessors_test.cc",
269 "dex/compact_dex_file_test.cc",
270 "dex/compact_offset_table_test.cc",
271 "dex/descriptors_names_test.cc",
272 "dex/test_dex_file_builder_test.cc",
273 "dex/dex_file_loader_test.cc",
274 "dex/dex_file_verifier_test.cc",
275 "dex/dex_instruction_test.cc",
276 "dex/primitive_test.cc",
277 "dex/string_reference_test.cc",
278 "dex/type_lookup_table_test.cc",
279 "dex/utf_test.cc",
280 ],
David Srbecky4a88a5a2020-05-05 16:21:57 +0100281 data: [
282 ":art-gtest-jars-GetMethodSignature",
283 ":art-gtest-jars-Lookup",
284 ":art-gtest-jars-Main",
285 ":art-gtest-jars-MultiDex",
286 ":art-gtest-jars-Nested",
287 ],
Orion Hodson00cb81d2020-04-03 06:47:07 +0100288 header_libs: ["jni_headers"],
Martin Stjernholmfdb2f602019-01-09 14:47:00 +0000289 shared_libs: [
290 "libbacktrace",
291 "libziparchive",
292 ],
Martin Stjernholmfdb2f602019-01-09 14:47:00 +0000293}
294
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000295cc_library_headers {
296 name: "libdexfile_external_headers",
Martin Stjernholmb4abe0a2019-05-17 19:22:55 +0100297 visibility: ["//visibility:public"],
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000298 host_supported: true,
299 header_libs: ["libbase_headers"],
300 export_header_lib_headers: ["libbase_headers"],
301 export_include_dirs: ["external/include"],
302
303 target: {
304 windows: {
305 enabled: true,
306 },
307 },
Jiyong Park71f661c2020-04-28 18:20:43 +0900308
309 apex_available: [
310 "//apex_available:platform",
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100311 "com.android.art",
Jiyong Park71f661c2020-04-28 18:20:43 +0900312 "com.android.art.debug",
Martin Stjernholm694f0122020-10-30 02:23:24 +0000313 "com.android.media",
314 "com.android.runtime",
Jiyong Park71f661c2020-04-28 18:20:43 +0900315 ],
Nicolas Geoffrayec388c02021-03-03 22:09:06 +0000316 min_sdk_version: "S",
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000317}
318
Paul Duffin4345aac2019-07-17 15:51:54 +0100319// Make dex_instruction_list.h available for tools/jvmti-agents/titrace
320cc_library_headers {
321 name: "libdexfile_all_headers",
322 visibility: ["//art:__subpackages__"],
323 host_supported: true,
324 export_include_dirs: ["."],
Jiyong Park71f661c2020-04-28 18:20:43 +0900325
326 apex_available: [
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100327 "com.android.art",
Jiyong Park71f661c2020-04-28 18:20:43 +0900328 "com.android.art.debug",
Jiyong Park71f661c2020-04-28 18:20:43 +0900329 ],
Nicolas Geoffrayec388c02021-03-03 22:09:06 +0000330 min_sdk_version: "S",
Paul Duffin4345aac2019-07-17 15:51:54 +0100331}
332
Martin Stjernholmfdb2f602019-01-09 14:47:00 +0000333art_cc_test {
334 name: "art_libdexfile_external_tests",
335 host_supported: true,
Martin Stjernholm842555d2020-03-23 14:38:47 +0000336 test_suites: ["general-tests"],
Martin Stjernholmfdb2f602019-01-09 14:47:00 +0000337 srcs: [
338 "external/dex_file_ext_c_test.c",
339 ],
Orion Hodson00cb81d2020-04-03 06:47:07 +0100340 header_libs: [
341 "jni_headers",
342 "libdexfile_external_headers",
343 ],
Martin Stjernholmfdb2f602019-01-09 14:47:00 +0000344}
345
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000346// Support library with a C++ API for accessing the libdexfile API for external
Martin Stjernholmfe94b1c2019-01-31 17:40:39 +0000347// (non-ART) users.
348//
349// This library dlopens libdexfile_external on first use, so there is no build
350// time dependency on dex file logic. It is therefore safe to use from binaries
351// compiled without dex file support, given they won't encounter any dex file
352// stack frames.
David Srbecky1cf46a32020-06-22 15:39:00 +0100353art_cc_library {
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000354 name: "libdexfile_support",
Martin Stjernholmb4abe0a2019-05-17 19:22:55 +0100355 visibility: ["//visibility:public"],
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000356 host_supported: true,
357 srcs: [
358 "external/dex_file_supp.cc",
359 ],
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000360 runtime_libs: ["libdexfile"],
David Srbecky2ddb98b2021-03-09 00:37:04 +0000361 shared_libs: [
362 "liblog",
363 "libbase",
364 ],
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000365 header_libs: ["libdexfile_external_headers"],
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000366 export_header_lib_headers: ["libdexfile_external_headers"],
Jiyong Park71f661c2020-04-28 18:20:43 +0900367
368 apex_available: [
369 "//apex_available:platform",
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100370 "com.android.art",
Jiyong Park71f661c2020-04-28 18:20:43 +0900371 "com.android.art.debug",
Martin Stjernholm694f0122020-10-30 02:23:24 +0000372 "com.android.media",
373 "com.android.media.swcodec",
374 "com.android.runtime",
Jiyong Park71f661c2020-04-28 18:20:43 +0900375 ],
Nicolas Geoffrayec388c02021-03-03 22:09:06 +0000376 min_sdk_version: "S",
Martin Stjernholmb3d2e832018-11-15 18:09:35 +0000377}
Martin Stjernholm750bf042019-01-09 22:51:12 +0000378
379art_cc_test {
380 name: "art_libdexfile_support_tests",
Roland Levillain61f07162019-06-26 12:44:04 +0100381 defaults: [
382 "art_test_defaults",
383 ],
Martin Stjernholm750bf042019-01-09 22:51:12 +0000384 host_supported: true,
Martin Stjernholm842555d2020-03-23 14:38:47 +0000385 test_suites: ["general-tests"],
Martin Stjernholm750bf042019-01-09 22:51:12 +0000386 srcs: [
387 "external/dex_file_supp_test.cc",
388 ],
389 shared_libs: [
390 "libartbase",
391 "libbase",
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000392 "libdexfile",
Martin Stjernholm750bf042019-01-09 22:51:12 +0000393 "libdexfile_support",
394 ],
395}
Martin Stjernholmfe94b1c2019-01-31 17:40:39 +0000396
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100397cc_library_static {
398 name: "libdexfile_support_static",
Martin Stjernholmd3ee98a2019-09-23 16:26:50 +0100399 host_supported: true,
Martin Stjernholmfe94b1c2019-01-31 17:40:39 +0000400 srcs: [
401 "external/dex_file_supp.cc",
402 ],
403 cflags: ["-DSTATIC_LIB"],
Martin Stjernholmfe94b1c2019-01-31 17:40:39 +0000404 header_libs: ["libdexfile_external_headers"],
405 export_header_lib_headers: ["libdexfile_external_headers"],
406}
407
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100408cc_defaults {
409 name: "libdexfile_support_static_defaults",
Martin Stjernholm621afb42019-09-23 22:01:36 +0100410 defaults: [
411 "libdexfile_static_defaults",
Martin Stjernholm621afb42019-09-23 22:01:36 +0100412 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100413 whole_static_libs: [
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000414 "libdexfile",
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100415 "libdexfile_support_static",
Martin Stjernholm621afb42019-09-23 22:01:36 +0100416 ],
417}
418
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100419cc_defaults {
420 name: "libdexfiled_support_static_defaults",
Martin Stjernholm621afb42019-09-23 22:01:36 +0100421 defaults: [
Martin Stjernholm621afb42019-09-23 22:01:36 +0100422 "libdexfiled_static_defaults",
423 ],
Martin Stjernholm35f765b2020-09-23 00:38:38 +0100424 whole_static_libs: [
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000425 "libdexfiled",
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100426 "libdexfile_support_static",
Martin Stjernholm621afb42019-09-23 22:01:36 +0100427 ],
428}
429
Martin Stjernholmfe94b1c2019-01-31 17:40:39 +0000430art_cc_test {
431 name: "art_libdexfile_support_static_tests",
432 host_supported: true,
Martin Stjernholm842555d2020-03-23 14:38:47 +0000433 test_suites: ["general-tests"],
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100434 defaults: ["libdexfile_support_static_defaults"],
Martin Stjernholmfe94b1c2019-01-31 17:40:39 +0000435 srcs: [
436 "external/dex_file_supp_test.cc",
437 ],
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100438}
439
Martin Stjernholmcbbc8df2020-09-30 22:02:32 +0100440// For use by external packages allowed to link in static libdexfile_support.
441// This is not allowed in any module that may end up in an APEX or platform
442// image, so visibility is restrictive.
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100443cc_library_static {
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000444 name: "libdexfile_static",
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100445 host_supported: true,
Martin Stjernholmcbbc8df2020-09-30 22:02:32 +0100446 visibility: [
447 // Required for simpleperf, libsimpleperf_record, and libsimpleperf_report
448 // in the NDK.
449 "//system/extras/simpleperf",
450 "//cts/tests/tests/simpleperf",
Martin Stjernholmfe94b1c2019-01-31 17:40:39 +0000451 ],
Martin Stjernholmcbbc8df2020-09-30 22:02:32 +0100452 // Using libdexfile_support_static_defaults will link in external libs like
453 // libbase and libz statically as well, which are likely to cause duplicate
454 // copies in the depending module.
455 // TODO(b/169885605): Avoid exposing symbols from those libs.
456 defaults: [
457 "art_defaults",
458 "libdexfile_support_static_defaults",
459 ],
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100460}
461
462art_cc_test {
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000463 name: "art_libdexfile_static_tests",
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100464 host_supported: true,
465 test_suites: ["general-tests"],
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100466 srcs: [
467 "external/dex_file_supp_test.cc",
468 ],
Martin Stjernholmcbbc8df2020-09-30 22:02:32 +0100469 static_libs: [
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000470 "libdexfile_static",
Martin Stjernholmcbbc8df2020-09-30 22:02:32 +0100471 ],
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100472 enabled: false,
473 target: {
474 linux: {
475 enabled: true,
476 },
477 },
Martin Stjernholm49e80cc2021-03-03 00:13:09 +0000478 // TODO(b/181740144): Enable a ubsan check to create a dependency on
479 // ubsan_minimal. It's needed to be able to link with the prebuilt
Martin Stjernholmd3e9ff32021-03-16 00:44:25 +0000480 // libdexfile_static.a, which contains libziparchive.a, which is
Martin Stjernholm49e80cc2021-03-03 00:13:09 +0000481 // built with some ubsan checks
482 // (https://cs.android.com/android/platform/superproject/+/master:system/libziparchive/Android.bp;l=47-59;drc=c7b498fdf2002194709e40ea58ce39f43684fc14)
483 // that the SDK snapshots currently don't propagate properly for static
484 // libs.
485 sanitize: {
486 misc_undefined: ["shift"],
487 },
Martin Stjernholm68e5db52020-09-23 20:43:56 +0100488}
Colin Cross7b550652020-11-17 10:12:52 -0800489
490filegroup {
491 name: "art_libdexfile_dex_instruction_list_header",
492 srcs: ["dex/dex_instruction_list.h"],
493}