1//
2// Copyright (C) 2012 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
17package {
18    // See: http://go/android-license-faq
19    // A large-scale-change added 'default_applicable_licenses' to import
20    // all of the 'license_kinds' from "art_license"
21    // to get the below license kinds:
22    //   SPDX-license-identifier-Apache-2.0
23    default_applicable_licenses: ["art_license"],
24    default_team: "trendy_team_art_performance",
25}
26
27art_cc_defaults {
28    name: "libart-disassembler-defaults",
29    defaults: ["art_defaults"],
30    host_supported: true,
31    srcs: [
32        "disassembler.cc",
33    ],
34    codegen: {
35        arm: {
36            srcs: ["disassembler_arm.cc"],
37        },
38        arm64: {
39            srcs: ["disassembler_arm64.cc"],
40        },
41        riscv64: {
42            srcs: ["disassembler_riscv64.cc"],
43        },
44        x86: {
45            srcs: ["disassembler_x86.cc"],
46        },
47        x86_64: {
48            srcs: ["disassembler_x86.cc"],
49        },
50    },
51    shared_libs: [
52        "libbase",
53    ],
54    header_libs: [
55        "libart_headers",
56    ],
57    export_include_dirs: ["."],
58}
59
60art_cc_library {
61    name: "libart-disassembler",
62    defaults: ["libart-disassembler-defaults"],
63    codegen: {
64        arm: {
65            static_libs: [
66                // For disassembler_arm*.
67                "libvixl",
68            ],
69        },
70        arm64: {
71            static_libs: [
72                // For disassembler_arm*.
73                "libvixl",
74            ],
75        },
76    },
77    apex_available: [
78        "com.android.art",
79        "com.android.art.debug",
80    ],
81}
82
83cc_defaults {
84    name: "libart-disassembler_static_defaults",
85    whole_static_libs: [
86        "libart-disassembler",
87        "libvixl",
88    ],
89}
90
91art_cc_library {
92    name: "libartd-disassembler",
93    defaults: [
94        "art_debug_defaults",
95        "libart-disassembler-defaults",
96    ],
97    codegen: {
98        arm: {
99            static_libs: [
100                // For disassembler_arm*.
101                "libvixld",
102            ],
103        },
104        arm64: {
105            static_libs: [
106                // For disassembler_arm*.
107                "libvixld",
108            ],
109        },
110    },
111    apex_available: [
112        "com.android.art",
113        "com.android.art.debug",
114    ],
115}
116
117cc_defaults {
118    name: "libartd-disassembler_static_defaults",
119    whole_static_libs: [
120        "libartd-disassembler",
121        "libvixld",
122    ],
123}
124
125cc_library_headers {
126    name: "art_disassembler_headers",
127    defaults: ["art_defaults"],
128    host_supported: true,
129    export_include_dirs: [
130        ".",
131    ],
132
133    apex_available: [
134        "com.android.art.debug",
135        "com.android.art",
136    ],
137}
138
139art_cc_defaults {
140    name: "art_disassembler_tests_defaults",
141    codegen: {
142        arm64: {
143            srcs: ["disassembler_arm64_test.cc"],
144        },
145    },
146}
147
148// Version of ART gtest `art_disassembler_tests` bundled with the ART APEX on target.
149// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
150art_cc_test {
151    name: "art_disassembler_tests",
152    defaults: [
153        "art_gtest_defaults",
154        "art_disassembler_tests_defaults",
155    ],
156    static_libs: [
157        "libvixld",
158    ],
159}
160
161// Standalone version of ART gtest `art_disassembler_tests`,
162// not bundled with the ART APEX on target.
163art_cc_test {
164    name: "art_standalone_disassembler_tests",
165    defaults: [
166        "art_standalone_gtest_defaults",
167        "art_disassembler_tests_defaults",
168    ],
169    static_libs: [
170        "libvixl",
171    ],
172}
173