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