blob: 625b5035c00ecff39991443e9bab6f4593fd6056 [file] [log] [blame]
Alex Light1cad5272017-09-27 16:36:13 -07001java_binary_host {
2 name: "jdwpgen",
3 srcs: ["make/src/classes/build/tools/jdwpgen/*.java"],
4 wrapper: "etc/jdwpgen.sh",
5 manifest: "etc/manifest.txt",
6 java_version: "1.8",
Alex Light1cad5272017-09-27 16:36:13 -07007}
8
9genrule {
10 name: "jdwp_generated_headers",
11 tools: ["jdwpgen"],
Alex Light9ffbc912017-10-31 11:10:13 -070012 cmd: "$(location jdwpgen) $(in) -include $(out)",
Alex Light1cad5272017-09-27 16:36:13 -070013 srcs: ["make/data/jdwp/jdwp.spec"],
14 out: ["JDWPCommands.h"],
15}
16
17cc_defaults {
18 name: "upstream-jdwp-defaults",
19 host_supported: true,
20 device_supported: true,
21 cflags: [
22 // Every supported android platform is little-endian.
23 "-D_LITTLE_ENDIAN",
24 "-Wall",
25 "-Werror",
26 "-Wno-unused-parameter",
27 ],
28 notice: "LICENSE",
Alex Light19ae8d92017-11-03 21:46:30 +000029 target: {
30 darwin: {
31 enabled: false,
32 },
33 },
Alex Light1cad5272017-09-27 16:36:13 -070034}
35
36cc_library_headers {
37 name: "javavm_headers",
38 export_include_dirs: [
39 "src/share/javavm/export",
Alex Light19ae8d92017-11-03 21:46:30 +000040 "src/solaris/javavm/export",
Alex Light1cad5272017-09-27 16:36:13 -070041 ],
42 host_supported: true,
43 device_supported: true,
Jiyong Park82947d32020-04-28 18:21:49 +090044
45 apex_available: [
46 "com.android.art.debug",
47 "com.android.art.release",
48 ],
Alex Light1cad5272017-09-27 16:36:13 -070049}
50
51cc_library_headers {
52 name: "libnpt_headers",
53 export_include_dirs: [
54 "src/share/npt",
55 "src/solaris/npt",
56 ],
57 defaults: ["upstream-jdwp-defaults"],
Jiyong Park82947d32020-04-28 18:21:49 +090058
59 apex_available: [
60 "com.android.art.debug",
61 "com.android.art.release",
62 ],
Alex Light1cad5272017-09-27 16:36:13 -070063}
64
65cc_library {
66 name: "libnpt",
67 srcs: [
68 "src/share/npt/*.c",
69 "src/solaris/npt/*.c",
70 ],
71 header_libs: [
72 "javavm_headers",
73 "libnpt_headers",
74 ],
75 defaults: ["upstream-jdwp-defaults"],
Jiyong Park8ba580c2019-12-19 02:12:28 +000076 apex_available: [
77 "com.android.art.release",
78 "com.android.art.debug",
79 ],
Alex Light1cad5272017-09-27 16:36:13 -070080}
81
82cc_library_headers {
83 name: "libjdwp_headers",
84 export_include_dirs: [
85 "src/share/back",
86 "src/share/back/export",
87 "src/solaris/back",
88 ],
89 generated_headers: ["jdwp_generated_headers"],
90 export_generated_headers: ["jdwp_generated_headers"],
91 defaults: ["upstream-jdwp-defaults"],
Jiyong Park82947d32020-04-28 18:21:49 +090092
93 apex_available: [
94 "com.android.art.debug",
95 "com.android.art.release",
96 ],
Alex Light1cad5272017-09-27 16:36:13 -070097}
98
99cc_library {
100 name: "libjdwp",
101 srcs: [
102 "src/share/back/*.c",
103 "src/solaris/back/*.c",
104 ],
105 cflags: [
106 "-DLINUX",
107 "-DJDWP_LOGGING",
108 "-Wno-switch",
109 "-Wno-logical-op-parentheses",
110 "-Wno-logical-not-parentheses",
111 "-Wno-sometimes-uninitialized",
112 "-Wno-self-assign",
113 "-Wno-unused-variable",
114 "-Wno-unused-function",
115 ],
116 header_libs: [
117 "javavm_headers",
118 "libjdwp_headers",
119 "libnpt_headers",
120 ],
121 required: [
122 "libnpt",
123 "libdt_socket",
124 ],
125 defaults: ["upstream-jdwp-defaults"],
Jiyong Park8ba580c2019-12-19 02:12:28 +0000126 apex_available: [
127 "com.android.art.release",
128 "com.android.art.debug",
129 ],
Alex Light1cad5272017-09-27 16:36:13 -0700130}
131
132cc_library {
133 name: "libdt_socket",
134 srcs: [
135 "src/share/transport/socket/*.c",
136 "src/solaris/transport/socket/*.c",
137 ],
138 local_include_dirs: [
139 "src/share/transport/socket",
140 "src/solaris/transport/socket",
141 ],
142 header_libs: [
143 "javavm_headers",
144 "libjdwp_headers",
145 "libnpt_headers",
146 ],
147 required: ["libnpt"],
148 defaults: ["upstream-jdwp-defaults"],
Jiyong Park8ba580c2019-12-19 02:12:28 +0000149 apex_available: [
150 "com.android.art.release",
151 "com.android.art.debug",
152 ],
Alex Light1cad5272017-09-27 16:36:13 -0700153}
Alex Lightff9d11e2019-02-20 18:02:09 -0800154
155genrule {
156 name: "jdwp_generated_java",
157 tools: ["jdwpgen"],
158 cmd: "$(location jdwpgen) $(in) -jdi $(out)",
159 srcs: ["make/data/jdwp/jdwp.spec"],
160 out: ["JDWP.java"],
161}
162
163python_binary_host {
164 name: "jdi_prop_gen",
165 srcs: ["etc/jdigen.py"],
166 main: "etc/jdigen.py",
167}
168
169genrule {
170 name: "jdi_generated_properties",
171 tools: ["jdi_prop_gen"],
172 cmd: "$(location jdi_prop_gen) $(in) $(out)",
173 out: ["jdi.java"],
174 srcs: ["src/share/classes/com/sun/tools/jdi/resources/jdi.properties"],
175}
176
177// The classes needed to support JDI and debug remote processes.
178java_library_host {
179 name: "jdi-support",
180 srcs: [
181 // The JDI interface definition.
182 "src/share/classes/com/sun/jdi/**/*.java",
183 // The JDI interface implementation
184 "src/share/classes/com/sun/tools/jdi/**/*.java",
185 // The JDWP.java file that contains all the constants.
186 ":jdwp_generated_java",
187 // The properties class which holds information about the various connectors.
188 ":jdi_generated_properties",
189 ],
190 exclude_srcs: [
191 // We don't support process attachment and lack some of the classes to even compile this file.
192 "src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java",
193 ],
194 services: ["etc/com.sun.jdi.connect.Connector"],
Pete Gillinc5cd0272019-04-30 13:19:36 +0100195 java_version: "1.8",
Alex Lightff9d11e2019-02-20 18:02:09 -0800196 javacflags: ["-g"],
197 notice: "LICENSE",
Pete Gillinc5cd0272019-04-30 13:19:36 +0100198}