Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 1 | package( |
| 2 | default_visibility = ["//visibility:public"], |
| 3 | ) |
| 4 | |
| 5 | # >>> JNI headers |
| 6 | |
| 7 | genrule( |
| 8 | name = "copy_link_jni_header", |
Eugene Kliuchnikov | a799e34 | 2018-10-18 17:25:05 +0200 | [diff] [blame] | 9 | srcs = ["@openjdk_jni_h//file"], |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 10 | outs = ["jni/jni.h"], |
| 11 | cmd = "cp -f $< $@", |
| 12 | ) |
| 13 | |
| 14 | genrule( |
| 15 | name = "copy_link_jni_md_header", |
| 16 | srcs = select({ |
Eugene Kliuchnikov | a799e34 | 2018-10-18 17:25:05 +0200 | [diff] [blame] | 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"], |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 23 | }), |
| 24 | outs = ["jni/jni_md.h"], |
| 25 | cmd = "cp -f $< $@", |
| 26 | ) |
| 27 | |
| 28 | cc_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 | |
| 39 | ######################################################## |
| 40 | # WARNING: do not (transitively) depend on this target! |
| 41 | ######################################################## |
| 42 | cc_binary( |
| 43 | name = "brotli_jni.dll", |
| 44 | srcs = [ |
Eugene Kliuchnikov | a799e34 | 2018-10-18 17:25:05 +0200 | [diff] [blame] | 45 | "//org/brotli/wrapper/common:jni_src", |
| 46 | "//org/brotli/wrapper/dec:jni_src", |
| 47 | "//org/brotli/wrapper/enc:jni_src", |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 48 | "@org_brotli//:common_headers", |
| 49 | "@org_brotli//:common_sources", |
| 50 | "@org_brotli//:dec_headers", |
| 51 | "@org_brotli//:dec_sources", |
| 52 | "@org_brotli//:enc_headers", |
| 53 | "@org_brotli//:enc_sources", |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 54 | ], |
| 55 | linkshared = 1, |
Eugene Kliuchnikov | a799e34 | 2018-10-18 17:25:05 +0200 | [diff] [blame] | 56 | deps = [ |
| 57 | ":jni_inc", |
| 58 | "@org_brotli//:brotli_inc", |
| 59 | ], |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 60 | ) |
| 61 | |
| 62 | ######################################################## |
| 63 | # WARNING: do not (transitively) depend on this target! |
| 64 | ######################################################## |
| 65 | cc_binary( |
| 66 | name = "brotli_jni_no_dictionary_data.dll", |
| 67 | srcs = [ |
Eugene Kliuchnikov | a799e34 | 2018-10-18 17:25:05 +0200 | [diff] [blame] | 68 | "//org/brotli/wrapper/common:jni_src", |
| 69 | "//org/brotli/wrapper/dec:jni_src", |
| 70 | "//org/brotli/wrapper/enc:jni_src", |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 71 | "@org_brotli//:common_headers", |
| 72 | "@org_brotli//:common_sources", |
| 73 | "@org_brotli//:dec_headers", |
| 74 | "@org_brotli//:dec_sources", |
| 75 | "@org_brotli//:enc_headers", |
| 76 | "@org_brotli//:enc_sources", |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 77 | ], |
| 78 | defines = [ |
| 79 | "BROTLI_EXTERNAL_DICTIONARY_DATA=", |
| 80 | ], |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 81 | linkshared = 1, |
Eugene Kliuchnikov | a799e34 | 2018-10-18 17:25:05 +0200 | [diff] [blame] | 82 | deps = [ |
| 83 | ":jni_inc", |
| 84 | "@org_brotli//:brotli_inc", |
| 85 | ], |
Eugene Kliuchnikov | 1e7ea1d | 2018-06-04 17:53:16 +0200 | [diff] [blame] | 86 | ) |