# Copyright 2024 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("main") {
    deps = [ "//tools/fidl/lib/fidlgen_cpp" ]
    sources = [ "main.go" ]
  }

  go_binary("debugdump") {
    library = ":main"
  }

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

group("tests") {
  testonly = true
  deps = []
}
