# 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.media.drm") {
  library_name = "drm"
  namespace = "fuchsia.media"
  public_deps = [
    "../fuchsia.io",
    "../fuchsia.media",
    "../fuchsia.mem",
    "../fuchsia.url",
  ]
  sources = [
    "content_decryption.fidl",
    "error.fidl",
    "license_session.fidl",
    "provisioning.fidl",
    "services.fidl",
    "types.fidl",
  ]
}

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