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-2.0-with-classpath-exception", 25 ], 26 license_text: [ 27 "LICENSE", 28 ], 29} 30 31java_binary_host { 32 name: "jdwpgen", 33 srcs: ["make/src/classes/build/tools/jdwpgen/*.java"], 34 wrapper: "etc/jdwpgen.sh", 35 manifest: "etc/manifest.txt", 36 java_version: "1.8", 37} 38 39genrule { 40 name: "jdwp_generated_headers", 41 tools: ["jdwpgen"], 42 cmd: "$(location jdwpgen) $(in) -include $(out)", 43 srcs: ["make/data/jdwp/jdwp.spec"], 44 out: ["JDWPCommands.h"], 45} 46 47cc_defaults { 48 name: "upstream-jdwp-defaults", 49 host_supported: true, 50 device_supported: true, 51 cflags: [ 52 // Every supported android platform is little-endian. 53 "-D_LITTLE_ENDIAN", 54 "-Wall", 55 "-Werror", 56 "-Wno-unused-parameter", 57 ], 58 target: { 59 darwin: { 60 enabled: false, 61 }, 62 }, 63} 64 65cc_library_headers { 66 name: "javavm_headers", 67 export_include_dirs: [ 68 "src/share/javavm/export", 69 "src/solaris/javavm/export", 70 ], 71 host_supported: true, 72 device_supported: true, 73 74 apex_available: [ 75 "com.android.art", 76 "com.android.art.debug", 77 ], 78 min_sdk_version: "S", 79} 80 81cc_library_headers { 82 name: "libnpt_headers", 83 export_include_dirs: [ 84 "src/share/npt", 85 "src/solaris/npt", 86 ], 87 defaults: ["upstream-jdwp-defaults"], 88 89 apex_available: [ 90 "com.android.art", 91 "com.android.art.debug", 92 ], 93 min_sdk_version: "S", 94} 95 96cc_library { 97 name: "libnpt", 98 srcs: [ 99 "src/share/npt/*.c", 100 "src/solaris/npt/*.c", 101 ], 102 header_libs: [ 103 "javavm_headers", 104 "libnpt_headers", 105 ], 106 defaults: ["upstream-jdwp-defaults"], 107 apex_available: [ 108 "com.android.art", 109 "com.android.art.debug", 110 ], 111 min_sdk_version: "S", 112} 113 114cc_library_headers { 115 name: "libjdwp_headers", 116 export_include_dirs: [ 117 "src/share/back", 118 "src/share/back/export", 119 "src/solaris/back", 120 ], 121 generated_headers: ["jdwp_generated_headers"], 122 export_generated_headers: ["jdwp_generated_headers"], 123 defaults: ["upstream-jdwp-defaults"], 124 125 apex_available: [ 126 "com.android.art", 127 "com.android.art.debug", 128 ], 129 min_sdk_version: "S", 130} 131 132cc_library { 133 name: "libjdwp", 134 srcs: [ 135 "src/share/back/*.c", 136 "src/solaris/back/*.c", 137 ], 138 cflags: [ 139 "-DLINUX", 140 "-DJDWP_LOGGING", 141 "-Wno-switch", 142 "-Wno-logical-op-parentheses", 143 "-Wno-logical-not-parentheses", 144 "-Wno-sometimes-uninitialized", 145 "-Wno-self-assign", 146 "-Wno-unused-variable", 147 "-Wno-unused-function", 148 ], 149 header_libs: [ 150 "javavm_headers", 151 "libjdwp_headers", 152 "libnpt_headers", 153 ], 154 runtime_libs: [ 155 "libnpt", 156 "libdt_socket", 157 ], 158 defaults: ["upstream-jdwp-defaults"], 159 apex_available: [ 160 "com.android.art", 161 "com.android.art.debug", 162 ], 163 min_sdk_version: "S", 164} 165 166cc_library { 167 name: "libdt_socket", 168 srcs: [ 169 "src/share/transport/socket/*.c", 170 "src/solaris/transport/socket/*.c", 171 ], 172 local_include_dirs: [ 173 "src/share/transport/socket", 174 "src/solaris/transport/socket", 175 ], 176 header_libs: [ 177 "javavm_headers", 178 "libjdwp_headers", 179 "libnpt_headers", 180 ], 181 runtime_libs: ["libnpt"], 182 defaults: ["upstream-jdwp-defaults"], 183 apex_available: [ 184 "com.android.art", 185 "com.android.art.debug", 186 ], 187 min_sdk_version: "S", 188} 189 190genrule { 191 name: "jdwp_generated_java", 192 tools: ["jdwpgen"], 193 cmd: "$(location jdwpgen) $(in) -jdi $(out)", 194 srcs: ["make/data/jdwp/jdwp.spec"], 195 out: ["JDWP.java"], 196} 197 198python_binary_host { 199 name: "jdi_prop_gen", 200 srcs: ["etc/jdigen.py"], 201 main: "etc/jdigen.py", 202} 203 204genrule { 205 name: "jdi_generated_properties", 206 tools: ["jdi_prop_gen"], 207 cmd: "$(location jdi_prop_gen) $(in) $(out)", 208 out: ["jdi.java"], 209 srcs: ["src/share/classes/com/sun/tools/jdi/resources/jdi.properties"], 210} 211 212// The classes needed to support JDI and debug remote processes. 213java_library_host { 214 name: "jdi-support", 215 srcs: [ 216 // The JDI interface definition. 217 "src/share/classes/com/sun/jdi/**/*.java", 218 // The JDI interface implementation 219 "src/share/classes/com/sun/tools/jdi/**/*.java", 220 // The JDWP.java file that contains all the constants. 221 ":jdwp_generated_java", 222 // The properties class which holds information about the various connectors. 223 ":jdi_generated_properties", 224 ], 225 exclude_srcs: [ 226 // We don't support process attachment and lack some of the classes to even compile this file. 227 "src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java", 228 ], 229 services: ["etc/com.sun.jdi.connect.Connector"], 230 java_version: "1.8", 231 javacflags: ["-g"], 232 errorprone: { 233 javacflags: [ 234 "-Xep:ReturnValueIgnored:WARN", 235 "-Xep:EmptyTopLevelDeclaration:WARN", 236 ], 237 }, 238} 239