# Copyright 2022 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/rust/rustc_binary.gni")

rustc_binary("bin") {
  name = "audio_recording"

  edition = "2021"

  deps = [
    "//sdk/fidl/fuchsia.media:fuchsia.media_rust",
    "//sdk/fidl/fuchsia.virtualaudio:fuchsia.virtualaudio_rust",
    "//src/lib/fdio/rust:fdio",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//src/testing/sl4f/fidl:fuchsia.test.audio.recording_rust",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:async-lock",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:tracing",
  ]
  sources = [
    "src/audio_facade.rs",
    "src/main.rs",
  ]
}
