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

fidl_library("fuchsia.process") {
  library_name = "process"
  namespace = "fuchsia"
  public_deps = [
    "../fuchsia.io",
    "../fuchsia.ldsvc",
  ]
  sources = [
    "launcher.fidl",
    "resolver.fidl",
  ]
}

group("all"){
  deps = [
    ":fuchsia.process",
  ]
}
