blob: da9cca7841180d73debce520df8f8670f24af443 [file] [log] [blame]
Bob Badourddcab592021-02-12 15:26:50 -08001package {
2 default_applicable_licenses: ["external_oj-libjdwp_license"],
3}
4
5// Added automatically by a large-scale-change that took the approach of
6// 'apply every license found to every target'. While this makes sure we respect
7// every license restriction, it may not be entirely correct.
8//
9// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10//
11// Please consider splitting the single license below into multiple licenses,
12// taking care not to lose any license_kind information, and overriding the
13// default license using the 'licenses: [...]' property on targets as needed.
14//
15// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16// to attach the license to, and including a comment whether the files may be
17// used in the current project.
18// See: http://go/android-license-faq
19license {
20 name: "external_oj-libjdwp_license",
21 visibility: [":__subpackages__"],
22 license_kinds: [
23 "SPDX-license-identifier-Apache-2.0",
24 "SPDX-license-identifier-GPL",
25 "SPDX-license-identifier-GPL-2.0",
26 "SPDX-license-identifier-GPL-with-classpath-exception",
27 "SPDX-license-identifier-LGPL",
28 ],
29 license_text: [
30 "LICENSE",
31 ],
32}
33
Alex Light1cad5272017-09-27 16:36:13 -070034java_binary_host {
35 name: "jdwpgen",
36 srcs: ["make/src/classes/build/tools/jdwpgen/*.java"],
37 wrapper: "etc/jdwpgen.sh",
38 manifest: "etc/manifest.txt",
39 java_version: "1.8",
Alex Light1cad5272017-09-27 16:36:13 -070040}
41
42genrule {
43 name: "jdwp_generated_headers",
44 tools: ["jdwpgen"],
Alex Light9ffbc912017-10-31 11:10:13 -070045 cmd: "$(location jdwpgen) $(in) -include $(out)",
Alex Light1cad5272017-09-27 16:36:13 -070046 srcs: ["make/data/jdwp/jdwp.spec"],
47 out: ["JDWPCommands.h"],
48}
49
50cc_defaults {
51 name: "upstream-jdwp-defaults",
52 host_supported: true,
53 device_supported: true,
54 cflags: [
55 // Every supported android platform is little-endian.
56 "-D_LITTLE_ENDIAN",
57 "-Wall",
58 "-Werror",
59 "-Wno-unused-parameter",
60 ],
61 notice: "LICENSE",
Alex Light19ae8d92017-11-03 21:46:30 +000062 target: {
63 darwin: {
64 enabled: false,
65 },
66 },
Alex Light1cad5272017-09-27 16:36:13 -070067}
68
69cc_library_headers {
70 name: "javavm_headers",
71 export_include_dirs: [
72 "src/share/javavm/export",
Alex Light19ae8d92017-11-03 21:46:30 +000073 "src/solaris/javavm/export",
Alex Light1cad5272017-09-27 16:36:13 -070074 ],
75 host_supported: true,
76 device_supported: true,
Jiyong Park05a64f22020-04-28 18:21:49 +090077
78 apex_available: [
Martin Stjernholm093648b2020-10-12 15:11:12 +010079 "com.android.art",
Jiyong Park05a64f22020-04-28 18:21:49 +090080 "com.android.art.debug",
Jiyong Park05a64f22020-04-28 18:21:49 +090081 ],
Nicolas Geoffray5840da72021-03-03 22:02:07 +000082 min_sdk_version: "S",
Alex Light1cad5272017-09-27 16:36:13 -070083}
84
85cc_library_headers {
86 name: "libnpt_headers",
87 export_include_dirs: [
88 "src/share/npt",
89 "src/solaris/npt",
90 ],
91 defaults: ["upstream-jdwp-defaults"],
Jiyong Park05a64f22020-04-28 18:21:49 +090092
93 apex_available: [
Martin Stjernholm093648b2020-10-12 15:11:12 +010094 "com.android.art",
Jiyong Park05a64f22020-04-28 18:21:49 +090095 "com.android.art.debug",
Jiyong Park05a64f22020-04-28 18:21:49 +090096 ],
Nicolas Geoffray5840da72021-03-03 22:02:07 +000097 min_sdk_version: "S",
Alex Light1cad5272017-09-27 16:36:13 -070098}
99
100cc_library {
101 name: "libnpt",
102 srcs: [
103 "src/share/npt/*.c",
104 "src/solaris/npt/*.c",
105 ],
106 header_libs: [
107 "javavm_headers",
108 "libnpt_headers",
109 ],
110 defaults: ["upstream-jdwp-defaults"],
Jiyong Park8ba580c2019-12-19 02:12:28 +0000111 apex_available: [
Martin Stjernholm093648b2020-10-12 15:11:12 +0100112 "com.android.art",
Jiyong Park8ba580c2019-12-19 02:12:28 +0000113 "com.android.art.debug",
114 ],
Nicolas Geoffray5840da72021-03-03 22:02:07 +0000115 min_sdk_version: "S",
Alex Light1cad5272017-09-27 16:36:13 -0700116}
117
118cc_library_headers {
119 name: "libjdwp_headers",
120 export_include_dirs: [
121 "src/share/back",
122 "src/share/back/export",
123 "src/solaris/back",
124 ],
125 generated_headers: ["jdwp_generated_headers"],
126 export_generated_headers: ["jdwp_generated_headers"],
127 defaults: ["upstream-jdwp-defaults"],
Jiyong Park05a64f22020-04-28 18:21:49 +0900128
129 apex_available: [
Martin Stjernholm093648b2020-10-12 15:11:12 +0100130 "com.android.art",
Jiyong Park05a64f22020-04-28 18:21:49 +0900131 "com.android.art.debug",
Jiyong Park05a64f22020-04-28 18:21:49 +0900132 ],
Nicolas Geoffray5840da72021-03-03 22:02:07 +0000133 min_sdk_version: "S",
Alex Light1cad5272017-09-27 16:36:13 -0700134}
135
136cc_library {
137 name: "libjdwp",
138 srcs: [
139 "src/share/back/*.c",
140 "src/solaris/back/*.c",
141 ],
142 cflags: [
143 "-DLINUX",
144 "-DJDWP_LOGGING",
145 "-Wno-switch",
146 "-Wno-logical-op-parentheses",
147 "-Wno-logical-not-parentheses",
148 "-Wno-sometimes-uninitialized",
149 "-Wno-self-assign",
150 "-Wno-unused-variable",
151 "-Wno-unused-function",
152 ],
153 header_libs: [
154 "javavm_headers",
155 "libjdwp_headers",
156 "libnpt_headers",
157 ],
158 required: [
159 "libnpt",
160 "libdt_socket",
161 ],
162 defaults: ["upstream-jdwp-defaults"],
Jiyong Park8ba580c2019-12-19 02:12:28 +0000163 apex_available: [
Martin Stjernholm093648b2020-10-12 15:11:12 +0100164 "com.android.art",
Jiyong Park8ba580c2019-12-19 02:12:28 +0000165 "com.android.art.debug",
166 ],
Nicolas Geoffray5840da72021-03-03 22:02:07 +0000167 min_sdk_version: "S",
Alex Light1cad5272017-09-27 16:36:13 -0700168}
169
170cc_library {
171 name: "libdt_socket",
172 srcs: [
173 "src/share/transport/socket/*.c",
174 "src/solaris/transport/socket/*.c",
175 ],
176 local_include_dirs: [
177 "src/share/transport/socket",
178 "src/solaris/transport/socket",
179 ],
180 header_libs: [
181 "javavm_headers",
182 "libjdwp_headers",
183 "libnpt_headers",
184 ],
185 required: ["libnpt"],
186 defaults: ["upstream-jdwp-defaults"],
Jiyong Park8ba580c2019-12-19 02:12:28 +0000187 apex_available: [
Martin Stjernholm093648b2020-10-12 15:11:12 +0100188 "com.android.art",
Jiyong Park8ba580c2019-12-19 02:12:28 +0000189 "com.android.art.debug",
190 ],
Nicolas Geoffray5840da72021-03-03 22:02:07 +0000191 min_sdk_version: "S",
Alex Light1cad5272017-09-27 16:36:13 -0700192}
Alex Lightff9d11e2019-02-20 18:02:09 -0800193
194genrule {
195 name: "jdwp_generated_java",
196 tools: ["jdwpgen"],
197 cmd: "$(location jdwpgen) $(in) -jdi $(out)",
198 srcs: ["make/data/jdwp/jdwp.spec"],
199 out: ["JDWP.java"],
200}
201
202python_binary_host {
203 name: "jdi_prop_gen",
204 srcs: ["etc/jdigen.py"],
205 main: "etc/jdigen.py",
206}
207
208genrule {
209 name: "jdi_generated_properties",
210 tools: ["jdi_prop_gen"],
211 cmd: "$(location jdi_prop_gen) $(in) $(out)",
212 out: ["jdi.java"],
213 srcs: ["src/share/classes/com/sun/tools/jdi/resources/jdi.properties"],
214}
215
216// The classes needed to support JDI and debug remote processes.
217java_library_host {
218 name: "jdi-support",
219 srcs: [
220 // The JDI interface definition.
221 "src/share/classes/com/sun/jdi/**/*.java",
222 // The JDI interface implementation
223 "src/share/classes/com/sun/tools/jdi/**/*.java",
224 // The JDWP.java file that contains all the constants.
225 ":jdwp_generated_java",
226 // The properties class which holds information about the various connectors.
227 ":jdi_generated_properties",
228 ],
229 exclude_srcs: [
230 // We don't support process attachment and lack some of the classes to even compile this file.
231 "src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java",
232 ],
233 services: ["etc/com.sun.jdi.connect.Connector"],
Pete Gillinc5cd0272019-04-30 13:19:36 +0100234 java_version: "1.8",
Alex Lightff9d11e2019-02-20 18:02:09 -0800235 javacflags: ["-g"],
236 notice: "LICENSE",
Pete Gillinc5cd0272019-04-30 13:19:36 +0100237}