# 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.sys") {
  library_name = "sys"
  namespace = "fuchsia"
  public_deps = [
    "../fuchsia.mem",
  ]
  sources = [
    "component_controller.fidl",
    "environment.fidl",
    "environment_controller.fidl",
    "flat_namespace.fidl",
    "job_provider.fidl",
    "launcher.fidl",
    "loader.fidl",
    "runner.fidl",
    "service_provider.fidl",
    "types.fidl",
  ]
}

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