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

fidl("fuchsia.ui.scenic.internal") {
  # TODO(fxbug.dev/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [ "vector-bounds-not-specified" ]

  sdk_category = "internal"

  sources = [
    "flatland.fidl",
    "snapshot.fidl",
  ]

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