# 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("//src/sys/build/components.gni")

executable("bin") {
  output_name = "fidl_echo_llcpp_service_client"
  sources = [ "main.cc" ]

  deps = [
    "//examples/fidl/fuchsia.examples:fuchsia.examples_llcpp",
    "//sdk/lib/sys/cpp",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
    "//zircon/system/ulib/service:service-llcpp",
  ]
}

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

fuchsia_package("client") {
  package_name = "echo-llcpp-service-client"
  deps = [ ":echo-client" ]
}
