xref: /aosp_15_r20/art/runtime/Android.bp (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
1*795d594fSAndroid Build Coastguard Worker//
2*795d594fSAndroid Build Coastguard Worker// Copyright (C) 2011 The Android Open Source Project
3*795d594fSAndroid Build Coastguard Worker//
4*795d594fSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*795d594fSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*795d594fSAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*795d594fSAndroid Build Coastguard Worker//
8*795d594fSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*795d594fSAndroid Build Coastguard Worker//
10*795d594fSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*795d594fSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*795d594fSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*795d594fSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*795d594fSAndroid Build Coastguard Worker// limitations under the License.
15*795d594fSAndroid Build Coastguard Worker//
16*795d594fSAndroid Build Coastguard Worker
17*795d594fSAndroid Build Coastguard Worker// Keep the __jit_debug_register_code symbol as a unique symbol during ICF for architectures where
18*795d594fSAndroid Build Coastguard Worker// we use gold as the linker (arm, x86, x86_64). The symbol is used by the debuggers to detect when
19*795d594fSAndroid Build Coastguard Worker// new jit code is generated. We don't want it to be called when a different function with the same
20*795d594fSAndroid Build Coastguard Worker// (empty) body is called.
21*795d594fSAndroid Build Coastguard Workerpackage {
22*795d594fSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
23*795d594fSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
24*795d594fSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "art_license"
25*795d594fSAndroid Build Coastguard Worker    // to get the below license kinds:
26*795d594fSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
27*795d594fSAndroid Build Coastguard Worker    default_applicable_licenses: ["art_license"],
28*795d594fSAndroid Build Coastguard Worker    default_team: "trendy_team_art_performance",
29*795d594fSAndroid Build Coastguard Worker}
30*795d594fSAndroid Build Coastguard Worker
31*795d594fSAndroid Build Coastguard WorkerJIT_DEBUG_REGISTER_CODE_LDFLAGS = [
32*795d594fSAndroid Build Coastguard Worker    "-Wl,--keep-unique,__jit_debug_register_code",
33*795d594fSAndroid Build Coastguard Worker    "-Wl,--keep-unique,__dex_debug_register_code",
34*795d594fSAndroid Build Coastguard Worker]
35*795d594fSAndroid Build Coastguard Worker
36*795d594fSAndroid Build Coastguard Worker// These are defaults for native shared libaries that are expected to be
37*795d594fSAndroid Build Coastguard Worker// in stack traces often.
38*795d594fSAndroid Build Coastguard Workercc_defaults {
39*795d594fSAndroid Build Coastguard Worker    name: "libart_nativeunwind_defaults",
40*795d594fSAndroid Build Coastguard Worker    target: {
41*795d594fSAndroid Build Coastguard Worker        host: {
42*795d594fSAndroid Build Coastguard Worker            cflags: [
43*795d594fSAndroid Build Coastguard Worker                "-fsanitize-address-use-after-return=never",
44*795d594fSAndroid Build Coastguard Worker                "-Wno-unused-command-line-argument",
45*795d594fSAndroid Build Coastguard Worker            ],
46*795d594fSAndroid Build Coastguard Worker        },
47*795d594fSAndroid Build Coastguard Worker    },
48*795d594fSAndroid Build Coastguard Worker}
49*795d594fSAndroid Build Coastguard Worker
50*795d594fSAndroid Build Coastguard Workercc_library_headers {
51*795d594fSAndroid Build Coastguard Worker    name: "libart_headers",
52*795d594fSAndroid Build Coastguard Worker    defaults: ["art_defaults"],
53*795d594fSAndroid Build Coastguard Worker    host_supported: true,
54*795d594fSAndroid Build Coastguard Worker
55*795d594fSAndroid Build Coastguard Worker    export_include_dirs: ["."],
56*795d594fSAndroid Build Coastguard Worker
57*795d594fSAndroid Build Coastguard Worker    // ART's macros.h depends on libbase's macros.h.
58*795d594fSAndroid Build Coastguard Worker    // Note: runtime_options.h depends on cmdline. But we don't really want to export this
59*795d594fSAndroid Build Coastguard Worker    //       generically. dex2oat takes care of it itself.
60*795d594fSAndroid Build Coastguard Worker    header_libs: [
61*795d594fSAndroid Build Coastguard Worker        "art_libartbase_headers",
62*795d594fSAndroid Build Coastguard Worker        "dlmalloc",
63*795d594fSAndroid Build Coastguard Worker    ],
64*795d594fSAndroid Build Coastguard Worker    export_header_lib_headers: [
65*795d594fSAndroid Build Coastguard Worker        "art_libartbase_headers",
66*795d594fSAndroid Build Coastguard Worker        "dlmalloc",
67*795d594fSAndroid Build Coastguard Worker    ],
68*795d594fSAndroid Build Coastguard Worker
69*795d594fSAndroid Build Coastguard Worker    // We optimize Thread::Current() with a direct TLS access. This requires
70*795d594fSAndroid Build Coastguard Worker    // access to a platform specific Bionic header.
71*795d594fSAndroid Build Coastguard Worker    target: {
72*795d594fSAndroid Build Coastguard Worker        android: {
73*795d594fSAndroid Build Coastguard Worker            header_libs: ["bionic_libc_platform_headers"],
74*795d594fSAndroid Build Coastguard Worker            export_header_lib_headers: ["bionic_libc_platform_headers"],
75*795d594fSAndroid Build Coastguard Worker        },
76*795d594fSAndroid Build Coastguard Worker        linux_bionic: {
77*795d594fSAndroid Build Coastguard Worker            header_libs: ["bionic_libc_platform_headers"],
78*795d594fSAndroid Build Coastguard Worker            export_header_lib_headers: ["bionic_libc_platform_headers"],
79*795d594fSAndroid Build Coastguard Worker        },
80*795d594fSAndroid Build Coastguard Worker    },
81*795d594fSAndroid Build Coastguard Worker
82*795d594fSAndroid Build Coastguard Worker    apex_available: [
83*795d594fSAndroid Build Coastguard Worker        "com.android.art",
84*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
85*795d594fSAndroid Build Coastguard Worker    ],
86*795d594fSAndroid Build Coastguard Worker}
87*795d594fSAndroid Build Coastguard Worker
88*795d594fSAndroid Build Coastguard Worker// Generated headers target required by libart.
89*795d594fSAndroid Build Coastguard Workercc_library_headers {
90*795d594fSAndroid Build Coastguard Worker    name: "libart_generated_headers",
91*795d594fSAndroid Build Coastguard Worker    defaults: ["art_defaults"],
92*795d594fSAndroid Build Coastguard Worker    host_supported: true,
93*795d594fSAndroid Build Coastguard Worker
94*795d594fSAndroid Build Coastguard Worker    // asm_support_gen.h (used by asm_support.h) is generated with cpp-define-generator
95*795d594fSAndroid Build Coastguard Worker    generated_headers: ["cpp-define-generator-asm-support"],
96*795d594fSAndroid Build Coastguard Worker    // export our headers so the libart(d)-gtest targets can use it as well.
97*795d594fSAndroid Build Coastguard Worker    export_generated_headers: ["cpp-define-generator-asm-support"],
98*795d594fSAndroid Build Coastguard Worker
99*795d594fSAndroid Build Coastguard Worker    apex_available: [
100*795d594fSAndroid Build Coastguard Worker        "com.android.art",
101*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
102*795d594fSAndroid Build Coastguard Worker    ],
103*795d594fSAndroid Build Coastguard Worker}
104*795d594fSAndroid Build Coastguard Worker
105*795d594fSAndroid Build Coastguard Worker// Common dependencies for `libart-runtime_deps` and `libartd-runtime_deps`.
106*795d594fSAndroid Build Coastguard Workercc_defaults {
107*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime_common_deps",
108*795d594fSAndroid Build Coastguard Worker    defaults: ["art_defaults"],
109*795d594fSAndroid Build Coastguard Worker    host_supported: true,
110*795d594fSAndroid Build Coastguard Worker    target: {
111*795d594fSAndroid Build Coastguard Worker        android: {
112*795d594fSAndroid Build Coastguard Worker            header_libs: [
113*795d594fSAndroid Build Coastguard Worker                "libnativeloader-headers", // For dlext_namespaces.h
114*795d594fSAndroid Build Coastguard Worker            ],
115*795d594fSAndroid Build Coastguard Worker            shared_libs: [
116*795d594fSAndroid Build Coastguard Worker                "libdl_android",
117*795d594fSAndroid Build Coastguard Worker                "libstatspull", // for pulled atoms
118*795d594fSAndroid Build Coastguard Worker                "libstatssocket", // for pulled atoms
119*795d594fSAndroid Build Coastguard Worker                "libz", // For adler32.
120*795d594fSAndroid Build Coastguard Worker                "heapprofd_client_api",
121*795d594fSAndroid Build Coastguard Worker            ],
122*795d594fSAndroid Build Coastguard Worker            static_libs: [
123*795d594fSAndroid Build Coastguard Worker                "libmodules-utils-build",
124*795d594fSAndroid Build Coastguard Worker                "libstatslog_art",
125*795d594fSAndroid Build Coastguard Worker            ],
126*795d594fSAndroid Build Coastguard Worker        },
127*795d594fSAndroid Build Coastguard Worker        host: {
128*795d594fSAndroid Build Coastguard Worker            shared_libs: [
129*795d594fSAndroid Build Coastguard Worker                "libz", // For adler32.
130*795d594fSAndroid Build Coastguard Worker            ],
131*795d594fSAndroid Build Coastguard Worker        },
132*795d594fSAndroid Build Coastguard Worker    },
133*795d594fSAndroid Build Coastguard Worker    header_libs: [
134*795d594fSAndroid Build Coastguard Worker        "art_cmdlineparser_headers",
135*795d594fSAndroid Build Coastguard Worker        "cpp-define-generator-definitions",
136*795d594fSAndroid Build Coastguard Worker        "jni_platform_headers",
137*795d594fSAndroid Build Coastguard Worker        "libart_headers",
138*795d594fSAndroid Build Coastguard Worker        "libnativehelper_header_only",
139*795d594fSAndroid Build Coastguard Worker        "libart_generated_headers",
140*795d594fSAndroid Build Coastguard Worker        // `libart-runtime` doesn't depend on all `libart-compiler` headers, it only requires
141*795d594fSAndroid Build Coastguard Worker        // `jit_create` to initialize the JIT compiler.
142*795d594fSAndroid Build Coastguard Worker        "libart-compiler_jit_headers",
143*795d594fSAndroid Build Coastguard Worker    ],
144*795d594fSAndroid Build Coastguard Worker    export_header_lib_headers: [
145*795d594fSAndroid Build Coastguard Worker        "libart_headers",
146*795d594fSAndroid Build Coastguard Worker        "libart_generated_headers",
147*795d594fSAndroid Build Coastguard Worker    ],
148*795d594fSAndroid Build Coastguard Worker    shared_libs: [
149*795d594fSAndroid Build Coastguard Worker        "libartpalette",
150*795d594fSAndroid Build Coastguard Worker        "libbase", // For common macros.
151*795d594fSAndroid Build Coastguard Worker        "liblog",
152*795d594fSAndroid Build Coastguard Worker        "liblz4",
153*795d594fSAndroid Build Coastguard Worker        "liblzma", // libelffile(d) dependency; must be repeated here since it's a static lib.
154*795d594fSAndroid Build Coastguard Worker        "libnativebridge#impl",
155*795d594fSAndroid Build Coastguard Worker        "libnativeloader#impl",
156*795d594fSAndroid Build Coastguard Worker        "libsigchain#impl",
157*795d594fSAndroid Build Coastguard Worker        "libunwindstack",
158*795d594fSAndroid Build Coastguard Worker    ],
159*795d594fSAndroid Build Coastguard Worker    static_libs: ["libodrstatslog"],
160*795d594fSAndroid Build Coastguard Worker}
161*795d594fSAndroid Build Coastguard Worker
162*795d594fSAndroid Build Coastguard Workercc_defaults {
163*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime_deps",
164*795d594fSAndroid Build Coastguard Worker    defaults: ["libart-runtime_common_deps"],
165*795d594fSAndroid Build Coastguard Worker    static_libs: [
166*795d594fSAndroid Build Coastguard Worker        "libelffile",
167*795d594fSAndroid Build Coastguard Worker    ],
168*795d594fSAndroid Build Coastguard Worker    shared_libs: [
169*795d594fSAndroid Build Coastguard Worker        "libartbase",
170*795d594fSAndroid Build Coastguard Worker        "libdexfile#impl",
171*795d594fSAndroid Build Coastguard Worker        "libprofile",
172*795d594fSAndroid Build Coastguard Worker    ],
173*795d594fSAndroid Build Coastguard Worker    export_shared_lib_headers: [
174*795d594fSAndroid Build Coastguard Worker        "libdexfile#impl",
175*795d594fSAndroid Build Coastguard Worker    ],
176*795d594fSAndroid Build Coastguard Worker}
177*795d594fSAndroid Build Coastguard Worker
178*795d594fSAndroid Build Coastguard Workercc_defaults {
179*795d594fSAndroid Build Coastguard Worker    name: "libartd-runtime_deps",
180*795d594fSAndroid Build Coastguard Worker    defaults: ["libart-runtime_common_deps"],
181*795d594fSAndroid Build Coastguard Worker    static_libs: [
182*795d594fSAndroid Build Coastguard Worker        "libelffiled",
183*795d594fSAndroid Build Coastguard Worker    ],
184*795d594fSAndroid Build Coastguard Worker    shared_libs: [
185*795d594fSAndroid Build Coastguard Worker        "libartbased",
186*795d594fSAndroid Build Coastguard Worker        "libdexfiled#impl",
187*795d594fSAndroid Build Coastguard Worker        "libprofiled",
188*795d594fSAndroid Build Coastguard Worker    ],
189*795d594fSAndroid Build Coastguard Worker    export_shared_lib_headers: [
190*795d594fSAndroid Build Coastguard Worker        "libdexfiled#impl",
191*795d594fSAndroid Build Coastguard Worker    ],
192*795d594fSAndroid Build Coastguard Worker}
193*795d594fSAndroid Build Coastguard Worker
194*795d594fSAndroid Build Coastguard Worker// Common defaults for `libart_defaults`, `libartd_defaults` and `libart-runtime_common_defaults`.
195*795d594fSAndroid Build Coastguard Workercc_defaults {
196*795d594fSAndroid Build Coastguard Worker    name: "libart_common_defaults",
197*795d594fSAndroid Build Coastguard Worker    defaults: [
198*795d594fSAndroid Build Coastguard Worker        "art_defaults",
199*795d594fSAndroid Build Coastguard Worker        "libart_nativeunwind_defaults",
200*795d594fSAndroid Build Coastguard Worker        "art_hugepage_defaults",
201*795d594fSAndroid Build Coastguard Worker    ],
202*795d594fSAndroid Build Coastguard Worker    host_supported: true,
203*795d594fSAndroid Build Coastguard Worker    target: {
204*795d594fSAndroid Build Coastguard Worker        android_arm: {
205*795d594fSAndroid Build Coastguard Worker            ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS,
206*795d594fSAndroid Build Coastguard Worker        },
207*795d594fSAndroid Build Coastguard Worker        android_arm64: {
208*795d594fSAndroid Build Coastguard Worker            ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS,
209*795d594fSAndroid Build Coastguard Worker        },
210*795d594fSAndroid Build Coastguard Worker        android_x86: {
211*795d594fSAndroid Build Coastguard Worker            ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS,
212*795d594fSAndroid Build Coastguard Worker        },
213*795d594fSAndroid Build Coastguard Worker        android_x86_64: {
214*795d594fSAndroid Build Coastguard Worker            ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS,
215*795d594fSAndroid Build Coastguard Worker        },
216*795d594fSAndroid Build Coastguard Worker    },
217*795d594fSAndroid Build Coastguard Worker    runtime_libs: [
218*795d594fSAndroid Build Coastguard Worker        // Libraries loaded at runtime. Exceptions:
219*795d594fSAndroid Build Coastguard Worker        //
220*795d594fSAndroid Build Coastguard Worker        // - Libraries that cannot be listed here due to cyclic dependency:
221*795d594fSAndroid Build Coastguard Worker        //   - libopenjdk(d)
222*795d594fSAndroid Build Coastguard Worker        //   - libadbconnection(d)
223*795d594fSAndroid Build Coastguard Worker        //   - libopenjdkjvmti(d)
224*795d594fSAndroid Build Coastguard Worker        //     - This one is not loaded programmatically with dlopen, but the
225*795d594fSAndroid Build Coastguard Worker        //       user needs to specify it with -Xplugin.
226*795d594fSAndroid Build Coastguard Worker        //   - libperfetto_hprof(d)
227*795d594fSAndroid Build Coastguard Worker        //   All libraries above needs to be explicitly added to the ART APEX
228*795d594fSAndroid Build Coastguard Worker        //   (cf. art/build/apex/Android.bp).
229*795d594fSAndroid Build Coastguard Worker        //
230*795d594fSAndroid Build Coastguard Worker        // - libicu_jni.so is only loaded to handle dependency order in VM
231*795d594fSAndroid Build Coastguard Worker        //   startup (see Runtime::InitNativeMethods), but its API is internal
232*795d594fSAndroid Build Coastguard Worker        //   to com.android.i18n and not used by ART/libcore. Therefore it's not
233*795d594fSAndroid Build Coastguard Worker        //   listed here to avoid visibility issues. Instead it's linked from
234*795d594fSAndroid Build Coastguard Worker        //   the ART module namespace through an entry in requireNativeLibs in
235*795d594fSAndroid Build Coastguard Worker        //   manifest-art.json.
236*795d594fSAndroid Build Coastguard Worker        "libjavacore",
237*795d594fSAndroid Build Coastguard Worker    ],
238*795d594fSAndroid Build Coastguard Worker}
239*795d594fSAndroid Build Coastguard Worker
240*795d594fSAndroid Build Coastguard Worker// Common defaults for `libart-runtime_defaults` and `libartd-runtime_defaults`.
241*795d594fSAndroid Build Coastguard Workercc_defaults {
242*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime_common_defaults",
243*795d594fSAndroid Build Coastguard Worker    defaults: ["libart_common_defaults"],
244*795d594fSAndroid Build Coastguard Worker    srcs: [
245*795d594fSAndroid Build Coastguard Worker        "app_info.cc",
246*795d594fSAndroid Build Coastguard Worker        "art_field.cc",
247*795d594fSAndroid Build Coastguard Worker        "art_method.cc",
248*795d594fSAndroid Build Coastguard Worker        "backtrace_helper.cc",
249*795d594fSAndroid Build Coastguard Worker        "barrier.cc",
250*795d594fSAndroid Build Coastguard Worker        "base/gc_visited_arena_pool.cc",
251*795d594fSAndroid Build Coastguard Worker        "base/locks.cc",
252*795d594fSAndroid Build Coastguard Worker        "base/mem_map_arena_pool.cc",
253*795d594fSAndroid Build Coastguard Worker        "base/mutex.cc",
254*795d594fSAndroid Build Coastguard Worker        "base/quasi_atomic.cc",
255*795d594fSAndroid Build Coastguard Worker        "base/timing_logger.cc",
256*795d594fSAndroid Build Coastguard Worker        "cha.cc",
257*795d594fSAndroid Build Coastguard Worker        "class_linker.cc",
258*795d594fSAndroid Build Coastguard Worker        "class_loader_context.cc",
259*795d594fSAndroid Build Coastguard Worker        "class_root.cc",
260*795d594fSAndroid Build Coastguard Worker        "class_table.cc",
261*795d594fSAndroid Build Coastguard Worker        "common_throws.cc",
262*795d594fSAndroid Build Coastguard Worker        "compat_framework.cc",
263*795d594fSAndroid Build Coastguard Worker        "debug_print.cc",
264*795d594fSAndroid Build Coastguard Worker        "debugger.cc",
265*795d594fSAndroid Build Coastguard Worker        "dex/dex_file_annotations.cc",
266*795d594fSAndroid Build Coastguard Worker        "dex_register_location.cc",
267*795d594fSAndroid Build Coastguard Worker        "exec_utils.cc",
268*795d594fSAndroid Build Coastguard Worker        "fault_handler.cc",
269*795d594fSAndroid Build Coastguard Worker        "gc/accounting/bitmap.cc",
270*795d594fSAndroid Build Coastguard Worker        "gc/accounting/card_table.cc",
271*795d594fSAndroid Build Coastguard Worker        "gc/accounting/heap_bitmap.cc",
272*795d594fSAndroid Build Coastguard Worker        "gc/accounting/mod_union_table.cc",
273*795d594fSAndroid Build Coastguard Worker        "gc/accounting/remembered_set.cc",
274*795d594fSAndroid Build Coastguard Worker        "gc/accounting/space_bitmap.cc",
275*795d594fSAndroid Build Coastguard Worker        "gc/allocation_record.cc",
276*795d594fSAndroid Build Coastguard Worker        "gc/allocator/art-dlmalloc.cc",
277*795d594fSAndroid Build Coastguard Worker        "gc/allocator/rosalloc.cc",
278*795d594fSAndroid Build Coastguard Worker        "gc/collector/concurrent_copying.cc",
279*795d594fSAndroid Build Coastguard Worker        "gc/collector/garbage_collector.cc",
280*795d594fSAndroid Build Coastguard Worker        "gc/collector/immune_region.cc",
281*795d594fSAndroid Build Coastguard Worker        "gc/collector/immune_spaces.cc",
282*795d594fSAndroid Build Coastguard Worker        "gc/collector/mark_compact.cc",
283*795d594fSAndroid Build Coastguard Worker        "gc/collector/mark_sweep.cc",
284*795d594fSAndroid Build Coastguard Worker        "gc/collector/partial_mark_sweep.cc",
285*795d594fSAndroid Build Coastguard Worker        "gc/collector/semi_space.cc",
286*795d594fSAndroid Build Coastguard Worker        "gc/collector/sticky_mark_sweep.cc",
287*795d594fSAndroid Build Coastguard Worker        "gc/gc_cause.cc",
288*795d594fSAndroid Build Coastguard Worker        "gc/heap.cc",
289*795d594fSAndroid Build Coastguard Worker        "gc/reference_processor.cc",
290*795d594fSAndroid Build Coastguard Worker        "gc/reference_queue.cc",
291*795d594fSAndroid Build Coastguard Worker        "gc/scoped_gc_critical_section.cc",
292*795d594fSAndroid Build Coastguard Worker        "gc/space/bump_pointer_space.cc",
293*795d594fSAndroid Build Coastguard Worker        "gc/space/dlmalloc_space.cc",
294*795d594fSAndroid Build Coastguard Worker        "gc/space/image_space.cc",
295*795d594fSAndroid Build Coastguard Worker        "gc/space/large_object_space.cc",
296*795d594fSAndroid Build Coastguard Worker        "gc/space/malloc_space.cc",
297*795d594fSAndroid Build Coastguard Worker        "gc/space/region_space.cc",
298*795d594fSAndroid Build Coastguard Worker        "gc/space/rosalloc_space.cc",
299*795d594fSAndroid Build Coastguard Worker        "gc/space/space.cc",
300*795d594fSAndroid Build Coastguard Worker        "gc/space/zygote_space.cc",
301*795d594fSAndroid Build Coastguard Worker        "gc/task_processor.cc",
302*795d594fSAndroid Build Coastguard Worker        "gc/verification.cc",
303*795d594fSAndroid Build Coastguard Worker        "handle.cc",
304*795d594fSAndroid Build Coastguard Worker        "hidden_api.cc",
305*795d594fSAndroid Build Coastguard Worker        "hprof/hprof.cc",
306*795d594fSAndroid Build Coastguard Worker        "indirect_reference_table.cc",
307*795d594fSAndroid Build Coastguard Worker        "instrumentation.cc",
308*795d594fSAndroid Build Coastguard Worker        "intern_table.cc",
309*795d594fSAndroid Build Coastguard Worker        "interpreter/interpreter.cc",
310*795d594fSAndroid Build Coastguard Worker        "interpreter/interpreter_cache.cc",
311*795d594fSAndroid Build Coastguard Worker        "interpreter/interpreter_common.cc",
312*795d594fSAndroid Build Coastguard Worker        "interpreter/interpreter_switch_impl0.cc",
313*795d594fSAndroid Build Coastguard Worker        "interpreter/lock_count_data.cc",
314*795d594fSAndroid Build Coastguard Worker        "interpreter/shadow_frame.cc",
315*795d594fSAndroid Build Coastguard Worker        "interpreter/unstarted_runtime.cc",
316*795d594fSAndroid Build Coastguard Worker        "java_frame_root_info.cc",
317*795d594fSAndroid Build Coastguard Worker        "javaheapprof/javaheapsampler.cc",
318*795d594fSAndroid Build Coastguard Worker        "jit/debugger_interface.cc",
319*795d594fSAndroid Build Coastguard Worker        "jit/jit.cc",
320*795d594fSAndroid Build Coastguard Worker        "jit/jit_code_cache.cc",
321*795d594fSAndroid Build Coastguard Worker        "jit/jit_memory_region.cc",
322*795d594fSAndroid Build Coastguard Worker        "jit/jit_options.cc",
323*795d594fSAndroid Build Coastguard Worker        "jit/profile_saver.cc",
324*795d594fSAndroid Build Coastguard Worker        "jit/profiling_info.cc",
325*795d594fSAndroid Build Coastguard Worker        "jit/small_pattern_matcher.cc",
326*795d594fSAndroid Build Coastguard Worker        "jni/check_jni.cc",
327*795d594fSAndroid Build Coastguard Worker        "jni/java_vm_ext.cc",
328*795d594fSAndroid Build Coastguard Worker        "jni/jni_env_ext.cc",
329*795d594fSAndroid Build Coastguard Worker        "jni/jni_id_manager.cc",
330*795d594fSAndroid Build Coastguard Worker        "jni/jni_internal.cc",
331*795d594fSAndroid Build Coastguard Worker        "jni/local_reference_table.cc",
332*795d594fSAndroid Build Coastguard Worker        "method_handles.cc",
333*795d594fSAndroid Build Coastguard Worker        "metrics/reporter.cc",
334*795d594fSAndroid Build Coastguard Worker        "mirror/array.cc",
335*795d594fSAndroid Build Coastguard Worker        "mirror/class.cc",
336*795d594fSAndroid Build Coastguard Worker        "mirror/class_ext.cc",
337*795d594fSAndroid Build Coastguard Worker        "mirror/dex_cache.cc",
338*795d594fSAndroid Build Coastguard Worker        "mirror/emulated_stack_frame.cc",
339*795d594fSAndroid Build Coastguard Worker        "mirror/executable.cc",
340*795d594fSAndroid Build Coastguard Worker        "mirror/field.cc",
341*795d594fSAndroid Build Coastguard Worker        "mirror/method.cc",
342*795d594fSAndroid Build Coastguard Worker        "mirror/method_handle_impl.cc",
343*795d594fSAndroid Build Coastguard Worker        "mirror/method_handles_lookup.cc",
344*795d594fSAndroid Build Coastguard Worker        "mirror/method_type.cc",
345*795d594fSAndroid Build Coastguard Worker        "mirror/object.cc",
346*795d594fSAndroid Build Coastguard Worker        "mirror/stack_frame_info.cc",
347*795d594fSAndroid Build Coastguard Worker        "mirror/stack_trace_element.cc",
348*795d594fSAndroid Build Coastguard Worker        "mirror/string.cc",
349*795d594fSAndroid Build Coastguard Worker        "mirror/throwable.cc",
350*795d594fSAndroid Build Coastguard Worker        "mirror/var_handle.cc",
351*795d594fSAndroid Build Coastguard Worker        "monitor.cc",
352*795d594fSAndroid Build Coastguard Worker        "monitor_objects_stack_visitor.cc",
353*795d594fSAndroid Build Coastguard Worker        "native/dalvik_system_BaseDexClassLoader.cc",
354*795d594fSAndroid Build Coastguard Worker        "native/dalvik_system_DexFile.cc",
355*795d594fSAndroid Build Coastguard Worker        "native/dalvik_system_VMDebug.cc",
356*795d594fSAndroid Build Coastguard Worker        "native/dalvik_system_VMRuntime.cc",
357*795d594fSAndroid Build Coastguard Worker        "native/dalvik_system_VMStack.cc",
358*795d594fSAndroid Build Coastguard Worker        "native/dalvik_system_ZygoteHooks.cc",
359*795d594fSAndroid Build Coastguard Worker        "native/java_lang_Class.cc",
360*795d594fSAndroid Build Coastguard Worker        "native/java_lang_Object.cc",
361*795d594fSAndroid Build Coastguard Worker        "native/java_lang_StackStreamFactory.cc",
362*795d594fSAndroid Build Coastguard Worker        "native/java_lang_String.cc",
363*795d594fSAndroid Build Coastguard Worker        "native/java_lang_StringFactory.cc",
364*795d594fSAndroid Build Coastguard Worker        "native/java_lang_System.cc",
365*795d594fSAndroid Build Coastguard Worker        "native/java_lang_Thread.cc",
366*795d594fSAndroid Build Coastguard Worker        "native/java_lang_Throwable.cc",
367*795d594fSAndroid Build Coastguard Worker        "native/java_lang_VMClassLoader.cc",
368*795d594fSAndroid Build Coastguard Worker        "native/java_lang_invoke_MethodHandle.cc",
369*795d594fSAndroid Build Coastguard Worker        "native/java_lang_invoke_MethodHandleImpl.cc",
370*795d594fSAndroid Build Coastguard Worker        "native/java_lang_ref_FinalizerReference.cc",
371*795d594fSAndroid Build Coastguard Worker        "native/java_lang_ref_Reference.cc",
372*795d594fSAndroid Build Coastguard Worker        "native/java_lang_reflect_Array.cc",
373*795d594fSAndroid Build Coastguard Worker        "native/java_lang_reflect_Constructor.cc",
374*795d594fSAndroid Build Coastguard Worker        "native/java_lang_reflect_Executable.cc",
375*795d594fSAndroid Build Coastguard Worker        "native/java_lang_reflect_Field.cc",
376*795d594fSAndroid Build Coastguard Worker        "native/java_lang_reflect_Method.cc",
377*795d594fSAndroid Build Coastguard Worker        "native/java_lang_reflect_Parameter.cc",
378*795d594fSAndroid Build Coastguard Worker        "native/java_lang_reflect_Proxy.cc",
379*795d594fSAndroid Build Coastguard Worker        "native/java_util_concurrent_atomic_AtomicLong.cc",
380*795d594fSAndroid Build Coastguard Worker        "native/jdk_internal_misc_Unsafe.cc",
381*795d594fSAndroid Build Coastguard Worker        "native/libcore_io_Memory.cc",
382*795d594fSAndroid Build Coastguard Worker        "native/libcore_util_CharsetUtils.cc",
383*795d594fSAndroid Build Coastguard Worker        "native/org_apache_harmony_dalvik_ddmc_DdmServer.cc",
384*795d594fSAndroid Build Coastguard Worker        "native/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc",
385*795d594fSAndroid Build Coastguard Worker        "native/sun_misc_Unsafe.cc",
386*795d594fSAndroid Build Coastguard Worker        "native_bridge_art_interface.cc",
387*795d594fSAndroid Build Coastguard Worker        "native_stack_dump.cc",
388*795d594fSAndroid Build Coastguard Worker        "non_debuggable_classes.cc",
389*795d594fSAndroid Build Coastguard Worker        "nterp_helpers.cc",
390*795d594fSAndroid Build Coastguard Worker        "oat/elf_file.cc",
391*795d594fSAndroid Build Coastguard Worker        "oat/image.cc",
392*795d594fSAndroid Build Coastguard Worker        "oat/index_bss_mapping.cc",
393*795d594fSAndroid Build Coastguard Worker        "oat/jni_stub_hash_map.cc",
394*795d594fSAndroid Build Coastguard Worker        "oat/oat.cc",
395*795d594fSAndroid Build Coastguard Worker        "oat/oat_file.cc",
396*795d594fSAndroid Build Coastguard Worker        "oat/oat_file_assistant.cc",
397*795d594fSAndroid Build Coastguard Worker        "oat/oat_file_assistant_context.cc",
398*795d594fSAndroid Build Coastguard Worker        "oat/oat_file_manager.cc",
399*795d594fSAndroid Build Coastguard Worker        "oat/oat_quick_method_header.cc",
400*795d594fSAndroid Build Coastguard Worker        "oat/stack_map.cc",
401*795d594fSAndroid Build Coastguard Worker        "object_lock.cc",
402*795d594fSAndroid Build Coastguard Worker        "offsets.cc",
403*795d594fSAndroid Build Coastguard Worker        "parsed_options.cc",
404*795d594fSAndroid Build Coastguard Worker        "plugin.cc",
405*795d594fSAndroid Build Coastguard Worker        "quick_exception_handler.cc",
406*795d594fSAndroid Build Coastguard Worker        "read_barrier.cc",
407*795d594fSAndroid Build Coastguard Worker        "reference_table.cc",
408*795d594fSAndroid Build Coastguard Worker        "reflection.cc",
409*795d594fSAndroid Build Coastguard Worker        "reflective_handle_scope.cc",
410*795d594fSAndroid Build Coastguard Worker        "reflective_value_visitor.cc",
411*795d594fSAndroid Build Coastguard Worker        "runtime.cc",
412*795d594fSAndroid Build Coastguard Worker        "runtime_callbacks.cc",
413*795d594fSAndroid Build Coastguard Worker        "runtime_common.cc",
414*795d594fSAndroid Build Coastguard Worker        "runtime_image.cc",
415*795d594fSAndroid Build Coastguard Worker        "runtime_intrinsics.cc",
416*795d594fSAndroid Build Coastguard Worker        "runtime_options.cc",
417*795d594fSAndroid Build Coastguard Worker        "scoped_thread_state_change.cc",
418*795d594fSAndroid Build Coastguard Worker        "signal_catcher.cc",
419*795d594fSAndroid Build Coastguard Worker        "stack.cc",
420*795d594fSAndroid Build Coastguard Worker        "startup_completed_task.cc",
421*795d594fSAndroid Build Coastguard Worker        "string_builder_append.cc",
422*795d594fSAndroid Build Coastguard Worker        "thread.cc",
423*795d594fSAndroid Build Coastguard Worker        "thread_list.cc",
424*795d594fSAndroid Build Coastguard Worker        "thread_pool.cc",
425*795d594fSAndroid Build Coastguard Worker        "ti/agent.cc",
426*795d594fSAndroid Build Coastguard Worker        "trace.cc",
427*795d594fSAndroid Build Coastguard Worker        "trace_profile.cc",
428*795d594fSAndroid Build Coastguard Worker        "var_handles.cc",
429*795d594fSAndroid Build Coastguard Worker        "vdex_file.cc",
430*795d594fSAndroid Build Coastguard Worker        "verifier/class_verifier.cc",
431*795d594fSAndroid Build Coastguard Worker        "verifier/instruction_flags.cc",
432*795d594fSAndroid Build Coastguard Worker        "verifier/method_verifier.cc",
433*795d594fSAndroid Build Coastguard Worker        "verifier/reg_type.cc",
434*795d594fSAndroid Build Coastguard Worker        "verifier/reg_type_cache.cc",
435*795d594fSAndroid Build Coastguard Worker        "verifier/register_line.cc",
436*795d594fSAndroid Build Coastguard Worker        "verifier/verifier_deps.cc",
437*795d594fSAndroid Build Coastguard Worker        "verify_object.cc",
438*795d594fSAndroid Build Coastguard Worker        "well_known_classes.cc",
439*795d594fSAndroid Build Coastguard Worker
440*795d594fSAndroid Build Coastguard Worker        "arch/context.cc",
441*795d594fSAndroid Build Coastguard Worker        "arch/instruction_set_features.cc",
442*795d594fSAndroid Build Coastguard Worker        "arch/memcmp16.cc",
443*795d594fSAndroid Build Coastguard Worker        "arch/arm/instruction_set_features_arm.cc",
444*795d594fSAndroid Build Coastguard Worker        "arch/arm/registers_arm.cc",
445*795d594fSAndroid Build Coastguard Worker        "arch/arm64/instruction_set_features_arm64.cc",
446*795d594fSAndroid Build Coastguard Worker        "arch/arm64/registers_arm64.cc",
447*795d594fSAndroid Build Coastguard Worker        "arch/riscv64/instruction_set_features_riscv64.cc",
448*795d594fSAndroid Build Coastguard Worker        "arch/riscv64/registers_riscv64.cc",
449*795d594fSAndroid Build Coastguard Worker        "arch/x86/instruction_set_features_x86.cc",
450*795d594fSAndroid Build Coastguard Worker        "arch/x86/registers_x86.cc",
451*795d594fSAndroid Build Coastguard Worker        "arch/x86_64/registers_x86_64.cc",
452*795d594fSAndroid Build Coastguard Worker        "entrypoints/entrypoint_utils.cc",
453*795d594fSAndroid Build Coastguard Worker        "entrypoints/jni/jni_entrypoints.cc",
454*795d594fSAndroid Build Coastguard Worker        "entrypoints/math_entrypoints.cc",
455*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_alloc_entrypoints.cc",
456*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_cast_entrypoints.cc",
457*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_deoptimization_entrypoints.cc",
458*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_dexcache_entrypoints.cc",
459*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_entrypoints_enum.cc",
460*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_field_entrypoints.cc",
461*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_fillarray_entrypoints.cc",
462*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_jni_entrypoints.cc",
463*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_lock_entrypoints.cc",
464*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_math_entrypoints.cc",
465*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_string_builder_append_entrypoints.cc",
466*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_thread_entrypoints.cc",
467*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_throw_entrypoints.cc",
468*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_trampoline_entrypoints.cc",
469*795d594fSAndroid Build Coastguard Worker    ],
470*795d594fSAndroid Build Coastguard Worker
471*795d594fSAndroid Build Coastguard Worker    arch: {
472*795d594fSAndroid Build Coastguard Worker        arm: {
473*795d594fSAndroid Build Coastguard Worker            srcs: [
474*795d594fSAndroid Build Coastguard Worker                "interpreter/mterp/nterp.cc",
475*795d594fSAndroid Build Coastguard Worker                ":libart_mterp.armng",
476*795d594fSAndroid Build Coastguard Worker                "arch/arm/context_arm.cc",
477*795d594fSAndroid Build Coastguard Worker                "arch/arm/entrypoints_init_arm.cc",
478*795d594fSAndroid Build Coastguard Worker                "arch/arm/instruction_set_features_assembly_tests.S",
479*795d594fSAndroid Build Coastguard Worker                "arch/arm/jni_entrypoints_arm.S",
480*795d594fSAndroid Build Coastguard Worker                "arch/arm/memcmp16_arm.S",
481*795d594fSAndroid Build Coastguard Worker                "arch/arm/quick_entrypoints_arm.S",
482*795d594fSAndroid Build Coastguard Worker                "arch/arm/native_entrypoints_arm.S",
483*795d594fSAndroid Build Coastguard Worker                "arch/arm/quick_entrypoints_cc_arm.cc",
484*795d594fSAndroid Build Coastguard Worker                "arch/arm/thread_arm.cc",
485*795d594fSAndroid Build Coastguard Worker                "arch/arm/fault_handler_arm.cc",
486*795d594fSAndroid Build Coastguard Worker            ],
487*795d594fSAndroid Build Coastguard Worker        },
488*795d594fSAndroid Build Coastguard Worker        arm64: {
489*795d594fSAndroid Build Coastguard Worker            srcs: [
490*795d594fSAndroid Build Coastguard Worker                "interpreter/mterp/nterp.cc",
491*795d594fSAndroid Build Coastguard Worker                ":libart_mterp.arm64ng",
492*795d594fSAndroid Build Coastguard Worker                "arch/arm64/context_arm64.cc",
493*795d594fSAndroid Build Coastguard Worker                "arch/arm64/entrypoints_init_arm64.cc",
494*795d594fSAndroid Build Coastguard Worker                "arch/arm64/jni_entrypoints_arm64.S",
495*795d594fSAndroid Build Coastguard Worker                "arch/arm64/memcmp16_arm64.S",
496*795d594fSAndroid Build Coastguard Worker                "arch/arm64/quick_entrypoints_arm64.S",
497*795d594fSAndroid Build Coastguard Worker                "arch/arm64/native_entrypoints_arm64.S",
498*795d594fSAndroid Build Coastguard Worker                "arch/arm64/thread_arm64.cc",
499*795d594fSAndroid Build Coastguard Worker                "monitor_pool.cc",
500*795d594fSAndroid Build Coastguard Worker                "arch/arm64/fault_handler_arm64.cc",
501*795d594fSAndroid Build Coastguard Worker            ],
502*795d594fSAndroid Build Coastguard Worker        },
503*795d594fSAndroid Build Coastguard Worker        riscv64: {
504*795d594fSAndroid Build Coastguard Worker            srcs: [
505*795d594fSAndroid Build Coastguard Worker                ":libart_mterp.riscv64",
506*795d594fSAndroid Build Coastguard Worker                "arch/riscv64/context_riscv64.cc",
507*795d594fSAndroid Build Coastguard Worker                "arch/riscv64/entrypoints_init_riscv64.cc",
508*795d594fSAndroid Build Coastguard Worker                "arch/riscv64/fault_handler_riscv64.cc",
509*795d594fSAndroid Build Coastguard Worker                "arch/riscv64/jni_entrypoints_riscv64.S",
510*795d594fSAndroid Build Coastguard Worker                "arch/riscv64/quick_entrypoints_riscv64.S",
511*795d594fSAndroid Build Coastguard Worker                "arch/riscv64/native_entrypoints_riscv64.S",
512*795d594fSAndroid Build Coastguard Worker                "arch/riscv64/thread_riscv64.cc",
513*795d594fSAndroid Build Coastguard Worker                "interpreter/mterp/nterp.cc",
514*795d594fSAndroid Build Coastguard Worker                "monitor_pool.cc",
515*795d594fSAndroid Build Coastguard Worker            ],
516*795d594fSAndroid Build Coastguard Worker        },
517*795d594fSAndroid Build Coastguard Worker        x86: {
518*795d594fSAndroid Build Coastguard Worker            srcs: [
519*795d594fSAndroid Build Coastguard Worker                "interpreter/mterp/nterp.cc",
520*795d594fSAndroid Build Coastguard Worker                ":libart_mterp.x86ng",
521*795d594fSAndroid Build Coastguard Worker                "arch/x86/context_x86.cc",
522*795d594fSAndroid Build Coastguard Worker                "arch/x86/entrypoints_init_x86.cc",
523*795d594fSAndroid Build Coastguard Worker                "arch/x86/jni_entrypoints_x86.S",
524*795d594fSAndroid Build Coastguard Worker                "arch/x86/memcmp16_x86.S",
525*795d594fSAndroid Build Coastguard Worker                "arch/x86/quick_entrypoints_x86.S",
526*795d594fSAndroid Build Coastguard Worker                "arch/x86/native_entrypoints_x86.S",
527*795d594fSAndroid Build Coastguard Worker                "arch/x86/thread_x86.cc",
528*795d594fSAndroid Build Coastguard Worker                "arch/x86/fault_handler_x86.cc",
529*795d594fSAndroid Build Coastguard Worker            ],
530*795d594fSAndroid Build Coastguard Worker            avx: {
531*795d594fSAndroid Build Coastguard Worker                asflags: ["-DMTERP_USE_AVX"],
532*795d594fSAndroid Build Coastguard Worker            },
533*795d594fSAndroid Build Coastguard Worker            avx2: {
534*795d594fSAndroid Build Coastguard Worker                asflags: ["-DMTERP_USE_AVX"],
535*795d594fSAndroid Build Coastguard Worker            },
536*795d594fSAndroid Build Coastguard Worker        },
537*795d594fSAndroid Build Coastguard Worker        x86_64: {
538*795d594fSAndroid Build Coastguard Worker            srcs: [
539*795d594fSAndroid Build Coastguard Worker                // Note that the fault_handler_x86.cc is not a mistake.  This file is
540*795d594fSAndroid Build Coastguard Worker                // shared between the x86 and x86_64 architectures.
541*795d594fSAndroid Build Coastguard Worker                "interpreter/mterp/nterp.cc",
542*795d594fSAndroid Build Coastguard Worker                ":libart_mterp.x86_64ng",
543*795d594fSAndroid Build Coastguard Worker                "arch/x86_64/context_x86_64.cc",
544*795d594fSAndroid Build Coastguard Worker                "arch/x86_64/entrypoints_init_x86_64.cc",
545*795d594fSAndroid Build Coastguard Worker                "arch/x86_64/jni_entrypoints_x86_64.S",
546*795d594fSAndroid Build Coastguard Worker                "arch/x86_64/memcmp16_x86_64.S",
547*795d594fSAndroid Build Coastguard Worker                "arch/x86_64/quick_entrypoints_x86_64.S",
548*795d594fSAndroid Build Coastguard Worker                "arch/x86_64/native_entrypoints_x86_64.S",
549*795d594fSAndroid Build Coastguard Worker                "arch/x86_64/thread_x86_64.cc",
550*795d594fSAndroid Build Coastguard Worker                "monitor_pool.cc",
551*795d594fSAndroid Build Coastguard Worker                "arch/x86/fault_handler_x86.cc",
552*795d594fSAndroid Build Coastguard Worker            ],
553*795d594fSAndroid Build Coastguard Worker            avx: {
554*795d594fSAndroid Build Coastguard Worker                asflags: ["-DMTERP_USE_AVX"],
555*795d594fSAndroid Build Coastguard Worker            },
556*795d594fSAndroid Build Coastguard Worker            avx2: {
557*795d594fSAndroid Build Coastguard Worker                asflags: ["-DMTERP_USE_AVX"],
558*795d594fSAndroid Build Coastguard Worker            },
559*795d594fSAndroid Build Coastguard Worker        },
560*795d594fSAndroid Build Coastguard Worker    },
561*795d594fSAndroid Build Coastguard Worker
562*795d594fSAndroid Build Coastguard Worker    target: {
563*795d594fSAndroid Build Coastguard Worker        android: {
564*795d594fSAndroid Build Coastguard Worker            srcs: [
565*795d594fSAndroid Build Coastguard Worker                "monitor_android.cc",
566*795d594fSAndroid Build Coastguard Worker                "runtime_android.cc",
567*795d594fSAndroid Build Coastguard Worker                "thread_android.cc",
568*795d594fSAndroid Build Coastguard Worker                "metrics/statsd.cc",
569*795d594fSAndroid Build Coastguard Worker            ],
570*795d594fSAndroid Build Coastguard Worker            generated_sources: [
571*795d594fSAndroid Build Coastguard Worker                "apex-info-list-tinyxml",
572*795d594fSAndroid Build Coastguard Worker                "art-apex-cache-info",
573*795d594fSAndroid Build Coastguard Worker            ],
574*795d594fSAndroid Build Coastguard Worker            tidy_disabled_srcs: [":art-apex-cache-info"],
575*795d594fSAndroid Build Coastguard Worker        },
576*795d594fSAndroid Build Coastguard Worker        host: {
577*795d594fSAndroid Build Coastguard Worker            srcs: [
578*795d594fSAndroid Build Coastguard Worker                "monitor_linux.cc",
579*795d594fSAndroid Build Coastguard Worker                "runtime_linux.cc",
580*795d594fSAndroid Build Coastguard Worker                "thread_linux.cc",
581*795d594fSAndroid Build Coastguard Worker            ],
582*795d594fSAndroid Build Coastguard Worker            cflags: [
583*795d594fSAndroid Build Coastguard Worker                "-fsanitize-address-use-after-return=never",
584*795d594fSAndroid Build Coastguard Worker                "-Wno-unused-command-line-argument",
585*795d594fSAndroid Build Coastguard Worker            ],
586*795d594fSAndroid Build Coastguard Worker        },
587*795d594fSAndroid Build Coastguard Worker    },
588*795d594fSAndroid Build Coastguard Worker    generated_sources: [
589*795d594fSAndroid Build Coastguard Worker        "art_operator_srcs",
590*795d594fSAndroid Build Coastguard Worker    ],
591*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
592*795d594fSAndroid Build Coastguard Worker        "libcpu_features",
593*795d594fSAndroid Build Coastguard Worker    ],
594*795d594fSAndroid Build Coastguard Worker    cflags: [
595*795d594fSAndroid Build Coastguard Worker        "-DBUILDING_LIBART",
596*795d594fSAndroid Build Coastguard Worker    ],
597*795d594fSAndroid Build Coastguard Worker}
598*795d594fSAndroid Build Coastguard Worker
599*795d594fSAndroid Build Coastguard Workercc_defaults {
600*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime_defaults",
601*795d594fSAndroid Build Coastguard Worker    defaults: [
602*795d594fSAndroid Build Coastguard Worker        "libart-runtime_common_defaults",
603*795d594fSAndroid Build Coastguard Worker        "libart-runtime_deps",
604*795d594fSAndroid Build Coastguard Worker    ],
605*795d594fSAndroid Build Coastguard Worker}
606*795d594fSAndroid Build Coastguard Worker
607*795d594fSAndroid Build Coastguard Workercc_defaults {
608*795d594fSAndroid Build Coastguard Worker    name: "libartd-runtime_defaults",
609*795d594fSAndroid Build Coastguard Worker    defaults: [
610*795d594fSAndroid Build Coastguard Worker        "art_debug_defaults",
611*795d594fSAndroid Build Coastguard Worker        "libart-runtime_common_defaults",
612*795d594fSAndroid Build Coastguard Worker        "libartd-runtime_deps",
613*795d594fSAndroid Build Coastguard Worker    ],
614*795d594fSAndroid Build Coastguard Worker}
615*795d594fSAndroid Build Coastguard Worker
616*795d594fSAndroid Build Coastguard Workercc_defaults {
617*795d594fSAndroid Build Coastguard Worker    name: "libart_defaults",
618*795d594fSAndroid Build Coastguard Worker    defaults: [
619*795d594fSAndroid Build Coastguard Worker        "libart_common_defaults",
620*795d594fSAndroid Build Coastguard Worker        "libart-runtime_deps",
621*795d594fSAndroid Build Coastguard Worker        "libart-compiler_deps",
622*795d594fSAndroid Build Coastguard Worker    ],
623*795d594fSAndroid Build Coastguard Worker}
624*795d594fSAndroid Build Coastguard Worker
625*795d594fSAndroid Build Coastguard Workercc_defaults {
626*795d594fSAndroid Build Coastguard Worker    name: "libartd_defaults",
627*795d594fSAndroid Build Coastguard Worker    defaults: [
628*795d594fSAndroid Build Coastguard Worker        "art_debug_defaults",
629*795d594fSAndroid Build Coastguard Worker        "libart_common_defaults",
630*795d594fSAndroid Build Coastguard Worker        "libartd-runtime_deps",
631*795d594fSAndroid Build Coastguard Worker        "libartd-compiler_deps",
632*795d594fSAndroid Build Coastguard Worker    ],
633*795d594fSAndroid Build Coastguard Worker}
634*795d594fSAndroid Build Coastguard Worker
635*795d594fSAndroid Build Coastguard Worker// A defaults to link libunwindstack statically with necessary dependencies,
636*795d594fSAndroid Build Coastguard Worker// where all non-NDK dependencies are static as well.
637*795d594fSAndroid Build Coastguard Workercc_defaults {
638*795d594fSAndroid Build Coastguard Worker    name: "art_libunwindstack_static_defaults",
639*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
640*795d594fSAndroid Build Coastguard Worker        "libunwindstack",
641*795d594fSAndroid Build Coastguard Worker        "libbase",
642*795d594fSAndroid Build Coastguard Worker        "liblzma",
643*795d594fSAndroid Build Coastguard Worker    ],
644*795d594fSAndroid Build Coastguard Worker    shared_libs: [
645*795d594fSAndroid Build Coastguard Worker        "liblog",
646*795d594fSAndroid Build Coastguard Worker    ],
647*795d594fSAndroid Build Coastguard Worker}
648*795d594fSAndroid Build Coastguard Worker
649*795d594fSAndroid Build Coastguard Workercc_defaults {
650*795d594fSAndroid Build Coastguard Worker    name: "libart_static_base_defaults",
651*795d594fSAndroid Build Coastguard Worker    defaults: [
652*795d594fSAndroid Build Coastguard Worker        "art_libunwindstack_static_defaults",
653*795d594fSAndroid Build Coastguard Worker    ],
654*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
655*795d594fSAndroid Build Coastguard Worker        "libartpalette",
656*795d594fSAndroid Build Coastguard Worker        "libbase",
657*795d594fSAndroid Build Coastguard Worker        "liblog",
658*795d594fSAndroid Build Coastguard Worker        "liblz4",
659*795d594fSAndroid Build Coastguard Worker        "liblzma", // libelffile dependency; must be repeated here since it's a static lib.
660*795d594fSAndroid Build Coastguard Worker        "libnativebridge",
661*795d594fSAndroid Build Coastguard Worker        "libnativeloader",
662*795d594fSAndroid Build Coastguard Worker        "libodrstatslog",
663*795d594fSAndroid Build Coastguard Worker    ],
664*795d594fSAndroid Build Coastguard Worker    target: {
665*795d594fSAndroid Build Coastguard Worker        host: {
666*795d594fSAndroid Build Coastguard Worker            cflags: [
667*795d594fSAndroid Build Coastguard Worker                "-fsanitize-address-use-after-return=never",
668*795d594fSAndroid Build Coastguard Worker                "-Wno-unused-command-line-argument",
669*795d594fSAndroid Build Coastguard Worker            ],
670*795d594fSAndroid Build Coastguard Worker        },
671*795d594fSAndroid Build Coastguard Worker        android: {
672*795d594fSAndroid Build Coastguard Worker            whole_static_libs: [
673*795d594fSAndroid Build Coastguard Worker                "libPlatformProperties", // libnativeloader dependency.
674*795d594fSAndroid Build Coastguard Worker            ],
675*795d594fSAndroid Build Coastguard Worker        },
676*795d594fSAndroid Build Coastguard Worker    },
677*795d594fSAndroid Build Coastguard Worker}
678*795d594fSAndroid Build Coastguard Worker
679*795d594fSAndroid Build Coastguard Workercc_defaults {
680*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime_static_defaults",
681*795d594fSAndroid Build Coastguard Worker    defaults: [
682*795d594fSAndroid Build Coastguard Worker        "libart_static_base_defaults",
683*795d594fSAndroid Build Coastguard Worker        "libartbase_static_defaults",
684*795d594fSAndroid Build Coastguard Worker        "libdexfile_static_defaults",
685*795d594fSAndroid Build Coastguard Worker        "libdexfile_support_static_defaults",
686*795d594fSAndroid Build Coastguard Worker        "libprofile_static_defaults",
687*795d594fSAndroid Build Coastguard Worker    ],
688*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
689*795d594fSAndroid Build Coastguard Worker        "libart-runtime",
690*795d594fSAndroid Build Coastguard Worker        "libelffile",
691*795d594fSAndroid Build Coastguard Worker        "libsigchain_fake",
692*795d594fSAndroid Build Coastguard Worker    ],
693*795d594fSAndroid Build Coastguard Worker}
694*795d594fSAndroid Build Coastguard Worker
695*795d594fSAndroid Build Coastguard Workercc_defaults {
696*795d594fSAndroid Build Coastguard Worker    name: "libartd-runtime_static_defaults",
697*795d594fSAndroid Build Coastguard Worker    defaults: [
698*795d594fSAndroid Build Coastguard Worker        "libart_static_base_defaults",
699*795d594fSAndroid Build Coastguard Worker        "libartbased_static_defaults",
700*795d594fSAndroid Build Coastguard Worker        "libdexfiled_static_defaults",
701*795d594fSAndroid Build Coastguard Worker        "libdexfiled_support_static_defaults",
702*795d594fSAndroid Build Coastguard Worker        "libprofiled_static_defaults",
703*795d594fSAndroid Build Coastguard Worker    ],
704*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
705*795d594fSAndroid Build Coastguard Worker        "libartd-runtime",
706*795d594fSAndroid Build Coastguard Worker        "libelffiled",
707*795d594fSAndroid Build Coastguard Worker        "libsigchain_fake",
708*795d594fSAndroid Build Coastguard Worker    ],
709*795d594fSAndroid Build Coastguard Worker}
710*795d594fSAndroid Build Coastguard Worker
711*795d594fSAndroid Build Coastguard Workercc_defaults {
712*795d594fSAndroid Build Coastguard Worker    name: "libart_static_defaults",
713*795d594fSAndroid Build Coastguard Worker    defaults: [
714*795d594fSAndroid Build Coastguard Worker        "libart-runtime_static_defaults",
715*795d594fSAndroid Build Coastguard Worker        "libart-compiler_static_defaults",
716*795d594fSAndroid Build Coastguard Worker    ],
717*795d594fSAndroid Build Coastguard Worker}
718*795d594fSAndroid Build Coastguard Worker
719*795d594fSAndroid Build Coastguard Workercc_defaults {
720*795d594fSAndroid Build Coastguard Worker    name: "libartd_static_defaults",
721*795d594fSAndroid Build Coastguard Worker    defaults: [
722*795d594fSAndroid Build Coastguard Worker        "libartd-runtime_static_defaults",
723*795d594fSAndroid Build Coastguard Worker        "libartd-compiler_static_defaults",
724*795d594fSAndroid Build Coastguard Worker    ],
725*795d594fSAndroid Build Coastguard Worker}
726*795d594fSAndroid Build Coastguard Worker
727*795d594fSAndroid Build Coastguard Worker// libart-runtime_static_defaults for standalone gtests.
728*795d594fSAndroid Build Coastguard Worker// Doesn't link libsigchain_fake/libnativeloader (see art_gtest_common_defaults
729*795d594fSAndroid Build Coastguard Worker// in test/Android.bp for explanation).
730*795d594fSAndroid Build Coastguard Worker// Uses libart-runtime-for-test instead of libart-runtime.
731*795d594fSAndroid Build Coastguard Workercc_defaults {
732*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime-for-test_static_defaults",
733*795d594fSAndroid Build Coastguard Worker    defaults: [
734*795d594fSAndroid Build Coastguard Worker        "libart_static_base_defaults",
735*795d594fSAndroid Build Coastguard Worker        "libartbase_static_defaults",
736*795d594fSAndroid Build Coastguard Worker        "libdexfile_static_defaults",
737*795d594fSAndroid Build Coastguard Worker        "libdexfile_support_static_defaults",
738*795d594fSAndroid Build Coastguard Worker        "libprofile_static_defaults",
739*795d594fSAndroid Build Coastguard Worker    ],
740*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
741*795d594fSAndroid Build Coastguard Worker        "libart-runtime-for-test",
742*795d594fSAndroid Build Coastguard Worker        "libelffile",
743*795d594fSAndroid Build Coastguard Worker    ],
744*795d594fSAndroid Build Coastguard Worker}
745*795d594fSAndroid Build Coastguard Worker
746*795d594fSAndroid Build Coastguard Worker// libartd-runtime_static_defaults for gtests.
747*795d594fSAndroid Build Coastguard Worker// Doesn't link libsigchain_fake/libnativeloader (see art_gtest_common_defaults
748*795d594fSAndroid Build Coastguard Worker// in test/Android.bp for explanation).
749*795d594fSAndroid Build Coastguard Worker// Note that `libartd-runtime-for-test` is not required here, because `libartd-runtime`
750*795d594fSAndroid Build Coastguard Worker// doesn't use LTO.
751*795d594fSAndroid Build Coastguard Workercc_defaults {
752*795d594fSAndroid Build Coastguard Worker    name: "libartd-runtime-for-test_static_defaults",
753*795d594fSAndroid Build Coastguard Worker    defaults: [
754*795d594fSAndroid Build Coastguard Worker        "libart_static_base_defaults",
755*795d594fSAndroid Build Coastguard Worker        "libartbased_static_defaults",
756*795d594fSAndroid Build Coastguard Worker        "libdexfiled_static_defaults",
757*795d594fSAndroid Build Coastguard Worker        "libdexfiled_support_static_defaults",
758*795d594fSAndroid Build Coastguard Worker        "libprofiled_static_defaults",
759*795d594fSAndroid Build Coastguard Worker    ],
760*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
761*795d594fSAndroid Build Coastguard Worker        "libartd-runtime",
762*795d594fSAndroid Build Coastguard Worker        "libelffiled",
763*795d594fSAndroid Build Coastguard Worker    ],
764*795d594fSAndroid Build Coastguard Worker}
765*795d594fSAndroid Build Coastguard Worker
766*795d594fSAndroid Build Coastguard Workergensrcs {
767*795d594fSAndroid Build Coastguard Worker    name: "art_operator_srcs",
768*795d594fSAndroid Build Coastguard Worker    cmd: "$(location generate_operator_out) art/runtime $(in) > $(out)",
769*795d594fSAndroid Build Coastguard Worker    tools: ["generate_operator_out"],
770*795d594fSAndroid Build Coastguard Worker    srcs: [
771*795d594fSAndroid Build Coastguard Worker        "base/callee_save_type.h",
772*795d594fSAndroid Build Coastguard Worker        "base/locks.h",
773*795d594fSAndroid Build Coastguard Worker        "class_status.h",
774*795d594fSAndroid Build Coastguard Worker        "compilation_kind.h",
775*795d594fSAndroid Build Coastguard Worker        "gc/allocator/rosalloc.h",
776*795d594fSAndroid Build Coastguard Worker        "gc/allocator_type.h",
777*795d594fSAndroid Build Coastguard Worker        "gc/collector/gc_type.h",
778*795d594fSAndroid Build Coastguard Worker        "gc/collector/mark_compact.h",
779*795d594fSAndroid Build Coastguard Worker        "gc/collector_type.h",
780*795d594fSAndroid Build Coastguard Worker        "gc/space/region_space.h",
781*795d594fSAndroid Build Coastguard Worker        "gc/space/space.h",
782*795d594fSAndroid Build Coastguard Worker        "gc/weak_root_state.h",
783*795d594fSAndroid Build Coastguard Worker        "gc_root.h",
784*795d594fSAndroid Build Coastguard Worker        "indirect_reference_table.h",
785*795d594fSAndroid Build Coastguard Worker        "instrumentation.h",
786*795d594fSAndroid Build Coastguard Worker        "jdwp_provider.h",
787*795d594fSAndroid Build Coastguard Worker        "jni_id_type.h",
788*795d594fSAndroid Build Coastguard Worker        "linear_alloc.h",
789*795d594fSAndroid Build Coastguard Worker        "lock_word.h",
790*795d594fSAndroid Build Coastguard Worker        "oat/image.h",
791*795d594fSAndroid Build Coastguard Worker        "oat/oat.h",
792*795d594fSAndroid Build Coastguard Worker        "oat/oat_file.h",
793*795d594fSAndroid Build Coastguard Worker        "process_state.h",
794*795d594fSAndroid Build Coastguard Worker        "reflective_value_visitor.h",
795*795d594fSAndroid Build Coastguard Worker        "stack.h",
796*795d594fSAndroid Build Coastguard Worker        "suspend_reason.h",
797*795d594fSAndroid Build Coastguard Worker        "thread.h",
798*795d594fSAndroid Build Coastguard Worker        "thread_state.h",
799*795d594fSAndroid Build Coastguard Worker        "trace.h",
800*795d594fSAndroid Build Coastguard Worker        "trace_profile.h",
801*795d594fSAndroid Build Coastguard Worker        "verifier/verifier_enums.h",
802*795d594fSAndroid Build Coastguard Worker    ],
803*795d594fSAndroid Build Coastguard Worker    output_extension: "operator_out.cc",
804*795d594fSAndroid Build Coastguard Worker}
805*795d594fSAndroid Build Coastguard Worker
806*795d594fSAndroid Build Coastguard Worker// We always build dex2oat and dependencies, even if the host build is otherwise disabled, since
807*795d594fSAndroid Build Coastguard Worker// they are used to cross compile for the target.
808*795d594fSAndroid Build Coastguard Worker
809*795d594fSAndroid Build Coastguard Worker// Release version of the ART runtime library.
810*795d594fSAndroid Build Coastguard Workerart_cc_library_static {
811*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime",
812*795d594fSAndroid Build Coastguard Worker    defaults: ["libart-runtime_defaults"],
813*795d594fSAndroid Build Coastguard Worker    apex_available: [
814*795d594fSAndroid Build Coastguard Worker        "com.android.art",
815*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
816*795d594fSAndroid Build Coastguard Worker        // This lib doesn't go into test_broken_com.android.art, but the libart-broken
817*795d594fSAndroid Build Coastguard Worker        // needs to have the same apex_available list as its dependencies in order
818*795d594fSAndroid Build Coastguard Worker        // to compile against their sources. Then that change comes back up to affect
819*795d594fSAndroid Build Coastguard Worker        // libart as well, because it also needs to have the same apex_available as its
820*795d594fSAndroid Build Coastguard Worker        // dependencies.
821*795d594fSAndroid Build Coastguard Worker        "test_broken_com.android.art",
822*795d594fSAndroid Build Coastguard Worker    ],
823*795d594fSAndroid Build Coastguard Worker    target: {
824*795d594fSAndroid Build Coastguard Worker        android: {
825*795d594fSAndroid Build Coastguard Worker            lto: {
826*795d594fSAndroid Build Coastguard Worker                thin: true,
827*795d594fSAndroid Build Coastguard Worker            },
828*795d594fSAndroid Build Coastguard Worker        },
829*795d594fSAndroid Build Coastguard Worker    },
830*795d594fSAndroid Build Coastguard Worker}
831*795d594fSAndroid Build Coastguard Worker
832*795d594fSAndroid Build Coastguard Worker// For static linking with gtests. Same as `libart-runtime`, but without LTO.
833*795d594fSAndroid Build Coastguard Worker// When gtests static link a library with LTO enabled, they are also built with LTO.
834*795d594fSAndroid Build Coastguard Worker// This makes the build process use a lot of memory. b/277207452
835*795d594fSAndroid Build Coastguard Workerart_cc_library_static {
836*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime-for-test",
837*795d594fSAndroid Build Coastguard Worker    defaults: ["libart-runtime_defaults"],
838*795d594fSAndroid Build Coastguard Worker}
839*795d594fSAndroid Build Coastguard Worker
840*795d594fSAndroid Build Coastguard Worker// Debug version of the ART runtime library.
841*795d594fSAndroid Build Coastguard Workerart_cc_library_static {
842*795d594fSAndroid Build Coastguard Worker    name: "libartd-runtime",
843*795d594fSAndroid Build Coastguard Worker    defaults: ["libartd-runtime_defaults"],
844*795d594fSAndroid Build Coastguard Worker    apex_available: [
845*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
846*795d594fSAndroid Build Coastguard Worker    ],
847*795d594fSAndroid Build Coastguard Worker}
848*795d594fSAndroid Build Coastguard Worker
849*795d594fSAndroid Build Coastguard Worker// Release version of the ART runtime library, bundled with `libart-compiler` for JIT support.
850*795d594fSAndroid Build Coastguard Workerart_cc_library {
851*795d594fSAndroid Build Coastguard Worker    name: "libart",
852*795d594fSAndroid Build Coastguard Worker    defaults: ["libart_defaults"],
853*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
854*795d594fSAndroid Build Coastguard Worker        "libart-compiler",
855*795d594fSAndroid Build Coastguard Worker        "libart-runtime",
856*795d594fSAndroid Build Coastguard Worker    ],
857*795d594fSAndroid Build Coastguard Worker    apex_available: [
858*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
859*795d594fSAndroid Build Coastguard Worker        "com.android.art",
860*795d594fSAndroid Build Coastguard Worker        // This lib doesn't go into test_broken_com.android.art, but the libart-broken
861*795d594fSAndroid Build Coastguard Worker        // needs to have the same apex_available list as its dependencies in order
862*795d594fSAndroid Build Coastguard Worker        // to compile against their sources. Then that change comes back up to affect
863*795d594fSAndroid Build Coastguard Worker        // libart as well, because it also needs to have the same apex_available as its
864*795d594fSAndroid Build Coastguard Worker        // dependencies.
865*795d594fSAndroid Build Coastguard Worker        "test_broken_com.android.art",
866*795d594fSAndroid Build Coastguard Worker    ],
867*795d594fSAndroid Build Coastguard Worker    afdo: true,
868*795d594fSAndroid Build Coastguard Worker    target: {
869*795d594fSAndroid Build Coastguard Worker        android: {
870*795d594fSAndroid Build Coastguard Worker            lto: {
871*795d594fSAndroid Build Coastguard Worker                thin: true,
872*795d594fSAndroid Build Coastguard Worker            },
873*795d594fSAndroid Build Coastguard Worker        },
874*795d594fSAndroid Build Coastguard Worker    },
875*795d594fSAndroid Build Coastguard Worker}
876*795d594fSAndroid Build Coastguard Worker
877*795d594fSAndroid Build Coastguard Workerart_cc_library {
878*795d594fSAndroid Build Coastguard Worker    name: "libart-unstripped",
879*795d594fSAndroid Build Coastguard Worker    defaults: ["libart_defaults"],
880*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
881*795d594fSAndroid Build Coastguard Worker        "libart-compiler",
882*795d594fSAndroid Build Coastguard Worker        "libart-runtime",
883*795d594fSAndroid Build Coastguard Worker    ],
884*795d594fSAndroid Build Coastguard Worker    apex_available: [
885*795d594fSAndroid Build Coastguard Worker        "com.android.art",
886*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
887*795d594fSAndroid Build Coastguard Worker        // This lib doesn't go into test_broken_com.android.art, but the libart-broken
888*795d594fSAndroid Build Coastguard Worker        // needs to have the same apex_available list as its dependencies in order
889*795d594fSAndroid Build Coastguard Worker        // to compile against their sources. Then that change comes back up to affect
890*795d594fSAndroid Build Coastguard Worker        // libart as well, because it also needs to have the same apex_available as its
891*795d594fSAndroid Build Coastguard Worker        // dependencies.
892*795d594fSAndroid Build Coastguard Worker        "test_broken_com.android.art",
893*795d594fSAndroid Build Coastguard Worker    ],
894*795d594fSAndroid Build Coastguard Worker    strip: {
895*795d594fSAndroid Build Coastguard Worker        none: true,
896*795d594fSAndroid Build Coastguard Worker    },
897*795d594fSAndroid Build Coastguard Worker}
898*795d594fSAndroid Build Coastguard Worker
899*795d594fSAndroid Build Coastguard Worker// "Broken" version of the libart, used only for testing.
900*795d594fSAndroid Build Coastguard Workerart_cc_test_library {
901*795d594fSAndroid Build Coastguard Worker    name: "libart-broken",
902*795d594fSAndroid Build Coastguard Worker    defaults: [
903*795d594fSAndroid Build Coastguard Worker        "libart-runtime_defaults",
904*795d594fSAndroid Build Coastguard Worker        "libart_defaults",
905*795d594fSAndroid Build Coastguard Worker    ],
906*795d594fSAndroid Build Coastguard Worker    cflags: ["-DART_CRASH_RUNTIME_DELIBERATELY"],
907*795d594fSAndroid Build Coastguard Worker    stem: "libart",
908*795d594fSAndroid Build Coastguard Worker    gtest: false,
909*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
910*795d594fSAndroid Build Coastguard Worker        "libart-compiler",
911*795d594fSAndroid Build Coastguard Worker    ],
912*795d594fSAndroid Build Coastguard Worker    apex_available: [
913*795d594fSAndroid Build Coastguard Worker        // libart-broken only goes into test_broken_com.android.art, but the libart-broken
914*795d594fSAndroid Build Coastguard Worker        // needs to have the same apex_available list as its dependencies in order
915*795d594fSAndroid Build Coastguard Worker        // to compile against their sources.
916*795d594fSAndroid Build Coastguard Worker        "com.android.art",
917*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
918*795d594fSAndroid Build Coastguard Worker        "test_broken_com.android.art",
919*795d594fSAndroid Build Coastguard Worker    ],
920*795d594fSAndroid Build Coastguard Worker}
921*795d594fSAndroid Build Coastguard Worker
922*795d594fSAndroid Build Coastguard Worker// Debug version of the ART runtime library, bundled with `libartd-compiler` for JIT support.
923*795d594fSAndroid Build Coastguard Workerart_cc_library {
924*795d594fSAndroid Build Coastguard Worker    name: "libartd",
925*795d594fSAndroid Build Coastguard Worker    defaults: ["libartd_defaults"],
926*795d594fSAndroid Build Coastguard Worker    whole_static_libs: [
927*795d594fSAndroid Build Coastguard Worker        "libartd-compiler",
928*795d594fSAndroid Build Coastguard Worker        "libartd-runtime",
929*795d594fSAndroid Build Coastguard Worker    ],
930*795d594fSAndroid Build Coastguard Worker    apex_available: [
931*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
932*795d594fSAndroid Build Coastguard Worker    ],
933*795d594fSAndroid Build Coastguard Worker}
934*795d594fSAndroid Build Coastguard Worker
935*795d594fSAndroid Build Coastguard Workerart_cc_defaults {
936*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime-gtest-defaults",
937*795d594fSAndroid Build Coastguard Worker    target: {
938*795d594fSAndroid Build Coastguard Worker        host: {
939*795d594fSAndroid Build Coastguard Worker            cflags: [
940*795d594fSAndroid Build Coastguard Worker                "-fsanitize-address-use-after-return=never",
941*795d594fSAndroid Build Coastguard Worker                "-Wno-unused-command-line-argument",
942*795d594fSAndroid Build Coastguard Worker            ],
943*795d594fSAndroid Build Coastguard Worker        },
944*795d594fSAndroid Build Coastguard Worker    },
945*795d594fSAndroid Build Coastguard Worker    tidy_timeout_srcs: [
946*795d594fSAndroid Build Coastguard Worker        "common_runtime_test.cc",
947*795d594fSAndroid Build Coastguard Worker    ],
948*795d594fSAndroid Build Coastguard Worker    srcs: [
949*795d594fSAndroid Build Coastguard Worker        "common_runtime_test.cc",
950*795d594fSAndroid Build Coastguard Worker        "dexopt_test.cc",
951*795d594fSAndroid Build Coastguard Worker    ],
952*795d594fSAndroid Build Coastguard Worker    static_libs: [
953*795d594fSAndroid Build Coastguard Worker        "libprocinfo",
954*795d594fSAndroid Build Coastguard Worker    ],
955*795d594fSAndroid Build Coastguard Worker    header_libs: [
956*795d594fSAndroid Build Coastguard Worker        "libnativehelper_header_only",
957*795d594fSAndroid Build Coastguard Worker    ],
958*795d594fSAndroid Build Coastguard Worker}
959*795d594fSAndroid Build Coastguard Worker
960*795d594fSAndroid Build Coastguard Workerart_cc_library_static {
961*795d594fSAndroid Build Coastguard Worker    name: "libart-runtime-gtest",
962*795d594fSAndroid Build Coastguard Worker    defaults: [
963*795d594fSAndroid Build Coastguard Worker        "libart-runtime-gtest-defaults",
964*795d594fSAndroid Build Coastguard Worker        "libart-gtest-defaults",
965*795d594fSAndroid Build Coastguard Worker        "libart-runtime-for-test_static_defaults",
966*795d594fSAndroid Build Coastguard Worker    ],
967*795d594fSAndroid Build Coastguard Worker}
968*795d594fSAndroid Build Coastguard Worker
969*795d594fSAndroid Build Coastguard Workerart_cc_library_static {
970*795d594fSAndroid Build Coastguard Worker    name: "libartd-runtime-gtest",
971*795d594fSAndroid Build Coastguard Worker    defaults: [
972*795d594fSAndroid Build Coastguard Worker        "art_debug_defaults",
973*795d594fSAndroid Build Coastguard Worker        "libart-runtime-gtest-defaults",
974*795d594fSAndroid Build Coastguard Worker        "libart-gtest-defaults",
975*795d594fSAndroid Build Coastguard Worker        "libartd-runtime-for-test_static_defaults",
976*795d594fSAndroid Build Coastguard Worker    ],
977*795d594fSAndroid Build Coastguard Worker}
978*795d594fSAndroid Build Coastguard Worker
979*795d594fSAndroid Build Coastguard Workerart_cc_defaults {
980*795d594fSAndroid Build Coastguard Worker    name: "art_runtime_tests_defaults",
981*795d594fSAndroid Build Coastguard Worker    target: {
982*795d594fSAndroid Build Coastguard Worker        host: {
983*795d594fSAndroid Build Coastguard Worker            cflags: [
984*795d594fSAndroid Build Coastguard Worker                "-fsanitize-address-use-after-return=never",
985*795d594fSAndroid Build Coastguard Worker                "-Wno-unused-command-line-argument",
986*795d594fSAndroid Build Coastguard Worker            ],
987*795d594fSAndroid Build Coastguard Worker        },
988*795d594fSAndroid Build Coastguard Worker    },
989*795d594fSAndroid Build Coastguard Worker    device_common_data: [
990*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-AllFields",
991*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-DexVerificationFuzzerFolder",
992*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ClassVerificationFuzzerFolder",
993*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ErroneousA",
994*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ErroneousB",
995*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ErroneousInit",
996*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-Extension1",
997*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-Extension2",
998*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ForClassLoaderA",
999*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ForClassLoaderB",
1000*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ForClassLoaderC",
1001*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ForClassLoaderD",
1002*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-HiddenApiSignatures",
1003*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-IMTA",
1004*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-IMTB",
1005*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-Instrumentation",
1006*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-Interfaces",
1007*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-LinkageTest",
1008*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-Main",
1009*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-MainStripped",
1010*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-MainUncompressedAligned",
1011*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-MethodTypes",
1012*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-MultiDex",
1013*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-MultiDexModifiedSecondary",
1014*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-MultiDexUncompressedAligned",
1015*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-MyClass",
1016*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-MyClassNatives",
1017*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-Nested",
1018*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-NonStaticLeafMethods",
1019*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-Packages",
1020*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ProfileTestMultiDex",
1021*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ProtoCompare",
1022*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-ProtoCompare2",
1023*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-StaticLeafMethods",
1024*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-Statics",
1025*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-StaticsFromCode",
1026*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-VerifierDeps",
1027*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-VerifierDepsMulti",
1028*795d594fSAndroid Build Coastguard Worker        ":art-gtest-jars-XandY",
1029*795d594fSAndroid Build Coastguard Worker    ],
1030*795d594fSAndroid Build Coastguard Worker    tidy_timeout_srcs: [
1031*795d594fSAndroid Build Coastguard Worker        "arch/stub_test.cc",
1032*795d594fSAndroid Build Coastguard Worker        "class_linker_test.cc",
1033*795d594fSAndroid Build Coastguard Worker        "class_loader_context_test.cc",
1034*795d594fSAndroid Build Coastguard Worker        "hidden_api_test.cc",
1035*795d594fSAndroid Build Coastguard Worker        "instrumentation_test.cc",
1036*795d594fSAndroid Build Coastguard Worker        "interpreter/unstarted_runtime_test.cc",
1037*795d594fSAndroid Build Coastguard Worker        "jni/jni_internal_test.cc",
1038*795d594fSAndroid Build Coastguard Worker        "method_handles_test.cc",
1039*795d594fSAndroid Build Coastguard Worker        "mirror/object_test.cc",
1040*795d594fSAndroid Build Coastguard Worker        "mirror/var_handle_test.cc",
1041*795d594fSAndroid Build Coastguard Worker        "oat/oat_file_assistant_test.cc",
1042*795d594fSAndroid Build Coastguard Worker        "runtime_callbacks_test.cc",
1043*795d594fSAndroid Build Coastguard Worker        "subtype_check_test.cc",
1044*795d594fSAndroid Build Coastguard Worker        "verifier/reg_type_test.cc",
1045*795d594fSAndroid Build Coastguard Worker    ],
1046*795d594fSAndroid Build Coastguard Worker    srcs: [
1047*795d594fSAndroid Build Coastguard Worker        "app_info_test.cc",
1048*795d594fSAndroid Build Coastguard Worker        "arch/arch_test.cc",
1049*795d594fSAndroid Build Coastguard Worker        "arch/arm/instruction_set_features_arm_test.cc",
1050*795d594fSAndroid Build Coastguard Worker        "arch/arm64/instruction_set_features_arm64_test.cc",
1051*795d594fSAndroid Build Coastguard Worker        "arch/instruction_set_features_test.cc",
1052*795d594fSAndroid Build Coastguard Worker        "arch/memcmp16_test.cc",
1053*795d594fSAndroid Build Coastguard Worker        "arch/stub_test.cc",
1054*795d594fSAndroid Build Coastguard Worker        "arch/riscv64/instruction_set_features_riscv64_test.cc",
1055*795d594fSAndroid Build Coastguard Worker        "arch/x86/instruction_set_features_x86_test.cc",
1056*795d594fSAndroid Build Coastguard Worker        "arch/x86_64/instruction_set_features_x86_64_test.cc",
1057*795d594fSAndroid Build Coastguard Worker        "art_method_test.cc",
1058*795d594fSAndroid Build Coastguard Worker        "barrier_test.cc",
1059*795d594fSAndroid Build Coastguard Worker        "base/message_queue_test.cc",
1060*795d594fSAndroid Build Coastguard Worker        "base/mutex_test.cc",
1061*795d594fSAndroid Build Coastguard Worker        "base/timing_logger_test.cc",
1062*795d594fSAndroid Build Coastguard Worker        "cha_test.cc",
1063*795d594fSAndroid Build Coastguard Worker        "class_linker_test.cc",
1064*795d594fSAndroid Build Coastguard Worker        "class_loader_context_test.cc",
1065*795d594fSAndroid Build Coastguard Worker        "class_table_test.cc",
1066*795d594fSAndroid Build Coastguard Worker        "entrypoints/math_entrypoints_test.cc",
1067*795d594fSAndroid Build Coastguard Worker        "entrypoints/quick/quick_trampoline_entrypoints_test.cc",
1068*795d594fSAndroid Build Coastguard Worker        "entrypoints_order_test.cc",
1069*795d594fSAndroid Build Coastguard Worker        "exec_utils_test.cc",
1070*795d594fSAndroid Build Coastguard Worker        "fuzzer_corpus_test.cc",
1071*795d594fSAndroid Build Coastguard Worker        "gc/accounting/card_table_test.cc",
1072*795d594fSAndroid Build Coastguard Worker        "gc/accounting/mod_union_table_test.cc",
1073*795d594fSAndroid Build Coastguard Worker        "gc/accounting/space_bitmap_test.cc",
1074*795d594fSAndroid Build Coastguard Worker        "gc/collector/immune_spaces_test.cc",
1075*795d594fSAndroid Build Coastguard Worker        "gc/heap_test.cc",
1076*795d594fSAndroid Build Coastguard Worker        "gc/heap_verification_test.cc",
1077*795d594fSAndroid Build Coastguard Worker        "gc/reference_queue_test.cc",
1078*795d594fSAndroid Build Coastguard Worker        "gc/space/dlmalloc_space_random_test.cc",
1079*795d594fSAndroid Build Coastguard Worker        "gc/space/dlmalloc_space_static_test.cc",
1080*795d594fSAndroid Build Coastguard Worker        "gc/space/image_space_test.cc",
1081*795d594fSAndroid Build Coastguard Worker        "gc/space/large_object_space_test.cc",
1082*795d594fSAndroid Build Coastguard Worker        "gc/space/rosalloc_space_random_test.cc",
1083*795d594fSAndroid Build Coastguard Worker        "gc/space/rosalloc_space_static_test.cc",
1084*795d594fSAndroid Build Coastguard Worker        "gc/space/space_create_test.cc",
1085*795d594fSAndroid Build Coastguard Worker        "gc/system_weak_test.cc",
1086*795d594fSAndroid Build Coastguard Worker        "gc/task_processor_test.cc",
1087*795d594fSAndroid Build Coastguard Worker        "gtest_test.cc",
1088*795d594fSAndroid Build Coastguard Worker        "handle_scope_test.cc",
1089*795d594fSAndroid Build Coastguard Worker        "hidden_api_test.cc",
1090*795d594fSAndroid Build Coastguard Worker        "imtable_test.cc",
1091*795d594fSAndroid Build Coastguard Worker        "indirect_reference_table_test.cc",
1092*795d594fSAndroid Build Coastguard Worker        "instrumentation_test.cc",
1093*795d594fSAndroid Build Coastguard Worker        "intern_table_test.cc",
1094*795d594fSAndroid Build Coastguard Worker        "interpreter/safe_math_test.cc",
1095*795d594fSAndroid Build Coastguard Worker        "interpreter/unstarted_runtime_test.cc",
1096*795d594fSAndroid Build Coastguard Worker        "jit/jit_memory_region_test.cc",
1097*795d594fSAndroid Build Coastguard Worker        "jit/profile_saver_test.cc",
1098*795d594fSAndroid Build Coastguard Worker        "jit/profiling_info_test.cc",
1099*795d594fSAndroid Build Coastguard Worker        "jni/java_vm_ext_test.cc",
1100*795d594fSAndroid Build Coastguard Worker        "jni/jni_internal_test.cc",
1101*795d594fSAndroid Build Coastguard Worker        "jni/local_reference_table_test.cc",
1102*795d594fSAndroid Build Coastguard Worker        "method_handles_test.cc",
1103*795d594fSAndroid Build Coastguard Worker        "metrics/reporter_test.cc",
1104*795d594fSAndroid Build Coastguard Worker        "mirror/dex_cache_test.cc",
1105*795d594fSAndroid Build Coastguard Worker        "mirror/method_type_test.cc",
1106*795d594fSAndroid Build Coastguard Worker        "mirror/object_test.cc",
1107*795d594fSAndroid Build Coastguard Worker        "mirror/var_handle_test.cc",
1108*795d594fSAndroid Build Coastguard Worker        "monitor_pool_test.cc",
1109*795d594fSAndroid Build Coastguard Worker        "monitor_test.cc",
1110*795d594fSAndroid Build Coastguard Worker        "native_stack_dump_test.cc",
1111*795d594fSAndroid Build Coastguard Worker        "oat/oat_file_assistant_test.cc",
1112*795d594fSAndroid Build Coastguard Worker        "oat/oat_file_test.cc",
1113*795d594fSAndroid Build Coastguard Worker        "parsed_options_test.cc",
1114*795d594fSAndroid Build Coastguard Worker        "prebuilt_tools_test.cc",
1115*795d594fSAndroid Build Coastguard Worker        "proxy_test.cc",
1116*795d594fSAndroid Build Coastguard Worker        "reference_table_test.cc",
1117*795d594fSAndroid Build Coastguard Worker        "reflection_test.cc",
1118*795d594fSAndroid Build Coastguard Worker        "runtime_callbacks_test.cc",
1119*795d594fSAndroid Build Coastguard Worker        "runtime_test.cc",
1120*795d594fSAndroid Build Coastguard Worker        "subtype_check_info_test.cc",
1121*795d594fSAndroid Build Coastguard Worker        "subtype_check_test.cc",
1122*795d594fSAndroid Build Coastguard Worker        "thread_pool_test.cc",
1123*795d594fSAndroid Build Coastguard Worker        "thread_test.cc",
1124*795d594fSAndroid Build Coastguard Worker        "two_runtimes_test.cc",
1125*795d594fSAndroid Build Coastguard Worker        "vdex_file_test.cc",
1126*795d594fSAndroid Build Coastguard Worker        "verifier/method_verifier_test.cc",
1127*795d594fSAndroid Build Coastguard Worker        "verifier/reg_type_test.cc",
1128*795d594fSAndroid Build Coastguard Worker        "verifier/register_line_test.cc",
1129*795d594fSAndroid Build Coastguard Worker    ],
1130*795d594fSAndroid Build Coastguard Worker    static_libs: [
1131*795d594fSAndroid Build Coastguard Worker        "libgmock",
1132*795d594fSAndroid Build Coastguard Worker    ],
1133*795d594fSAndroid Build Coastguard Worker    header_libs: [
1134*795d594fSAndroid Build Coastguard Worker        "art_cmdlineparser_headers", // For parsed_options_test.
1135*795d594fSAndroid Build Coastguard Worker    ],
1136*795d594fSAndroid Build Coastguard Worker}
1137*795d594fSAndroid Build Coastguard Worker
1138*795d594fSAndroid Build Coastguard Worker// Version of ART gtest `art_runtime_tests` bundled with the ART APEX on target.
1139*795d594fSAndroid Build Coastguard Worker// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
1140*795d594fSAndroid Build Coastguard Workerart_cc_test {
1141*795d594fSAndroid Build Coastguard Worker    name: "art_runtime_tests",
1142*795d594fSAndroid Build Coastguard Worker    defaults: [
1143*795d594fSAndroid Build Coastguard Worker        "art_gtest_defaults",
1144*795d594fSAndroid Build Coastguard Worker        "art_runtime_tests_defaults",
1145*795d594fSAndroid Build Coastguard Worker    ],
1146*795d594fSAndroid Build Coastguard Worker    target: {
1147*795d594fSAndroid Build Coastguard Worker        host: {
1148*795d594fSAndroid Build Coastguard Worker            required: [
1149*795d594fSAndroid Build Coastguard Worker                "dex2oatd",
1150*795d594fSAndroid Build Coastguard Worker                "art_boot_images",
1151*795d594fSAndroid Build Coastguard Worker            ],
1152*795d594fSAndroid Build Coastguard Worker        },
1153*795d594fSAndroid Build Coastguard Worker    },
1154*795d594fSAndroid Build Coastguard Worker}
1155*795d594fSAndroid Build Coastguard Worker
1156*795d594fSAndroid Build Coastguard Worker// Standalone version of ART gtest `art_runtime_tests`, not bundled with the ART APEX on target.
1157*795d594fSAndroid Build Coastguard Workerart_cc_test {
1158*795d594fSAndroid Build Coastguard Worker    name: "art_standalone_runtime_tests",
1159*795d594fSAndroid Build Coastguard Worker    defaults: [
1160*795d594fSAndroid Build Coastguard Worker        "art_standalone_gtest_defaults",
1161*795d594fSAndroid Build Coastguard Worker        "art_runtime_tests_defaults",
1162*795d594fSAndroid Build Coastguard Worker    ],
1163*795d594fSAndroid Build Coastguard Worker    data: [":generate-boot-image"],
1164*795d594fSAndroid Build Coastguard Worker    target: {
1165*795d594fSAndroid Build Coastguard Worker        host: {
1166*795d594fSAndroid Build Coastguard Worker            required: ["dex2oat"],
1167*795d594fSAndroid Build Coastguard Worker        },
1168*795d594fSAndroid Build Coastguard Worker    },
1169*795d594fSAndroid Build Coastguard Worker    // Some tests are currently failing (observed on
1170*795d594fSAndroid Build Coastguard Worker    // `aosp_cf_x86_64_phone-userdebug`); use a special test configuration for
1171*795d594fSAndroid Build Coastguard Worker    // `art_standalone_runtime_tests` to filter them out for now.
1172*795d594fSAndroid Build Coastguard Worker    // TODO(b/204649079): Investigate these failures and re-enable these tests.
1173*795d594fSAndroid Build Coastguard Worker    test_config: "art_standalone_runtime_tests.xml",
1174*795d594fSAndroid Build Coastguard Worker}
1175*795d594fSAndroid Build Coastguard Worker
1176*795d594fSAndroid Build Coastguard Workergenrule {
1177*795d594fSAndroid Build Coastguard Worker    name: "libart_mterp.x86ng",
1178*795d594fSAndroid Build Coastguard Worker    out: ["mterp_x86ng.S"],
1179*795d594fSAndroid Build Coastguard Worker    srcs: [
1180*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/x86ng/*.S",
1181*795d594fSAndroid Build Coastguard Worker    ],
1182*795d594fSAndroid Build Coastguard Worker    tool_files: [
1183*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/gen_mterp.py",
1184*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/common/gen_setup.py",
1185*795d594fSAndroid Build Coastguard Worker        ":art_libdexfile_dex_instruction_list_header",
1186*795d594fSAndroid Build Coastguard Worker    ],
1187*795d594fSAndroid Build Coastguard Worker    cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
1188*795d594fSAndroid Build Coastguard Worker}
1189*795d594fSAndroid Build Coastguard Worker
1190*795d594fSAndroid Build Coastguard Workergenrule {
1191*795d594fSAndroid Build Coastguard Worker    name: "libart_mterp.x86_64ng",
1192*795d594fSAndroid Build Coastguard Worker    out: ["mterp_x86_64ng.S"],
1193*795d594fSAndroid Build Coastguard Worker    srcs: [
1194*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/x86_64ng/*.S",
1195*795d594fSAndroid Build Coastguard Worker    ],
1196*795d594fSAndroid Build Coastguard Worker    tool_files: [
1197*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/gen_mterp.py",
1198*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/common/gen_setup.py",
1199*795d594fSAndroid Build Coastguard Worker        ":art_libdexfile_dex_instruction_list_header",
1200*795d594fSAndroid Build Coastguard Worker    ],
1201*795d594fSAndroid Build Coastguard Worker    cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
1202*795d594fSAndroid Build Coastguard Worker}
1203*795d594fSAndroid Build Coastguard Worker
1204*795d594fSAndroid Build Coastguard Workergenrule {
1205*795d594fSAndroid Build Coastguard Worker    name: "libart_mterp.arm64ng",
1206*795d594fSAndroid Build Coastguard Worker    out: ["mterp_arm64ng.S"],
1207*795d594fSAndroid Build Coastguard Worker    srcs: [
1208*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/arm64ng/*.S",
1209*795d594fSAndroid Build Coastguard Worker    ],
1210*795d594fSAndroid Build Coastguard Worker    tool_files: [
1211*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/gen_mterp.py",
1212*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/common/gen_setup.py",
1213*795d594fSAndroid Build Coastguard Worker        ":art_libdexfile_dex_instruction_list_header",
1214*795d594fSAndroid Build Coastguard Worker    ],
1215*795d594fSAndroid Build Coastguard Worker    cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
1216*795d594fSAndroid Build Coastguard Worker}
1217*795d594fSAndroid Build Coastguard Worker
1218*795d594fSAndroid Build Coastguard Workergenrule {
1219*795d594fSAndroid Build Coastguard Worker    name: "libart_mterp.armng",
1220*795d594fSAndroid Build Coastguard Worker    out: ["mterp_armng.S"],
1221*795d594fSAndroid Build Coastguard Worker    srcs: [
1222*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/armng/*.S",
1223*795d594fSAndroid Build Coastguard Worker    ],
1224*795d594fSAndroid Build Coastguard Worker    tool_files: [
1225*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/gen_mterp.py",
1226*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/common/gen_setup.py",
1227*795d594fSAndroid Build Coastguard Worker        ":art_libdexfile_dex_instruction_list_header",
1228*795d594fSAndroid Build Coastguard Worker    ],
1229*795d594fSAndroid Build Coastguard Worker    cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
1230*795d594fSAndroid Build Coastguard Worker}
1231*795d594fSAndroid Build Coastguard Worker
1232*795d594fSAndroid Build Coastguard Workergenrule {
1233*795d594fSAndroid Build Coastguard Worker    name: "libart_mterp.riscv64",
1234*795d594fSAndroid Build Coastguard Worker    out: ["mterp_riscv64.S"],
1235*795d594fSAndroid Build Coastguard Worker    srcs: [
1236*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/riscv64/*.S",
1237*795d594fSAndroid Build Coastguard Worker    ],
1238*795d594fSAndroid Build Coastguard Worker    tool_files: [
1239*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/gen_mterp.py",
1240*795d594fSAndroid Build Coastguard Worker        "interpreter/mterp/common/gen_setup.py",
1241*795d594fSAndroid Build Coastguard Worker        ":art_libdexfile_dex_instruction_list_header",
1242*795d594fSAndroid Build Coastguard Worker    ],
1243*795d594fSAndroid Build Coastguard Worker    cmd: "$(location interpreter/mterp/gen_mterp.py) $(out) $(in)",
1244*795d594fSAndroid Build Coastguard Worker}
1245*795d594fSAndroid Build Coastguard Worker
1246*795d594fSAndroid Build Coastguard Workercc_library_static {
1247*795d594fSAndroid Build Coastguard Worker    name: "libstatslog_art",
1248*795d594fSAndroid Build Coastguard Worker    defaults: ["art_defaults"],
1249*795d594fSAndroid Build Coastguard Worker    generated_sources: ["statslog_art.cpp"],
1250*795d594fSAndroid Build Coastguard Worker    generated_headers: ["statslog_art.h"],
1251*795d594fSAndroid Build Coastguard Worker    export_generated_headers: ["statslog_art.h"],
1252*795d594fSAndroid Build Coastguard Worker    shared_libs: [
1253*795d594fSAndroid Build Coastguard Worker        "liblog",
1254*795d594fSAndroid Build Coastguard Worker        "libstatspull",
1255*795d594fSAndroid Build Coastguard Worker        "libstatssocket",
1256*795d594fSAndroid Build Coastguard Worker        "libutils",
1257*795d594fSAndroid Build Coastguard Worker    ],
1258*795d594fSAndroid Build Coastguard Worker    apex_available: [
1259*795d594fSAndroid Build Coastguard Worker        "com.android.art",
1260*795d594fSAndroid Build Coastguard Worker        "com.android.art.debug",
1261*795d594fSAndroid Build Coastguard Worker    ],
1262*795d594fSAndroid Build Coastguard Worker}
1263*795d594fSAndroid Build Coastguard Worker
1264*795d594fSAndroid Build Coastguard Workergenrule {
1265*795d594fSAndroid Build Coastguard Worker    name: "statslog_art.h",
1266*795d594fSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
1267*795d594fSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_art.h --module art --namespace art,metrics,statsd",
1268*795d594fSAndroid Build Coastguard Worker    out: [
1269*795d594fSAndroid Build Coastguard Worker        "statslog_art.h",
1270*795d594fSAndroid Build Coastguard Worker    ],
1271*795d594fSAndroid Build Coastguard Worker}
1272*795d594fSAndroid Build Coastguard Worker
1273*795d594fSAndroid Build Coastguard Workergenrule {
1274*795d594fSAndroid Build Coastguard Worker    name: "statslog_art.cpp",
1275*795d594fSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
1276*795d594fSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_art.cpp --module art --namespace art,metrics,statsd --importHeader statslog_art.h",
1277*795d594fSAndroid Build Coastguard Worker    out: [
1278*795d594fSAndroid Build Coastguard Worker        "statslog_art.cpp",
1279*795d594fSAndroid Build Coastguard Worker    ],
1280*795d594fSAndroid Build Coastguard Worker}
1281