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    multilib: {
41        lib32: {
42            suffix: "32",
43        },
44        lib64: {
45            suffix: "64",
46        },
47    },
48    symlink_preferred_arch: true,
49}
50
51cc_defaults {
52    name: "tracefast-interpreter-defaults",
53    defaults: ["tracefast-defaults"],
54    cflags: ["-DTRACEFAST_INTERPRETER=1"],
55}
56
57cc_defaults {
58    name: "tracefast-trampoline-defaults",
59    defaults: ["tracefast-defaults"],
60    cflags: ["-DTRACEFAST_TRAMPOLINE=1"],
61}
62
63art_cc_library {
64    name: "libtracefast-interpreter",
65    defaults: ["tracefast-interpreter-defaults"],
66    shared_libs: [
67        "libart",
68        "libartbase",
69    ],
70}
71
72art_cc_library {
73    name: "libtracefast-interpreterd",
74    defaults: [
75        "art_debug_defaults",
76        "tracefast-interpreter-defaults",
77    ],
78    shared_libs: [
79        "libartd",
80        "libartbased",
81    ],
82}
83
84art_cc_library {
85    name: "libtracefast-trampoline",
86    defaults: ["tracefast-trampoline-defaults"],
87    shared_libs: [
88        "libart",
89        "libartbase",
90    ],
91}
92
93art_cc_library {
94    name: "libtracefast-trampolined",
95    defaults: [
96        "art_debug_defaults",
97        "tracefast-trampoline-defaults",
98    ],
99    shared_libs: [
100        "libartd",
101        "libartbased",
102    ],
103}
104