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

rustc_binary("bin") {
  name = "fidl_echo_launcher_rust_client"
  edition = "2018"

  deps = [
    "//examples/fidl/fuchsia.examples:fuchsia.examples-rustc",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
  ]

  sources = [ "src/main.rs" ]
}

fuchsia_component("echo-client") {
  manifest = "client.cmx"
  deps = [ ":bin" ]
}

fuchsia_package("client") {
  package_name = "echo-launcher-rust-client"
  deps = [ ":echo-client" ]
}
