aboutsummaryrefslogtreecommitdiff
path: root/java/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'java/BUILD.bazel')
-rw-r--r--java/BUILD.bazel93
1 files changed, 93 insertions, 0 deletions
diff --git a/java/BUILD.bazel b/java/BUILD.bazel
new file mode 100644
index 0000000..0ae6c15
--- /dev/null
+++ b/java/BUILD.bazel
@@ -0,0 +1,93 @@
+package(
+ default_visibility = ["//visibility:public"],
+)
+
+# >>> JNI headers
+
+genrule(
+ name = "copy_link_jni_header",
+ srcs = ["@openjdk_jni_h//file"],
+ outs = ["jni/jni.h"],
+ cmd = "cp -f $< $@",
+)
+
+genrule(
+ name = "copy_link_jni_md_header",
+ srcs = select({
+ "@org_brotli//:darwin": ["@openjdk_macosx_jni_md_h//file"],
+ "@org_brotli//:darwin_x86_64": ["@openjdk_macosx_jni_md_h//file"],
+ "@org_brotli//:windows_msys": ["@openjdk_windows_jni_md_h//file"],
+ "@org_brotli//:windows_msvc": ["@openjdk_windows_jni_md_h//file"],
+ "@org_brotli//:windows": ["@openjdk_windows_jni_md_h//file"],
+ "//conditions:default": ["@openjdk_solaris_jni_md_h//file"],
+ }),
+ outs = ["jni/jni_md.h"],
+ cmd = "cp -f $< $@",
+)
+
+cc_library(
+ name = "jni_inc",
+ hdrs = [
+ ":jni/jni.h",
+ ":jni/jni_md.h",
+ ],
+ includes = ["jni"],
+)
+
+# <<< JNI headers
+
+genrule(
+ name = "license",
+ srcs = ["@org_brotli//:LICENSE"],
+ outs = ["META-INF/LICENSE"],
+ cmd = "cp -f $< $@",
+)
+
+########################################################
+# WARNING: do not (transitively) depend on this target!
+########################################################
+cc_binary(
+ name = "brotli_jni.dll",
+ srcs = [
+ "//org/brotli/wrapper/common:jni_src",
+ "//org/brotli/wrapper/dec:jni_src",
+ "//org/brotli/wrapper/enc:jni_src",
+ "@org_brotli//:common_headers",
+ "@org_brotli//:common_sources",
+ "@org_brotli//:dec_headers",
+ "@org_brotli//:dec_sources",
+ "@org_brotli//:enc_headers",
+ "@org_brotli//:enc_sources",
+ ],
+ linkshared = 1,
+ deps = [
+ ":jni_inc",
+ "@org_brotli//:brotli_inc",
+ ],
+)
+
+########################################################
+# WARNING: do not (transitively) depend on this target!
+########################################################
+cc_binary(
+ name = "brotli_jni_no_dictionary_data.dll",
+ srcs = [
+ "//org/brotli/wrapper/common:jni_src",
+ "//org/brotli/wrapper/dec:jni_src",
+ "//org/brotli/wrapper/enc:jni_src",
+ "@org_brotli//:common_headers",
+ "@org_brotli//:common_sources",
+ "@org_brotli//:dec_headers",
+ "@org_brotli//:dec_sources",
+ "@org_brotli//:enc_headers",
+ "@org_brotli//:enc_sources",
+ ],
+ defines = [
+ "BROTLI_EXTERNAL_DICTIONARY_DATA=",
+ ],
+ linkshared = 1,
+ deps = [
+ ":jni_inc",
+ "@org_brotli//:brotli_inc",
+ ],
+)