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

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

  sources = [ "echo_server.cc" ]

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

resource("echo_server_file") {
  sources = [ "${root_build_dir}/echo_server_llcpp" ]
  outputs = [ "bin/echo_server" ]
  deps = [ ":bin" ]

  # data_deps is necessary to include shared libraries in package.
  data_deps = [ ":bin" ]
}

fuchsia_package_with_single_component("echo_server_llcpp") {
  manifest = "../meta/echo_server.cmx"
  deps = [ ":echo_server_file" ]
}
