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

rustc_binary("bin") {
  name = "ermine_ctl"
  edition = "2018"
  deps = [
    "//garnet/public/fidl/fuchsia.developer.tiles:fuchsia.developer.tiles-rustc",
    "//garnet/public/lib/fidl/rust/fidl",
    "//garnet/public/rust/fuchsia-app",
    "//garnet/public/rust/fuchsia-async",
    "//third_party/rust-crates/rustc_deps:failure",
    "//third_party/rust-crates/rustc_deps:futures-preview",
    "//third_party/rust-crates/rustc_deps:itertools",
    "//third_party/rust-crates/rustc_deps:structopt",
  ]
}

package("ermine_ctl") {
  deprecated_system_image = true

  deps = [
    ":bin",
  ]

  binaries = [
    {
      name = "ermine_ctl"
    },
  ]
}
