# Copyright 2019 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/package.gni")

go_library("lib") {
  name = "fuchsia.googlesource.com/installblob"
  deps = [
    "//garnet/go/src/merkle",
  ]
}

go_binary("bin") {
  output_name = "installblob"
  gopackage = "fuchsia.googlesource.com/installblob"
  deps = [
    ":lib"
  ]
}

package("installblob") {
  deps = [
    ":bin",
  ]

  binaries = [
    {
      name = "installblob"
      shell = true
    },
  ]
}
