• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2018 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build_overrides/build.gni")
6import("//third_party/abseil-cpp/absl.gni")
7
8absl_source_set("hash") {
9  sources = [
10    "internal/hash.cc",
11    "internal/hash.h",
12  ]
13  public = [ "hash.h" ]
14  deps = [
15    ":city",
16    ":wyhash",
17    "//third_party/abseil-cpp/absl/base:config",
18    "//third_party/abseil-cpp/absl/base:core_headers",
19    "//third_party/abseil-cpp/absl/base:endian",
20    "//third_party/abseil-cpp/absl/container:fixed_array",
21    "//third_party/abseil-cpp/absl/meta:type_traits",
22    "//third_party/abseil-cpp/absl/numeric:int128",
23    "//third_party/abseil-cpp/absl/strings",
24    "//third_party/abseil-cpp/absl/types:optional",
25    "//third_party/abseil-cpp/absl/types:variant",
26    "//third_party/abseil-cpp/absl/utility",
27  ]
28}
29
30absl_source_set("hash_testing") {
31  testonly = true
32  public = [ "hash_testing.h" ]
33  deps = [
34    ":spy_hash_state",
35    "//third_party/abseil-cpp/absl/meta:type_traits",
36    "//third_party/abseil-cpp/absl/strings",
37    "//third_party/abseil-cpp/absl/types:variant",
38    "//third_party/googletest:gtest",
39  ]
40}
41
42absl_source_set("spy_hash_state") {
43  testonly = true
44  public = [ "internal/spy_hash_state.h" ]
45  deps = [
46    ":hash",
47    "//third_party/abseil-cpp/absl/strings",
48    "//third_party/abseil-cpp/absl/strings:str_format",
49  ]
50  visibility = [ "//third_party/abseil-cpp/absl/*" ]
51}
52
53absl_source_set("city") {
54  public = [ "internal/city.h" ]
55  sources = [ "internal/city.cc" ]
56  deps = [
57    "//third_party/abseil-cpp/absl/base:config",
58    "//third_party/abseil-cpp/absl/base:core_headers",
59    "//third_party/abseil-cpp/absl/base:endian",
60  ]
61}
62
63absl_source_set("wyhash") {
64  public = [ "internal/wyhash.h" ]
65  sources = [ "internal/wyhash.cc" ]
66  deps = [
67    "//third_party/abseil-cpp/absl/base:config",
68    "//third_party/abseil-cpp/absl/base:endian",
69    "//third_party/abseil-cpp/absl/numeric:int128",
70  ]
71  visibility = [ ":*" ]
72}
73