# 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/go/go_binary.gni")
import("//build/go/go_library.gni")
import("//build/go/toolchain.gni")

go_binary("bin") {
  output_name = "fidl_echo_go_server"
  gopackage = "echo_server_go"
  deps = [ ":lib" ]
}

go_library("lib") {
  name = "echo_server_go"
  deps = [
    "//examples/fidl/fuchsia.examples:fuchsia.examples($go_toolchain)",
    "//sdk/fidl/fuchsia.sys($go_toolchain)",
    "//src/lib/component",
  ]
  sources = [ "main.go" ]
}

fuchsia_package_with_single_component("server") {
  package_name = "echo-go-server"
  component_name = "echo-server"
  manifest = "server.cmx"
  deps = [ ":bin" ]
}
