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

# DO NOT MANUALLY EDIT!
# Generated by //scripts/sdk/gn/generate.py.


import("../../build/fuchsia_sdk_pkg.gni")

fuchsia_sdk_pkg("sys_cpp") {
  sources = [
    "component_context.cc",
    "file_descriptor.cc",
    "outgoing_directory.cc",
    "service_directory.cc",
    "termination_reason.cc",
    "include/lib/sys/cpp/component_context.h",
    "include/lib/sys/cpp/file_descriptor.h",
    "include/lib/sys/cpp/outgoing_directory.h",
    "include/lib/sys/cpp/service_directory.h",
    "include/lib/sys/cpp/termination_reason.h",
  ]
  include_dirs = [ "include" ]
  public_deps = [
    "../../fidl/fuchsia.io",
    "../../fidl/fuchsia.sys",
    "../fit",
    "../sys_service_cpp",
    "../vfs_cpp",
    "../zx",
  ]
}

group("all"){
  deps = [
    ":sys_cpp",
  ]
}
