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

if (is_host) {
  go_library("gopkg") {
    sources = [ "main.go" ]
    deps = [
      "//tools/fidl/lib/fidlgen",
      "//tools/fidl/lib/summarize:gopkg",
    ]
  }

  go_binary("fidl_api_summarize") {
    library = ":gopkg"
  }
}  # is_host

install_host_tools("host") {
  deps = [ ":fidl_api_summarize" ]
  outputs = [ "fidl_api_summarize" ]
}

group("tests") {
  testonly = true
  deps = [ "//tools/fidl/lib/summarize:tests" ]
}
