blob: 31bee03f36472dcbecccf82af506921d9bb4b625 [file] [log] [blame]
Colin Crossfe6064a2016-08-30 13:49:26 -07001// Copyright (C) 2016 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Jeff Haoea7c6292016-11-14 18:10:16 -080015art_cc_defaults {
16 name: "libart-dexlayout-defaults",
David Sehr7639cdc2017-04-15 10:06:21 -070017 defaults: ["art_defaults"],
Martin Stjernholm75b961a2020-05-07 01:45:27 +010018 visibility: [
19 // Visibility for prebuilt binaries from the prebuilt of this module.
20 // TODO(b/155921753): Restrict this when prebuilts are in their proper
21 // locations.
22 "//prebuilts:__subpackages__",
23 ],
Colin Crossfe6064a2016-08-30 13:49:26 -070024 host_supported: true,
25 srcs: [
Mathieu Chartierf95a75e2017-11-03 15:25:52 -070026 "compact_dex_writer.cc",
Colin Crossfe6064a2016-08-30 13:49:26 -070027 "dexlayout.cc",
Jeff Hao3ab96b42016-09-09 18:35:01 -070028 "dex_ir.cc",
Colin Crossfe6064a2016-08-30 13:49:26 -070029 "dex_ir_builder.cc",
David Sehr55232f12017-04-19 14:06:49 -070030 "dex_verify.cc",
David Sehrcdcfde72016-09-26 07:44:04 -070031 "dex_visualize.cc",
Jeff Haoa8621002016-10-04 18:13:44 +000032 "dex_writer.cc",
Colin Crossfe6064a2016-08-30 13:49:26 -070033 ],
Jeff Haoea7c6292016-11-14 18:10:16 -080034 export_include_dirs: ["."],
David Sehr9d9227a2018-12-19 12:32:50 -080035 target: {
36 android: {
37 shared_libs: [
Orion Hodson119733d2019-01-30 15:14:41 +000038 "libartpalette",
David Sehr9d9227a2018-12-19 12:32:50 -080039 "libbase",
40 ],
41 },
42 not_windows: {
43 shared_libs: [
Orion Hodson119733d2019-01-30 15:14:41 +000044 "libartpalette",
David Sehr9d9227a2018-12-19 12:32:50 -080045 "libbase",
46 ],
47 },
48 windows: {
49 cflags: ["-Wno-thread-safety"],
50 static_libs: [
Orion Hodson119733d2019-01-30 15:14:41 +000051 "libartpalette",
David Sehr9d9227a2018-12-19 12:32:50 -080052 "libbase",
53 ],
54 },
55 },
Jiyong Parkb1c8e162020-05-18 19:04:42 +090056 shared_libs: ["libz"],
Jeff Haoea7c6292016-11-14 18:10:16 -080057}
58
Andreas Gampeec5ed062018-01-26 16:20:02 -080059cc_defaults {
60 name: "libart-dexlayout_static_base_defaults",
61 static_libs: [
62 "libbase",
Nicolas Geoffray65ed42a2018-10-30 12:33:04 +000063 "libz",
Andreas Gampeec5ed062018-01-26 16:20:02 -080064 ],
65}
66
Jeff Haoea7c6292016-11-14 18:10:16 -080067art_cc_library {
68 name: "libart-dexlayout",
Pirama Arumuga Nainar42d58052018-04-18 22:59:36 -070069 defaults: [
70 "libart-dexlayout-defaults",
71 "dex2oat-pgo-defaults",
72 ],
Yi Kong1d894d92018-01-19 22:01:14 -080073 target: {
74 android: {
75 lto: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -070076 thin: true,
Yi Kong1d894d92018-01-19 22:01:14 -080077 },
David Srbecky7711c352019-04-10 17:50:12 +010078 shared_libs: [
79 "libartbase",
80 "libdexfile",
81 "libprofile",
82 ],
83 },
84 not_windows: {
85 shared_libs: [
86 "libartbase",
87 "libdexfile",
88 "libprofile",
89 ],
Yi Kong1d894d92018-01-19 22:01:14 -080090 },
David Sehr9d9227a2018-12-19 12:32:50 -080091 windows: {
92 enabled: true,
93 shared: {
94 enabled: false,
95 },
David Srbecky7711c352019-04-10 17:50:12 +010096 static_libs: [
97 "libartbase",
98 "libdexfile",
99 "libprofile",
100 ],
David Sehr9d9227a2018-12-19 12:32:50 -0800101 },
Yi Kong1d894d92018-01-19 22:01:14 -0800102 },
Jiyong Park066dd9022019-12-19 02:11:59 +0000103 apex_available: [
104 "com.android.art.release",
105 "com.android.art.debug",
106 ],
Jeff Haoea7c6292016-11-14 18:10:16 -0800107}
108
Andreas Gampeec5ed062018-01-26 16:20:02 -0800109cc_defaults {
110 name: "libart-dexlayout_static_defaults",
111 defaults: [
112 "libart-dexlayout_static_base_defaults",
113 "libartbase_static_defaults",
114 "libdexfile_static_defaults",
115 "libprofile_static_defaults",
116 ],
117 static_libs: ["libart-dexlayout"],
118}
119
Jeff Haoea7c6292016-11-14 18:10:16 -0800120art_cc_library {
121 name: "libartd-dexlayout",
Mathieu Chartier5929beb2017-10-20 23:24:10 -0700122 defaults: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700123 "libart-dexlayout-defaults",
124 "art_debug_defaults",
Mathieu Chartier5929beb2017-10-20 23:24:10 -0700125 ],
David Srbecky7711c352019-04-10 17:50:12 +0100126 target: {
127 android: {
128 shared_libs: [
129 "libartbased",
130 "libdexfiled",
131 "libprofiled",
132 ],
133 },
134 not_windows: {
135 shared_libs: [
136 "libartbased",
137 "libdexfiled",
138 "libprofiled",
139 ],
140 },
141 windows: {
142 static_libs: [
143 "libartbased",
144 "libdexfiled",
145 "libprofiled",
146 ],
147 },
148 },
Jiyong Park066dd9022019-12-19 02:11:59 +0000149 apex_available: [
150 "com.android.art.debug",
151 ],
Jeff Haoea7c6292016-11-14 18:10:16 -0800152}
153
Andreas Gampe693bfbf2017-11-10 12:23:31 -0800154cc_defaults {
Andreas Gampeec5ed062018-01-26 16:20:02 -0800155 name: "libartd-dexlayout_static_defaults",
156 defaults: [
157 "libart-dexlayout_static_base_defaults",
158 "libartbased_static_defaults",
159 "libdexfiled_static_defaults",
160 "libprofiled_static_defaults",
161 ],
162 static_libs: ["libartd-dexlayout"],
163}
164
165cc_defaults {
Andreas Gampe693bfbf2017-11-10 12:23:31 -0800166 name: "dexlayout-defaults",
David Sehr55232f12017-04-19 14:06:49 -0700167 defaults: ["art_defaults"],
Jeff Haoea7c6292016-11-14 18:10:16 -0800168 host_supported: true,
Andreas Gampe693bfbf2017-11-10 12:23:31 -0800169 shared_libs: [
170 "libbase",
171 ],
172}
173
174art_cc_binary {
175 name: "dexlayout",
176 defaults: ["dexlayout-defaults"],
David Sehr671af6c2018-05-17 11:00:35 -0700177 srcs: ["dexlayout_main.cc"],
Andreas Gampe3fec9ac2016-09-13 10:47:28 -0700178 shared_libs: [
David Sehr671af6c2018-05-17 11:00:35 -0700179 "libdexfile",
David Sehr82d046e2018-04-23 08:14:19 -0700180 "libprofile",
David Sehr1f010162018-05-15 08:59:32 -0700181 "libartbase",
Jeff Haoea7c6292016-11-14 18:10:16 -0800182 "libart-dexlayout",
Andreas Gampe693bfbf2017-11-10 12:23:31 -0800183 ],
Jiyong Park066dd9022019-12-19 02:11:59 +0000184 apex_available: [
185 "com.android.art.release",
186 "com.android.art.debug",
187 ],
Andreas Gampe693bfbf2017-11-10 12:23:31 -0800188}
189
190art_cc_binary {
David Sehr9d9227a2018-12-19 12:32:50 -0800191 name: "dexlayouts",
192 defaults: [
193 "dexlayout-defaults",
194 "libart-dexlayout_static_defaults",
195 "libprofile_static_defaults",
196 "libdexfile_static_defaults",
197 "libartbase_static_defaults",
198 ],
199 srcs: ["dexlayout_main.cc"],
200 host_supported: true,
201 device_supported: false,
202 target: {
203 darwin: {
204 enabled: false,
205 },
206 windows: {
207 enabled: true,
208 cflags: ["-Wno-thread-safety"],
209 },
210 },
211}
212
213art_cc_binary {
Andreas Gampe693bfbf2017-11-10 12:23:31 -0800214 name: "dexlayoutd",
215 defaults: [
216 "art_debug_defaults",
217 "dexlayout-defaults",
218 ],
David Sehr671af6c2018-05-17 11:00:35 -0700219 srcs: ["dexlayout_main.cc"],
Andreas Gampe693bfbf2017-11-10 12:23:31 -0800220 shared_libs: [
David Sehr671af6c2018-05-17 11:00:35 -0700221 "libdexfiled",
David Sehr82d046e2018-04-23 08:14:19 -0700222 "libprofiled",
David Sehr1f010162018-05-15 08:59:32 -0700223 "libartbased",
Andreas Gampe693bfbf2017-11-10 12:23:31 -0800224 "libartd-dexlayout",
Andreas Gampe3fec9ac2016-09-13 10:47:28 -0700225 ],
Jiyong Park066dd9022019-12-19 02:11:59 +0000226 apex_available: [
227 "com.android.art.debug",
228 ],
Colin Crossfe6064a2016-08-30 13:49:26 -0700229}
Colin Cross6e95dd52016-09-12 15:37:10 -0700230
231art_cc_test {
232 name: "art_dexlayout_tests",
Jeff Haoea7c6292016-11-14 18:10:16 -0800233 defaults: ["art_gtest_defaults"],
David Sehr82d046e2018-04-23 08:14:19 -0700234 shared_libs: [
235 "libprofiled",
236 "libartd-dexlayout",
237 ],
David Srbecky4a88a5a2020-05-05 16:21:57 +0100238 data: [
239 ":art-gtest-jars-ManyMethods",
240 ],
Colin Cross6e95dd52016-09-12 15:37:10 -0700241 srcs: ["dexlayout_test.cc"],
David Srbecky2280b532020-05-27 00:30:44 +0100242 required: [
243 "dexlayoutd",
244 "dexdump",
245 ],
Colin Cross6e95dd52016-09-12 15:37:10 -0700246}
David Sehrbeca4fe2017-03-30 17:50:24 -0700247
248art_cc_binary {
249 name: "dexdiag",
David Sehr55232f12017-04-19 14:06:49 -0700250 defaults: ["art_defaults"],
251 host_supported: true,
David Sehrbeca4fe2017-03-30 17:50:24 -0700252 srcs: ["dexdiag.cc"],
253 cflags: ["-Wall"],
254 shared_libs: [
255 "libart",
David Sehr671af6c2018-05-17 11:00:35 -0700256 "libdexfile",
David Sehr1f010162018-05-15 08:59:32 -0700257 "libartbase",
David Sehrbeca4fe2017-03-30 17:50:24 -0700258 "libart-dexlayout",
Andreas Gampe281fee02018-03-05 12:59:30 -0800259 "libbase",
David Sehrbeca4fe2017-03-30 17:50:24 -0700260 ],
David Sehr55232f12017-04-19 14:06:49 -0700261 target: {
262 android: {
263 shared_libs: [
Sandeep Patil2110de52019-01-21 17:21:09 -0800264 "libmeminfo",
Dan Willemsen2ca27802017-09-27 14:57:43 -0700265 ],
David Sehr55232f12017-04-19 14:06:49 -0700266 },
Dan Willemsen2ca27802017-09-27 14:57:43 -0700267 },
Jiyong Park066dd9022019-12-19 02:11:59 +0000268 apex_available: [
269 "com.android.art.release",
270 "com.android.art.debug",
271 ],
David Sehrbeca4fe2017-03-30 17:50:24 -0700272}
273
David Sehr55232f12017-04-19 14:06:49 -0700274art_cc_test {
275 name: "art_dexdiag_tests",
276 host_supported: true,
277 defaults: [
278 "art_gtest_defaults",
279 ],
280 srcs: ["dexdiag_test.cc"],
David Srbecky2280b532020-05-27 00:30:44 +0100281 required: ["dexdiag"],
David Sehr55232f12017-04-19 14:06:49 -0700282}