# Copyright 2017 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")
import("//build/package.gni")

go_library("lib") {
  name = "tally"

  deps = [
    "//garnet/public/go/third_party:github.com/dustin/go-humanize",
  ]
}

go_binary("bin") {
  output_name = "traceutil-generate-tally"
  gopackage = "tally"

  deps = [
    ":lib",
  ]
}

install_host_tools("tally") {
  deps = [
    ":bin",
  ]
  outputs = [
    "traceutil-generate-tally",
  ]
}
