# Copyright 2018 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/go/toolchain.gni")
import("//build/host.gni")

go_library("fidlgen_dart_lib") {
  name = "fidlgen_dart"

  deps = [
    "//garnet/go/src/fidl:fidl_lib",
  ]
}

go_binary("fidlgen_dart") {
  gopackage = "fidlgen_dart"

  sdk_category = "partner"

  deps = [
    ":fidlgen_dart_lib",
  ]
}

install_host_tools("install") {
  deps = [
    ":fidlgen_dart",
  ]
  outputs = [
    "fidlgen_dart",
  ]
}
