# 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_client"
  sources = [ "main.cc" ]

  # [START deps]
  deps = [
    "//examples/fidl/fuchsia.examples:fuchsia.examples_llcpp",
    "//sdk/lib/fdio",
    "//zircon/public/lib/fidl",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
  ]

  # [END deps]
}

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

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