| package( |
| default_visibility = ["//visibility:public"], |
| ) |
| |
| config_setting( |
| name = "darwin", |
| values = {"cpu": "darwin"}, |
| visibility = ["//visibility:public"], |
| ) |
| |
| config_setting( |
| name = "darwin_x86_64", |
| values = {"cpu": "darwin_x86_64"}, |
| visibility = ["//visibility:public"], |
| ) |
| |
| config_setting( |
| name = "windows", |
| values = {"cpu": "x64_windows"}, |
| visibility = ["//visibility:public"], |
| ) |
| |
| config_setting( |
| name = "windows_msvc", |
| values = {"cpu": "x64_windows_msvc"}, |
| visibility = ["//visibility:public"], |
| ) |
| |
| config_setting( |
| name = "windows_msys", |
| values = {"cpu": "x64_windows_msys"}, |
| 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({ |
| ":darwin": ["@openjdk_macosx_jni_md_h//file"], |
| ":darwin_x86_64": ["@openjdk_macosx_jni_md_h//file"], |
| ":windows_msys": ["@openjdk_windows_jni_md_h//file"], |
| ":windows_msvc": ["@openjdk_windows_jni_md_h//file"], |
| ":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", |
| ], |
| ) |