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

rustc_binary("virtio_rng_test_util") {
  name = "virtio_rng_test_util"
  edition = "2021"
  configs += [ "//src/virtualization/tests:guest_test_util" ]
  disable_rbe = true

  if (is_fuchsia) {
    deps = [
      "//src/lib/fdio/rust:fdio",
      "//src/lib/fuchsia-async",
      "//src/lib/zircon/rust:fuchsia-zircon",
      "//third_party/rust_crates:anyhow",
      "//third_party/rust_crates:libc",
      "//third_party/rust_crates:thiserror",
    ]

    source_root = "src/fuchsia_main.rs"
    sources = [ "src/fuchsia_main.rs" ]
  } else if (is_linux) {
    source_root = "src/linux_main.rs"
    sources = [ "src/linux_main.rs" ]
  }
}
