# 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/package.gni")

executable("bin") {
  output_name = "sshd-host"

  sources = [
    "sshd-host.cc",
  ]

  deps = [
    "//garnet/lib/chrealm",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/fdio",
    "//zircon/public/lib/zx",
  ]
}

package("sshd-host") {
  deps = [
    ":bin",
    "//third_party/openssh-portable:hostkeygen",
    "//third_party/openssh-portable:scp",
    "//third_party/openssh-portable:sftp-server",
    "//third_party/openssh-portable:sshd",
  ]

  binaries = [
    { name = "sshd-host" },
    { name = "hostkeygen" },
    { name = "scp" },
    { name = "sftp-server" },
    { name = "sshd" },
  ]

  meta = [
    {
      path = rebase_path("meta/sshd-host.cmx")
      dest = "sshd-host.cmx"
    },
  ]

  resources = [ {
        path = rebase_path("//third_party/openssh-portable/fuchsia/sshd_config")
        dest = "ssh/sshd_config"
      } ]
}
