# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

visibility = [
  "$cobalt_root/*",
  "//third_party/abseil-cpp/*",
  "//third_party/tink/*",
]

source_set("hash") {
  public_configs = [ "//third_party/abseil-cpp:abseil_config" ]

  sources = [
    "internal/hash.cc",
    "internal/hash.h",
  ]
  public = [ "hash.h" ]

  deps = [
    ":city",
    ":wyhash",
    "../base:config",
    "../base:core_headers",
    "../base:endian",
    "../container:fixed_array",
    "../meta:type_traits",
    "../numeric:int128",
    "../strings",
    "../types:optional",
    "../types:variant",
    "../utility",
  ]
}

source_set("city") {
  public_configs = [ "//third_party/abseil-cpp:abseil_config" ]

  sources = [ "internal/city.cc" ]
  public = [ "internal/city.h" ]

  deps = [
    "../base:config",
    "../base:core_headers",
    "../base:endian",
  ]
}

source_set("wyhash") {
  public_configs = [ "//third_party/abseil-cpp:abseil_config" ]

  sources = [ "internal/wyhash.cc" ]
  public = [ "internal/wyhash.h" ]

  deps = [
    "../base:config",
    "../base:endian",
    "../numeric:int128",
  ]
}
