# 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 = "traceutil"

  deps = [
    "//garnet/public/go/third_party:github.com/golang/glog",
    "//garnet/public/go/third_party:github.com/google/subcommands",
    "//garnet/public/go/third_party:github.com/pkg/sftp",
    "//garnet/public/go/third_party:golang.org/x/crypto",
  ]
}

go_binary("bin") {
  output_name = "traceutil"
  gopackage = "traceutil"
  deps = [
    ":lib",
  ]
}

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