# Copyright 2016 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")

fidl("fuchsia.sys") {
  # TODO(fxbug.dev/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [
    "invalid-case-for-constant",
    "protocol-name-includes-service",
    "string-bounds-not-specified",
    "vector-bounds-not-specified",
  ]

  sdk_category = "partner"

  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",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.mem",
    "//zircon/vdso/zx",
  ]
}
