# 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",
  ]
}
