• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
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
34java_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",
40}
41
42genrule {
43    name: "jdwp_generated_headers",
44    tools: ["jdwpgen"],
45    cmd: "$(location jdwpgen) $(in) -include $(out)",
46    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",
62    target: {
63        darwin: {
64            enabled: false,
65        },
66    },
67}
68
69cc_library_headers {
70    name: "javavm_headers",
71    export_include_dirs: [
72        "src/share/javavm/export",
73        "src/solaris/javavm/export",
74    ],
75    host_supported: true,
76    device_supported: true,
77
78    apex_available: [
79        "com.android.art",
80        "com.android.art.debug",
81    ],
82    min_sdk_version: "S",
83}
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"],
92
93    apex_available: [
94        "com.android.art",
95        "com.android.art.debug",
96    ],
97    min_sdk_version: "S",
98}
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"],
111    apex_available: [
112        "com.android.art",
113        "com.android.art.debug",
114    ],
115    min_sdk_version: "S",
116}
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"],
128
129    apex_available: [
130        "com.android.art",
131        "com.android.art.debug",
132    ],
133    min_sdk_version: "S",
134}
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"],
163    apex_available: [
164        "com.android.art",
165        "com.android.art.debug",
166    ],
167    min_sdk_version: "S",
168}
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"],
187    apex_available: [
188        "com.android.art",
189        "com.android.art.debug",
190    ],
191    min_sdk_version: "S",
192}
193
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"],
234  java_version: "1.8",
235  javacflags: ["-g"],
236  notice: "LICENSE",
237}
238