# 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")
import("//build/package.gni")

package("mediaplayer_examples") {
  deps = [
    "audio_player",
    "audio_player_rust",
  ]

  binaries = [
    {
      name = "audio_player"
      shell = true
    },
    {
      name = "rust_crates/audio_player_rust"
      dest = "audio_player_rust"
      shell = true
    },
  ]
}
