1package( 2 default_visibility = ["//visibility:public"], 3) 4 5# >>> JNI headers 6 7genrule( 8 name = "copy_link_jni_header", 9 srcs = ["@openjdk_jni_h//file"], 10 outs = ["jni/jni.h"], 11 cmd = "cp -f $< $@", 12) 13 14genrule( 15 name = "copy_link_jni_md_header", 16 srcs = select({ 17 "@org_brotli//:darwin": ["@openjdk_macosx_jni_md_h//file"], 18 "@org_brotli//:darwin_x86_64": ["@openjdk_macosx_jni_md_h//file"], 19 "@org_brotli//:windows_msys": ["@openjdk_windows_jni_md_h//file"], 20 "@org_brotli//:windows_msvc": ["@openjdk_windows_jni_md_h//file"], 21 "@org_brotli//:windows": ["@openjdk_windows_jni_md_h//file"], 22 "//conditions:default": ["@openjdk_solaris_jni_md_h//file"], 23 }), 24 outs = ["jni/jni_md.h"], 25 cmd = "cp -f $< $@", 26) 27 28cc_library( 29 name = "jni_inc", 30 hdrs = [ 31 ":jni/jni.h", 32 ":jni/jni_md.h", 33 ], 34 includes = ["jni"], 35) 36 37# <<< JNI headers 38 39genrule( 40 name = "license_resource", 41 srcs = ["@org_brotli//:LICENSE"], 42 outs = ["META-INF/LICENSE"], 43 cmd = "cp -f $< $@", 44) 45 46java_library( 47 name = "license", 48 resources = [":license_resource"], 49) 50 51######################################################## 52# WARNING: do not (transitively) depend on this target! 53######################################################## 54cc_binary( 55 name = "brotli_jni.dll", 56 srcs = [ 57 "//org/brotli/wrapper/common:jni_src", 58 "//org/brotli/wrapper/dec:jni_src", 59 "//org/brotli/wrapper/enc:jni_src", 60 "@org_brotli//:common_headers", 61 "@org_brotli//:common_sources", 62 "@org_brotli//:dec_headers", 63 "@org_brotli//:dec_sources", 64 "@org_brotli//:enc_headers", 65 "@org_brotli//:enc_sources", 66 ], 67 linkshared = 1, 68 deps = [ 69 ":jni_inc", 70 "@org_brotli//:brotli_inc", 71 ], 72) 73 74######################################################## 75# WARNING: do not (transitively) depend on this target! 76######################################################## 77cc_binary( 78 name = "brotli_jni_no_dictionary_data.dll", 79 srcs = [ 80 "//org/brotli/wrapper/common:jni_src", 81 "//org/brotli/wrapper/dec:jni_src", 82 "//org/brotli/wrapper/enc:jni_src", 83 "@org_brotli//:common_headers", 84 "@org_brotli//:common_sources", 85 "@org_brotli//:dec_headers", 86 "@org_brotli//:dec_sources", 87 "@org_brotli//:enc_headers", 88 "@org_brotli//:enc_sources", 89 ], 90 defines = [ 91 "BROTLI_EXTERNAL_DICTIONARY_DATA=", 92 ], 93 linkshared = 1, 94 deps = [ 95 ":jni_inc", 96 "@org_brotli//:brotli_inc", 97 ], 98) 99