tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

BUILD.bazel (5228B)


      1 #
      2 # Copyright 2019 The Abseil Authors.
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      https://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 load(
     18    "//absl:copts/configure_copts.bzl",
     19    "ABSL_DEFAULT_COPTS",
     20    "ABSL_DEFAULT_LINKOPTS",
     21    "ABSL_TEST_COPTS",
     22 )
     23 
     24 package(
     25    default_visibility = ["//visibility:public"],
     26    features = [
     27        "header_modules",
     28        "layering_check",
     29        "parse_headers",
     30    ],
     31 )
     32 
     33 licenses(["notice"])
     34 
     35 cc_library(
     36    name = "hash",
     37    srcs = [
     38        "internal/hash.cc",
     39        "internal/hash.h",
     40    ],
     41    hdrs = ["hash.h"],
     42    copts = ABSL_DEFAULT_COPTS,
     43    linkopts = ABSL_DEFAULT_LINKOPTS,
     44    deps = [
     45        ":city",
     46        ":low_level_hash",
     47        "//absl/base:config",
     48        "//absl/base:core_headers",
     49        "//absl/base:endian",
     50        "//absl/container:fixed_array",
     51        "//absl/functional:function_ref",
     52        "//absl/meta:type_traits",
     53        "//absl/numeric:bits",
     54        "//absl/numeric:int128",
     55        "//absl/strings",
     56        "//absl/types:optional",
     57        "//absl/types:variant",
     58        "//absl/utility",
     59    ],
     60 )
     61 
     62 cc_library(
     63    name = "hash_testing",
     64    testonly = True,
     65    hdrs = ["hash_testing.h"],
     66    linkopts = ABSL_DEFAULT_LINKOPTS,
     67    deps = [
     68        ":spy_hash_state",
     69        "//absl/meta:type_traits",
     70        "//absl/strings",
     71        "//absl/types:variant",
     72        "@googletest//:gtest",
     73    ],
     74 )
     75 
     76 cc_test(
     77    name = "hash_test",
     78    srcs = [
     79        "hash_test.cc",
     80        "internal/hash_test.h",
     81    ],
     82    copts = ABSL_TEST_COPTS,
     83    linkopts = ABSL_DEFAULT_LINKOPTS,
     84    deps = [
     85        ":hash",
     86        ":hash_testing",
     87        ":spy_hash_state",
     88        "//absl/base:config",
     89        "//absl/container:flat_hash_set",
     90        "//absl/memory",
     91        "//absl/meta:type_traits",
     92        "//absl/numeric:bits",
     93        "//absl/strings:cord_test_helpers",
     94        "//absl/strings:string_view",
     95        "//absl/types:optional",
     96        "//absl/types:variant",
     97        "@googletest//:gtest",
     98        "@googletest//:gtest_main",
     99    ],
    100 )
    101 
    102 cc_test(
    103    name = "hash_instantiated_test",
    104    srcs = [
    105        "hash_instantiated_test.cc",
    106        "internal/hash_test.h",
    107    ],
    108    copts = ABSL_TEST_COPTS,
    109    linkopts = ABSL_DEFAULT_LINKOPTS,
    110    deps = [
    111        ":hash",
    112        ":hash_testing",
    113        "//absl/base:config",
    114        "//absl/container:btree",
    115        "//absl/container:flat_hash_map",
    116        "//absl/container:flat_hash_set",
    117        "//absl/container:node_hash_map",
    118        "//absl/container:node_hash_set",
    119        "@googletest//:gtest",
    120        "@googletest//:gtest_main",
    121    ],
    122 )
    123 
    124 cc_binary(
    125    name = "hash_benchmark",
    126    testonly = True,
    127    srcs = ["hash_benchmark.cc"],
    128    copts = ABSL_TEST_COPTS,
    129    linkopts = ABSL_DEFAULT_LINKOPTS,
    130    tags = ["benchmark"],
    131    visibility = ["//visibility:private"],
    132    deps = [
    133        ":hash",
    134        "//absl/base:core_headers",
    135        "//absl/container:flat_hash_set",
    136        "//absl/random",
    137        "//absl/strings",
    138        "//absl/strings:cord",
    139        "//absl/strings:cord_test_helpers",
    140        "@google_benchmark//:benchmark_main",
    141    ],
    142 )
    143 
    144 cc_library(
    145    name = "spy_hash_state",
    146    testonly = True,
    147    hdrs = ["internal/spy_hash_state.h"],
    148    copts = ABSL_DEFAULT_COPTS,
    149    linkopts = ABSL_DEFAULT_LINKOPTS,
    150    visibility = ["//visibility:private"],
    151    deps = [
    152        ":hash",
    153        "//absl/strings",
    154        "//absl/strings:str_format",
    155    ],
    156 )
    157 
    158 cc_library(
    159    name = "city",
    160    srcs = ["internal/city.cc"],
    161    hdrs = [
    162        "internal/city.h",
    163    ],
    164    copts = ABSL_DEFAULT_COPTS,
    165    linkopts = ABSL_DEFAULT_LINKOPTS,
    166    deps = [
    167        "//absl/base:config",
    168        "//absl/base:core_headers",
    169        "//absl/base:endian",
    170    ],
    171 )
    172 
    173 cc_test(
    174    name = "city_test",
    175    srcs = ["internal/city_test.cc"],
    176    copts = ABSL_TEST_COPTS,
    177    linkopts = ABSL_DEFAULT_LINKOPTS,
    178    deps = [
    179        ":city",
    180        "@googletest//:gtest",
    181        "@googletest//:gtest_main",
    182    ],
    183 )
    184 
    185 cc_library(
    186    name = "low_level_hash",
    187    srcs = ["internal/low_level_hash.cc"],
    188    hdrs = ["internal/low_level_hash.h"],
    189    copts = ABSL_DEFAULT_COPTS,
    190    linkopts = ABSL_DEFAULT_LINKOPTS,
    191    visibility = ["//visibility:private"],
    192    deps = [
    193        "//absl/base:config",
    194        "//absl/base:core_headers",
    195        "//absl/base:endian",
    196        "//absl/base:prefetch",
    197        "//absl/numeric:int128",
    198    ],
    199 )
    200 
    201 cc_test(
    202    name = "low_level_hash_test",
    203    srcs = ["internal/low_level_hash_test.cc"],
    204    copts = ABSL_TEST_COPTS,
    205    linkopts = ABSL_DEFAULT_LINKOPTS,
    206    visibility = ["//visibility:private"],
    207    deps = [
    208        ":low_level_hash",
    209        "//absl/strings",
    210        "@googletest//:gtest",
    211        "@googletest//:gtest_main",
    212    ],
    213 )