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

import("//build/unification/zx_library.gni")

zx_library("fdio-caller") {
  sdk = "source"
  sdk_headers = [ "lib/fdio/cpp/caller.h" ]
  sources = []
  deps = [
    "//sdk/lib/fdio",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
  ]
  public_deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp",
    "//sdk/lib/fdio",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
  ]
}

group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}
