OSDN Git Service

Differentiate between native alloc and normal background GC
[android-x86/art.git] / test / Android.bp
1 //
2 // Copyright (C) 2016 The Android Open Source Project
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 art_cc_defaults {
18     name: "art_test_defaults",
19     host_supported: true,
20     target: {
21         android_arm: {
22             relative_install_path: "art/arm",
23         },
24         android_arm64: {
25             relative_install_path: "art/arm64",
26         },
27         android_mips: {
28             relative_install_path: "art/mips",
29         },
30         android_mips64: {
31             relative_install_path: "art/mips64",
32         },
33         android_x86: {
34             relative_install_path: "art/x86",
35         },
36         android_x86_64: {
37             relative_install_path: "art/x86_64",
38         },
39         darwin: {
40             enabled: false,
41         },
42     },
43     cflags: [
44         "-Wno-frame-larger-than=",
45     ],
46 }
47
48 art_cc_defaults {
49     name: "art_gtest_defaults",
50     test_per_src: true,
51     // These really are gtests, but the gtest library comes from libart-gtest.so
52     gtest: false,
53     defaults: [
54         "art_defaults",
55         "art_debug_defaults",
56         "art_test_defaults",
57     ],
58
59     shared_libs: [
60         "libartd",
61         "libartd-disassembler",
62         "libvixld-arm",
63         "libvixld-arm64",
64         "libart-gtest",
65
66         "libbase",
67         "libicuuc",
68         "libicui18n",
69         "libnativehelper",
70     ],
71     whole_static_libs: [
72         "libsigchain",
73     ],
74     include_dirs: [
75         "art",
76         "art/cmdline",
77     ],
78
79     target: {
80         linux: {
81             ldflags: [
82                 // Allow jni_compiler_test to find Java_MyClassNatives_bar
83                 // within itself using dlopen(NULL, ...).
84                 // Mac OS linker doesn't understand --export-dynamic.
85                 "-Wl,--export-dynamic",
86                 "-Wl,-u,Java_MyClassNatives_bar",
87                 "-Wl,-u,Java_MyClassNatives_sbar",
88             ],
89             shared_libs: [
90                 "libziparchive",
91                 "libz-host",
92             ],
93             host_ldlibs: [
94                 "-ldl",
95                 "-lpthread",
96             ],
97             cflags: [
98                 // gtest issue
99                 "-Wno-used-but-marked-unused",
100                 "-Wno-deprecated",
101                 "-Wno-missing-noreturn",
102             ],
103         },
104         android: {
105             ldflags: [
106                 // Allow jni_compiler_test to find Java_MyClassNatives_bar
107                 // within itself using dlopen(NULL, ...).
108                 "-Wl,--export-dynamic",
109                 "-Wl,-u,Java_MyClassNatives_bar",
110                 "-Wl,-u,Java_MyClassNatives_sbar",
111             ],
112             shared_libs: [
113                 "liblog",
114                 "libdl",
115                 "libz",
116             ],
117             cflags: [
118                 // gtest issue
119                 "-Wno-used-but-marked-unused",
120                 "-Wno-deprecated",
121                 "-Wno-missing-noreturn",
122             ],
123         },
124     },
125 }
126
127 art_cc_defaults {
128     name: "libart-gtest-defaults",
129     host_supported: true,
130     defaults: [
131         "art_defaults",
132         "art_debug_defaults",
133     ],
134     shared_libs: [
135         "libartd",
136         "libartd-compiler",
137     ],
138     static_libs: [
139         "libgtest",
140     ],
141     target: {
142         android32: {
143             cflags: ["-DART_TARGET_NATIVETEST_DIR=/data/nativetest/art"],
144         },
145         android64: {
146             cflags: ["-DART_TARGET_NATIVETEST_DIR=/data/nativetest64/art"],
147         },
148         android: {
149             cflags: [
150                 // gtest issue
151                 "-Wno-used-but-marked-unused",
152                 "-Wno-deprecated",
153                 "-Wno-missing-noreturn",
154             ],
155         },
156         linux: {
157             cflags: [
158                 // gtest issue
159                 "-Wno-used-but-marked-unused",
160                 "-Wno-deprecated",
161                 "-Wno-missing-noreturn",
162             ],
163         },
164         darwin: {
165             enabled: false,
166         },
167     },
168 }
169
170 art_cc_library {
171     name: "libart-gtest",
172     host_supported: true,
173     whole_static_libs: [
174         "libart-compiler-gtest",
175         "libart-runtime-gtest",
176         "libgtest"
177     ],
178     shared_libs: [
179         "libartd",
180         "libartd-compiler",
181         "libbase",
182         "libbacktrace"
183     ],
184     target: {
185         android: {
186             shared_libs: [
187                 "libdl",
188             ],
189         },
190         host: {
191             host_ldlibs: [
192                 "-ldl",
193                 "-lpthread",
194             ],
195         },
196         darwin: {
197             enabled: false,
198         },
199     },
200 }
201
202 cc_defaults {
203     name: "libartagent-defaults",
204     defaults: [
205         "art_defaults",
206         "art_test_defaults",
207     ],
208     shared_libs: [
209         "libbacktrace",
210         "libbase",
211         "libnativehelper",
212     ],
213     target: {
214         android: {
215             shared_libs: ["libdl"],
216         },
217         host: {
218             host_ldlibs: [
219                 "-ldl",
220                 "-lpthread",
221             ],
222         },
223     },
224 }
225
226 art_cc_test_library {
227     name: "libartagent",
228     srcs: ["900-hello-plugin/load_unload.cc"],
229     defaults: ["libartagent-defaults"],
230     shared_libs: ["libart"],
231 }
232
233 art_cc_test_library {
234     name: "libartagentd",
235     srcs: ["900-hello-plugin/load_unload.cc"],
236     defaults: [
237         "libartagent-defaults",
238         "art_debug_defaults",
239     ],
240     shared_libs: ["libartd"],
241 }
242
243 art_cc_defaults {
244    name: "libtiagent-base-defaults",
245     defaults: ["libartagent-defaults"],
246     srcs: [
247         // These are the ART-independent parts.
248         "ti-agent/agent_common.cc",
249         "ti-agent/agent_startup.cc",
250         "ti-agent/jni_binder.cc",
251         "ti-agent/jvmti_helper.cc",
252         "ti-agent/test_env.cc",
253         "ti-agent/common_helper.cc",
254         // This is the list of non-special OnLoad things and excludes BCI and anything that depends
255         // on ART internals.
256         "903-hello-tagging/tagging.cc",
257         "904-object-allocation/tracking.cc",
258         "905-object-free/tracking_free.cc",
259         "906-iterate-heap/iterate_heap.cc",
260         "907-get-loaded-classes/get_loaded_classes.cc",
261         "908-gc-start-finish/gc_callbacks.cc",
262         "910-methods/methods.cc",
263         "911-get-stack-trace/stack_trace.cc",
264         "913-heaps/heaps.cc",
265         "918-fields/fields.cc",
266         "920-objects/objects.cc",
267         "922-properties/properties.cc",
268         "923-monitors/monitors.cc",
269         "924-threads/threads.cc",
270         "925-threadgroups/threadgroups.cc",
271         "927-timers/timers.cc",
272         "928-jni-table/jni_table.cc",
273         "929-search/search.cc",
274         "931-agent-thread/agent_thread.cc",
275         "933-misc-events/misc_events.cc",
276         "945-obsolete-native/obsolete_native.cc",
277         "984-obsolete-invoke/obsolete_invoke.cc",
278     ],
279     shared_libs: [
280         "libbase",
281     ],
282     header_libs: ["libopenjdkjvmti_headers"],
283     include_dirs: ["art/test/ti-agent"],
284 }
285
286 art_cc_defaults {
287     name: "libtiagent-defaults",
288     defaults: ["libtiagent-base-defaults"],
289     srcs: [
290         // This is to get the IsInterpreted native method.
291         "common/stack_inspect.cc",
292         "common/runtime_state.cc",
293         "ti-agent/common_load.cc",
294         // This includes the remaining test functions. We should try to refactor things to
295         // make this list smaller.
296         "901-hello-ti-agent/basics.cc",
297         "909-attach-agent/attach.cc",
298         "912-classes/classes.cc",
299         "936-search-onload/search_onload.cc",
300         "983-source-transform-verify/source_transform.cc",
301     ],
302 }
303
304 art_cc_test_library {
305     name: "libtiagent",
306     defaults: ["libtiagent-defaults"],
307     shared_libs: ["libart"],
308 }
309
310 art_cc_test_library {
311     name: "libtiagentd",
312     defaults: [
313         "libtiagent-defaults",
314         "art_debug_defaults",
315     ],
316     shared_libs: ["libartd"],
317 }
318
319 art_cc_defaults {
320     name: "libtistress-defaults",
321     defaults: ["libartagent-defaults"],
322     srcs: [
323         "ti-stress/stress.cc",
324     ],
325     shared_libs: [
326         "libbase",
327     ],
328     header_libs: ["libopenjdkjvmti_headers"],
329 }
330
331 art_cc_test_library {
332     name: "libtistress",
333     defaults: [ "libtistress-defaults"],
334     shared_libs: ["libart"],
335 }
336
337 art_cc_test_library {
338     name: "libtistressd",
339     defaults: [
340         "libtistress-defaults",
341         "art_debug_defaults",
342     ],
343     shared_libs: ["libartd"],
344 }
345
346 art_cc_test_library {
347     name: "libctstiagent",
348     defaults: ["libtiagent-base-defaults"],
349     export_include_dirs: ["ti-agent"],
350 }
351
352 cc_defaults {
353     name: "libarttest-defaults",
354     defaults: [
355         "art_defaults",
356         "art_test_defaults",
357     ],
358     srcs: [
359         "common/runtime_state.cc",
360         "common/stack_inspect.cc",
361         "004-JniTest/jni_test.cc",
362         "004-SignalTest/signaltest.cc",
363         "004-ReferenceMap/stack_walk_refmap_jni.cc",
364         "004-StackWalk/stack_walk_jni.cc",
365         "004-ThreadStress/thread_stress.cc",
366         "004-UnsafeTest/unsafe_test.cc",
367         "044-proxy/native_proxy.cc",
368         "051-thread/thread_test.cc",
369         "117-nopatchoat/nopatchoat.cc",
370         "1337-gc-coverage/gc_coverage.cc",
371         "136-daemon-jni-shutdown/daemon_jni_shutdown.cc",
372         "137-cfi/cfi.cc",
373         "139-register-natives/regnative.cc",
374         "141-class-unload/jni_unload.cc",
375         "148-multithread-gc-annotations/gc_coverage.cc",
376         "149-suspend-all-stress/suspend_all.cc",
377         "154-gc-loop/heap_interface.cc",
378         "454-get-vreg/get_vreg_jni.cc",
379         "457-regs/regs_jni.cc",
380         "461-get-reference-vreg/get_reference_vreg_jni.cc",
381         "466-get-live-vreg/get_live_vreg_jni.cc",
382         "497-inlining-and-class-loader/clear_dex_cache.cc",
383         "543-env-long-ref/env_long_ref.cc",
384         "566-polymorphic-inlining/polymorphic_inline.cc",
385         "570-checker-osr/osr.cc",
386         "595-profile-saving/profile-saving.cc",
387         "596-app-images/app_images.cc",
388         "596-monitor-inflation/monitor_inflation.cc",
389         "597-deopt-new-string/deopt.cc",
390         "626-const-class-linking/clear_dex_cache_types.cc",
391         "642-fp-callees/fp_callees.cc",
392     ],
393     shared_libs: [
394         "libbacktrace",
395         "libbase",
396         "libnativehelper",
397     ],
398     target: {
399         android: {
400             shared_libs: ["libdl"],
401         },
402         host: {
403             host_ldlibs: [
404                 "-ldl",
405                 "-lpthread",
406             ],
407         },
408     },
409 }
410
411 art_cc_test_library {
412     name: "libarttest",
413     defaults: ["libarttest-defaults"],
414     shared_libs: ["libart"],
415 }
416
417 art_cc_test_library {
418     name: "libarttestd",
419     defaults: [
420         "libarttest-defaults",
421         "art_debug_defaults",
422     ],
423     shared_libs: ["libartd"],
424 }
425
426 art_cc_test_library {
427     name: "libnativebridgetest",
428     shared_libs: ["libart"],
429     defaults: [
430         "art_defaults",
431         "art_debug_defaults",
432         "art_test_defaults",
433     ],
434     srcs: ["115-native-bridge/nativebridge.cc"],
435     target: {
436         android: {
437             shared_libs: ["libdl"],
438         },
439         host: {
440             host_ldlibs: [
441                 "-ldl",
442                 "-lpthread",
443             ],
444         },
445         linux: {
446             host_ldlibs: ["-lrt"],
447         },
448     },
449 }