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

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

zx_library("fs-pty") {
  sdk = "source"
  sdk_headers = [
    "lib/fs-pty/tty-connection-internal.h",
    "lib/fs-pty/service.h",
  ]
  static = true

  sources = [
    "include/lib/fs-pty/service.h",
    "include/lib/fs-pty/tty-connection-internal.h",
    "service.cc",
  ]
  include_dirs = [ "include" ]
  public_deps = [
    "//sdk/fidl/fuchsia.hardware.pty:fuchsia.hardware.pty_llcpp",
    "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp",
    "//sdk/lib/fit",
    "//src/lib/storage/vfs/cpp",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
  ]

  deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp",
    "//src/lib/storage/vfs/cpp",
    "//zircon/system/ulib/fidl-async:fidl-async-cpp",
  ]
}

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