# Copyright 2020 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/go_test.gni")

go_library("main") {
  source_dir = "cmd"
  deps = [
    "//third_party/golibs:go.uber.org/multierr",
    "//tools/sdk-tools/sdkcommon",
  ]
  sources = [
    "fconfig.go",
    "fconfig_test.go",
  ]
}

go_binary("fconfig") {
  gopackage = "go.fuchsia.dev/fuchsia/tools/sdk-tools/fconfig/cmd"
  deps = [ ":main" ]
}

go_test("fconfig-test") {
  gopackages = [ "go.fuchsia.dev/fuchsia/tools/sdk-tools/fconfig/cmd" ]
  deps = [ ":main" ]
}

install_host_tools("fconfig-host") {
  deps = [
    ":fconfig",
    "//tools/sdk-tools/sdkcommon:host-tool-deps",
  ]
  outputs = [ "fconfig" ]
}

sdk_host_tool("fconfig_sdk") {
  category = "partner"
  output_name = "fconfig"
  deps = [ ":fconfig" ]
}
