# Copyright 2019 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/package.gni")

executable("bin") {
  output_name = "echo_client_llcpp"

  sources = [ "echo_client.cc" ]

  deps = [
    "//garnet/examples/fidl/services:echo_llcpp",
    "//sdk/lib/sys/cpp",
    "//zircon/public/lib/async-default",
    "//zircon/public/lib/async-loop",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/async-loop-default",
    "//zircon/public/lib/async-loop-default",
    "//zircon/public/lib/fidl-async-cpp",
  ]
}

package("echo_client_llcpp") {
  deps = [ ":bin" ]

  binary = "echo_client_llcpp"

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