# 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_library.gni")

template("golib") {
  go_library(target_name) {
    name = target_name
    source_dir = "//third_party/golibs/vendor/$name"
    forward_variables_from(invoker, [ "deps" ])
    no_sources = true
  }
}

# TODO(https://fxbug.dev/70570): Remove this when we're on protoc 3.14.0 or higher.
golib("github.com/golang/protobuf") {
  deps = [ ":google.golang.org/protobuf" ]
}

golib("gopkg.in/yaml.v2") {
}

golib("github.com/golang/glog") {
}

golib("github.com/google/go-cmp") {
}

golib("gonum.org/v1/gonum") {
}

golib("google.golang.org/protobuf") {
}
