# 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/cpp/sdk_source_set.gni")

sdk_source_set("cpp") {
  category = "partner"

  sdk_name = "sys_cpp"

  include_base = "//sdk"
  sources = [
    "component_context.cc",
    "component_context.h",
    "file_descriptor.cc",
    "file_descriptor.h",
    "outgoing_directory.cc",
    "outgoing_directory.h",
    "service_directory.cc",
    "service_directory.h",
    "termination_reason.cc",
    "termination_reason.h",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.sys",
    "//sdk/lib/vfs/cpp",
    "//zircon/public/fidl/fuchsia-io",
    "//zircon/public/lib/fit",
    "//zircon/public/lib/zx",
  ]

  deps = [
    "//zircon/public/lib/fdio",
  ]

  public_configs = [ "//sdk/config" ]
}
