# 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",
    "//garnet/public/lib/fxl",
  ]
}

package("far") {
  deprecated_system_image = true

  deps = [
    ":bin",
  ]

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

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