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

rustc_binary("bin") {
  name = "wlantool2"
  with_unit_tests = true
  edition = "2018"

  deps = [
    "//garnet/lib/rust/wlan-common",
    "//garnet/lib/wlan/fidl:fidl-rustc",
    "//garnet/lib/wlan/fidl:service-rustc",
    "//garnet/lib/wlan/fidl:sme-rustc",
    "//garnet/public/fidl/fuchsia.wlan.common:fuchsia.wlan.common-rustc",
    "//garnet/public/fidl/fuchsia.wlan.minstrel:fuchsia.wlan.minstrel-rustc",
    "//garnet/public/lib/fidl/rust/fidl",
    "//garnet/public/rust/fuchsia-app",
    "//garnet/public/rust/fuchsia-async",
    "//garnet/public/rust/fuchsia-zircon",
    "//third_party/rust-crates/rustc_deps:clap",
    "//third_party/rust-crates/rustc_deps:failure",
    "//third_party/rust-crates/rustc_deps:futures-preview",
    "//third_party/rust-crates/rustc_deps:structopt",
  ]
}

package("wlantool2") {
  deprecated_system_image = true

  deps = [
    ":bin",
  ]

  binaries = [
    {
      name = "rust_crates/wlantool2"
      dest = "wlantool2"
    },
  ]
}

package("wlantool2-tests") {
  testonly = true

  deps = [
    ":bin",
  ]

  tests = [
    {
      name = "wlantool2_bin_test"
    },
  ]
}
