# 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("fdio") {
  shared_libs = [ "fdio" ]

  deps = [
  ]
  sources = [
    "include/lib/fdio/directory.h",
    "include/lib/fdio/fd.h",
    "include/lib/fdio/fdio.h",
    "include/lib/fdio/io.h",
    "include/lib/fdio/limits.h",
    "include/lib/fdio/namespace.h",
    "include/lib/fdio/private.h",
    "include/lib/fdio/spawn.h",
    "include/lib/fdio/unsafe.h",
    "include/lib/fdio/vfs.h",
    "include/lib/fdio/watcher.h",
  ]
  include_dirs = [ "include" ]
}

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