# 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 = [
  "//third_party/abseil-cpp/*",
  "$cobalt_root/*",
  "//third_party/tink/*",
]

# CC Library : span
source_set("span") {
  public_configs = [ "//third_party/abseil-cpp:abseil_config" ]
  public = [
    "span.h",
  ]
  sources = [
    "internal/span.h",
  ]
  public_deps = [
    "../algorithm:algorithm",
    "../base:core_headers",
    "../base:throw_delegate",
    "../meta:type_traits",
  ]
}

# CC Library : optional
source_set("optional") {
  public_configs = [ "//third_party/abseil-cpp:abseil_config" ]
  public = [
    "optional.h",
  ]
  sources = [
    "internal/optional.h",
  ]
  public_deps = [
    ":bad_optional_access",
    "../base:base_internal",
    "../base:config",
    "../base:core_headers",
    "../memory:memory",
    "../meta:type_traits",
    "../utility:utility",
  ]
}

# CC Library : bad_optional_access
source_set("bad_optional_access") {
  public_configs = [ "//third_party/abseil-cpp:abseil_config" ]
  public = [
    "bad_optional_access.h",
  ]
  sources = [
    "bad_optional_access.cc",
  ]
  public_deps = [
    "../base",
    "../base:config",
  ]
}

# CC Library : bad_variant_access
source_set("bad_variant_access") {
  public_configs = [ "//third_party/abseil-cpp:abseil_config" ]
  public = [
    "bad_variant_access.h",
  ]
  sources = [
    "bad_variant_access.cc",
  ]
  public_deps = [
    "../base",
    "../base:config",
  ]
}

# CC Library : variant
source_set("variant") {
  public_configs = [ "//third_party/abseil-cpp:abseil_config" ]
  public = [
    "variant.h",
  ]
  sources = [
    "internal/variant.h",
  ]
  public_deps = [
    ":bad_variant_access",
    "../base:base_internal",
    "../base:config",
    "../base:core_headers",
    "../meta:type_traits",
    "../utility:utility",
  ]
}
