# 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("echo2_client_rust_bin") {
  name = "echo2_client_rust"
  edition = "2018"

  deps = [
    "//garnet/examples/fidl/services:echo2-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:failure",
    "//third_party/rust-crates/rustc_deps:structopt",
  ]
}

package("echo2_client_rust") {
  deps = [
    ":echo2_client_rust_bin"
  ]

  binary = "rust_crates/echo2_client_rust"

  meta = [
    {
      path = rebase_path("../meta/echo2_client.cmx")
      dest = "echo2_client_rust.cmx"
    },
  ]
}
