Home | History | Annotate | Line # | Download | only in dist
      1  1.1  mrg # Description:
      2  1.1  mrg #   Brotli is a generic-purpose lossless compression algorithm.
      3  1.1  mrg 
      4  1.1  mrg package(
      5  1.1  mrg     default_visibility = ["//visibility:public"],
      6  1.1  mrg )
      7  1.1  mrg 
      8  1.1  mrg licenses(["notice"])  # MIT
      9  1.1  mrg 
     10  1.1  mrg exports_files(["LICENSE"])
     11  1.1  mrg 
     12  1.1  mrg config_setting(
     13  1.1  mrg     name = "darwin",
     14  1.1  mrg     values = {"cpu": "darwin"},
     15  1.1  mrg     visibility = ["//visibility:public"],
     16  1.1  mrg )
     17  1.1  mrg 
     18  1.1  mrg config_setting(
     19  1.1  mrg     name = "darwin_x86_64",
     20  1.1  mrg     values = {"cpu": "darwin_x86_64"},
     21  1.1  mrg     visibility = ["//visibility:public"],
     22  1.1  mrg )
     23  1.1  mrg 
     24  1.1  mrg config_setting(
     25  1.1  mrg     name = "windows",
     26  1.1  mrg     values = {"cpu": "x64_windows"},
     27  1.1  mrg     visibility = ["//visibility:public"],
     28  1.1  mrg )
     29  1.1  mrg 
     30  1.1  mrg config_setting(
     31  1.1  mrg     name = "windows_msvc",
     32  1.1  mrg     values = {"cpu": "x64_windows_msvc"},
     33  1.1  mrg     visibility = ["//visibility:public"],
     34  1.1  mrg )
     35  1.1  mrg 
     36  1.1  mrg config_setting(
     37  1.1  mrg     name = "windows_msys",
     38  1.1  mrg     values = {"cpu": "x64_windows_msys"},
     39  1.1  mrg     visibility = ["//visibility:public"],
     40  1.1  mrg )
     41  1.1  mrg 
     42  1.1  mrg load(":compiler_config_setting.bzl", "create_msvc_config")
     43  1.1  mrg 
     44  1.1  mrg create_msvc_config()
     45  1.1  mrg 
     46  1.1  mrg STRICT_C_OPTIONS = select({
     47  1.1  mrg     ":msvc": [],
     48  1.1  mrg     "//conditions:default": [
     49  1.1  mrg         "--pedantic-errors",
     50  1.1  mrg         "-Wall",
     51  1.1  mrg         "-Wconversion",
     52  1.1  mrg         "-Werror",
     53  1.1  mrg         "-Wextra",
     54  1.1  mrg         "-Wlong-long",
     55  1.1  mrg         "-Wmissing-declarations",
     56  1.1  mrg         "-Wmissing-prototypes",
     57  1.1  mrg         "-Wno-strict-aliasing",
     58  1.1  mrg         "-Wshadow",
     59  1.1  mrg         "-Wsign-compare",
     60  1.1  mrg     ],
     61  1.1  mrg })
     62  1.1  mrg 
     63  1.1  mrg filegroup(
     64  1.1  mrg     name = "public_headers",
     65  1.1  mrg     srcs = glob(["c/include/brotli/*.h"]),
     66  1.1  mrg )
     67  1.1  mrg 
     68  1.1  mrg filegroup(
     69  1.1  mrg     name = "common_headers",
     70  1.1  mrg     srcs = glob(["c/common/*.h"]),
     71  1.1  mrg )
     72  1.1  mrg 
     73  1.1  mrg filegroup(
     74  1.1  mrg     name = "common_sources",
     75  1.1  mrg     srcs = glob(["c/common/*.c"]),
     76  1.1  mrg )
     77  1.1  mrg 
     78  1.1  mrg filegroup(
     79  1.1  mrg     name = "dec_headers",
     80  1.1  mrg     srcs = glob(["c/dec/*.h"]),
     81  1.1  mrg )
     82  1.1  mrg 
     83  1.1  mrg filegroup(
     84  1.1  mrg     name = "dec_sources",
     85  1.1  mrg     srcs = glob(["c/dec/*.c"]),
     86  1.1  mrg )
     87  1.1  mrg 
     88  1.1  mrg filegroup(
     89  1.1  mrg     name = "enc_headers",
     90  1.1  mrg     srcs = glob(["c/enc/*.h"]),
     91  1.1  mrg )
     92  1.1  mrg 
     93  1.1  mrg filegroup(
     94  1.1  mrg     name = "enc_sources",
     95  1.1  mrg     srcs = glob(["c/enc/*.c"]),
     96  1.1  mrg )
     97  1.1  mrg 
     98  1.1  mrg cc_library(
     99  1.1  mrg     name = "brotli_inc",
    100  1.1  mrg     hdrs = [":public_headers"],
    101  1.1  mrg     copts = STRICT_C_OPTIONS,
    102  1.1  mrg     strip_include_prefix = "c/include",
    103  1.1  mrg )
    104  1.1  mrg 
    105  1.1  mrg cc_library(
    106  1.1  mrg     name = "brotlicommon",
    107  1.1  mrg     srcs = [":common_sources"],
    108  1.1  mrg     hdrs = [":common_headers"],
    109  1.1  mrg     copts = STRICT_C_OPTIONS,
    110  1.1  mrg     deps = [":brotli_inc"],
    111  1.1  mrg )
    112  1.1  mrg 
    113  1.1  mrg cc_library(
    114  1.1  mrg     name = "brotlidec",
    115  1.1  mrg     srcs = [":dec_sources"],
    116  1.1  mrg     hdrs = [":dec_headers"],
    117  1.1  mrg     copts = STRICT_C_OPTIONS,
    118  1.1  mrg     deps = [":brotlicommon"],
    119  1.1  mrg )
    120  1.1  mrg 
    121  1.1  mrg cc_library(
    122  1.1  mrg     name = "brotlienc",
    123  1.1  mrg     srcs = [":enc_sources"],
    124  1.1  mrg     hdrs = [":enc_headers"],
    125  1.1  mrg     copts = STRICT_C_OPTIONS,
    126  1.1  mrg     linkopts = ["-lm"],
    127  1.1  mrg     deps = [":brotlicommon"],
    128  1.1  mrg )
    129  1.1  mrg 
    130  1.1  mrg cc_binary(
    131  1.1  mrg     name = "brotli",
    132  1.1  mrg     srcs = ["c/tools/brotli.c"],
    133  1.1  mrg     copts = STRICT_C_OPTIONS,
    134  1.1  mrg     linkstatic = 1,
    135  1.1  mrg     deps = [
    136  1.1  mrg         ":brotlidec",
    137  1.1  mrg         ":brotlienc",
    138  1.1  mrg     ],
    139  1.1  mrg )
    140  1.1  mrg 
    141  1.1  mrg filegroup(
    142  1.1  mrg     name = "dictionary",
    143  1.1  mrg     srcs = ["c/common/dictionary.bin"],
    144  1.1  mrg )
    145