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

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

# NOTE: fuchsia.sys2 is slowly being unpacked into a set of
# `fuchsia.component.*` libraries.
fidl("fuchsia.sys2") {
  sdk_category = "internal"

  public_deps = [
    "//sdk/fidl/fuchsia.component",
    "//sdk/fidl/fuchsia.component.config",
    "//sdk/fidl/fuchsia.component.decl",
    "//sdk/fidl/fuchsia.component.types",
    "//sdk/fidl/fuchsia.data",
    "//sdk/fidl/fuchsia.io",
    "//sdk/fidl/fuchsia.mem",
    "//sdk/fidl/fuchsia.process",
    "//sdk/fidl/fuchsia.url",
    "//zircon/vdso/zx",
  ]

  sources = [
    "crash_introspect.fidl",
    "events.fidl",
    "lifecycle_controller.fidl",
    "realm.fidl",
    "route_validator.fidl",
    "storage_admin.fidl",
    "system_controller.fidl",
  ]
}
