1//
2// Copyright (C) 2018 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// Build variants {target,host} x {debug,ndebug} x {32,64}
18
19cc_defaults {
20    name: "tracefast-defaults",
21    host_supported: true,
22    srcs: ["tracefast.cc"],
23    defaults: ["art_defaults"],
24
25    // Note that this tool needs to be built for both 32-bit and 64-bit since it requires
26    // to be same ISA as what it is attached to.
27    compile_multilib: "both",
28
29    shared_libs: [
30        "libbase",
31    ],
32    target: {
33        darwin: {
34            enabled: false,
35        },
36    },
37    header_libs: [
38        "libnativehelper_header_only",
39    ],
40}
41
42cc_defaults {
43    name: "tracefast-interpreter-defaults",
44    defaults: ["tracefast-defaults"],
45    cflags: ["-DTRACEFAST_INTERPRETER=1"],
46}
47
48cc_defaults {
49    name: "tracefast-trampoline-defaults",
50    defaults: ["tracefast-defaults"],
51    cflags: ["-DTRACEFAST_TRAMPOLINE=1"],
52}
53
54art_cc_library {
55    name: "libtracefast-interpreter",
56    defaults: ["tracefast-interpreter-defaults"],
57    shared_libs: [
58        "libart",
59        "libartbase",
60    ],
61}
62
63art_cc_library {
64    name: "libtracefast-interpreterd",
65    defaults: [
66        "art_debug_defaults",
67        "tracefast-interpreter-defaults",
68    ],
69    shared_libs: [
70        "libartd",
71        "libartbased",
72    ],
73}
74
75art_cc_library {
76    name: "libtracefast-trampoline",
77    defaults: ["tracefast-trampoline-defaults"],
78    shared_libs: [
79        "libart",
80        "libartbase",
81    ],
82}
83
84art_cc_library {
85    name: "libtracefast-trampolined",
86    defaults: [
87        "art_debug_defaults",
88        "tracefast-trampoline-defaults",
89    ],
90    shared_libs: [
91        "libartd",
92        "libartbased",
93    ],
94}
95