# 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("async-cpp") {
  sources = [
    "executor.cc",
    "irq.cc",
    "paged_vmo.cc",
    "receiver.cc",
    "task.cc",
    "trap.cc",
    "wait.cc",
    "include/lib/async/cpp/executor.h",
    "include/lib/async/cpp/irq.h",
    "include/lib/async/cpp/paged_vmo.h",
    "include/lib/async/cpp/receiver.h",
    "include/lib/async/cpp/task.h",
    "include/lib/async/cpp/time.h",
    "include/lib/async/cpp/trap.h",
    "include/lib/async/cpp/wait.h",
  ]
  include_dirs = [ "include" ]
  public_deps = [
    "../async",
    "../fit",
    "../zx",
  ]
}

group("all"){
  deps = [
    ":async-cpp",
  ]
}
