# Copyright 2017 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/cpp/sdk_executable.gni")
import("//build/host.gni")
import("//build/package.gni")

sdk_executable("bin") {
  output_name = "far"

  category = "partner"

  sources = [
    "main.cc",
  ]

  deps = [
    "//garnet/lib/far",
    "//src/lib/fxl",
  ]
}

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

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

install_host_tools("host") {
  deps = [
    ":bin",
  ]
  outputs = [
    "far",
  ]
}
