# 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.sysmem") {
  library_name = "sysmem"
  namespace = "fuchsia"
  public_deps = [
  ]
  sources = [
    "allocator.fidl",
    "collection.fidl",
    "collections_deprecated.fidl",
    "constraints.fidl",
    "driver_connector.fidl",
    "format_modifier.fidl",
    "formats_deprecated.fidl",
    "heap.fidl",
    "image_formats.fidl",
    "image_formats_deprecated.fidl",
    "secure_mem.fidl",
    "usages.fidl",
  ]
}

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