# Copyright 2018 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.

# Please do not add more entries to this list. We plan to remove
# abseil-cpp from the Fuchsia platform source tree once cobalt
# moves out-of-tree.
visibility = [
  "$cobalt_root/*",
  "//third_party/abseil-cpp/*",
  "//third_party/tink/*",
]

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

  sources = [ "internal/front_binder.h" ]
  public = [ "bind_front.h" ]
  deps = [
    "../base:base_internal",
    "../container:compressed_tuple",
    "../meta:type_traits",
    "../utility",
  ]
}

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

  sources = [ "internal/function_ref.h" ]
  public = [ "function_ref.h" ]
  deps = [
    "../base:base_internal",
    "../meta:type_traits",
  ]
}
