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