# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build_overrides/build.gni")
import("//third_party/abseil-cpp/absl.gni")

absl_source_set("any") {
  public = [ "any.h" ]
  deps = [
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/utility",
  ]
}

absl_source_set("span") {
  public = [ "span.h" ]
  sources = [ "internal/span.h" ]
  deps = [
    "//third_party/abseil-cpp/absl/algorithm",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:nullability",
    "//third_party/abseil-cpp/absl/base:throw_delegate",
    "//third_party/abseil-cpp/absl/hash:weakly_mixed_integer",
    "//third_party/abseil-cpp/absl/meta:type_traits",
  ]
}

absl_test("span_test") {
  sources = [ "span_test.cc" ]
  deps = [
    ":span",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:exception_testing",
    "//third_party/abseil-cpp/absl/container:fixed_array",
    "//third_party/abseil-cpp/absl/container:inlined_vector",
    "//third_party/abseil-cpp/absl/hash",
    "//third_party/abseil-cpp/absl/hash:hash_testing",
    "//third_party/abseil-cpp/absl/meta:type_traits",
    "//third_party/abseil-cpp/absl/strings",
  ]
}

absl_source_set("optional") {
  public = [ "optional.h" ]
  deps = [
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/utility",
  ]
}

absl_source_set("variant") {
  public = [ "variant.h" ]
  deps = [
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/utility",
  ]
}

absl_source_set("compare") {
  public = [ "compare.h" ]
  deps = [
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/meta:type_traits",
  ]
}

absl_test("variant_test") {
  sources = [ "variant_test.cc" ]
  deps = [ ":variant" ]
}
