blob: 56fb729bfd2bfe40c9bd29934f6853a012a640c6 [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,
Alex Light1cad5272017-09-27 16:36:13 -070044}
45
46cc_library_headers {
47 name: "libnpt_headers",
48 export_include_dirs: [
49 "src/share/npt",
50 "src/solaris/npt",
51 ],
52 defaults: ["upstream-jdwp-defaults"],
53}
54
55cc_library {
56 name: "libnpt",
57 srcs: [
58 "src/share/npt/*.c",
59 "src/solaris/npt/*.c",
60 ],
61 header_libs: [
62 "javavm_headers",
63 "libnpt_headers",
64 ],
65 defaults: ["upstream-jdwp-defaults"],
66}
67
68cc_library_headers {
69 name: "libjdwp_headers",
70 export_include_dirs: [
71 "src/share/back",
72 "src/share/back/export",
73 "src/solaris/back",
74 ],
75 generated_headers: ["jdwp_generated_headers"],
76 export_generated_headers: ["jdwp_generated_headers"],
77 defaults: ["upstream-jdwp-defaults"],
78}
79
80cc_library {
81 name: "libjdwp",
82 srcs: [
83 "src/share/back/*.c",
84 "src/solaris/back/*.c",
85 ],
86 cflags: [
87 "-DLINUX",
88 "-DJDWP_LOGGING",
89 "-Wno-switch",
90 "-Wno-logical-op-parentheses",
91 "-Wno-logical-not-parentheses",
92 "-Wno-sometimes-uninitialized",
93 "-Wno-self-assign",
94 "-Wno-unused-variable",
95 "-Wno-unused-function",
96 ],
97 header_libs: [
98 "javavm_headers",
99 "libjdwp_headers",
100 "libnpt_headers",
101 ],
102 required: [
103 "libnpt",
104 "libdt_socket",
105 ],
106 defaults: ["upstream-jdwp-defaults"],
107}
108
109cc_library {
110 name: "libdt_socket",
111 srcs: [
112 "src/share/transport/socket/*.c",
113 "src/solaris/transport/socket/*.c",
114 ],
115 local_include_dirs: [
116 "src/share/transport/socket",
117 "src/solaris/transport/socket",
118 ],
119 header_libs: [
120 "javavm_headers",
121 "libjdwp_headers",
122 "libnpt_headers",
123 ],
124 required: ["libnpt"],
125 defaults: ["upstream-jdwp-defaults"],
126}
Alex Lightff9d11e2019-02-20 18:02:09 -0800127
128genrule {
129 name: "jdwp_generated_java",
130 tools: ["jdwpgen"],
131 cmd: "$(location jdwpgen) $(in) -jdi $(out)",
132 srcs: ["make/data/jdwp/jdwp.spec"],
133 out: ["JDWP.java"],
134}
135
136python_binary_host {
137 name: "jdi_prop_gen",
138 srcs: ["etc/jdigen.py"],
139 main: "etc/jdigen.py",
140}
141
142genrule {
143 name: "jdi_generated_properties",
144 tools: ["jdi_prop_gen"],
145 cmd: "$(location jdi_prop_gen) $(in) $(out)",
146 out: ["jdi.java"],
147 srcs: ["src/share/classes/com/sun/tools/jdi/resources/jdi.properties"],
148}
149
150// The classes needed to support JDI and debug remote processes.
151java_library_host {
152 name: "jdi-support",
153 srcs: [
154 // The JDI interface definition.
155 "src/share/classes/com/sun/jdi/**/*.java",
156 // The JDI interface implementation
157 "src/share/classes/com/sun/tools/jdi/**/*.java",
158 // The JDWP.java file that contains all the constants.
159 ":jdwp_generated_java",
160 // The properties class which holds information about the various connectors.
161 ":jdi_generated_properties",
162 ],
163 exclude_srcs: [
164 // We don't support process attachment and lack some of the classes to even compile this file.
165 "src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java",
166 ],
167 services: ["etc/com.sun.jdi.connect.Connector"],
168 javacflags: ["-g"],
169 notice: "LICENSE",
170}