# 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/rust/rustc_binary.gni")
import("//build/package.gni")

rustc_binary("bin") {
  name = "dhcpd"
  edition = "2018"

  deps = [
    "//garnet/lib/rust/dhcp",
    "//garnet/public/rust/fuchsia-async",
    "//garnet/public/rust/fuchsia-syslog",
    "//garnet/public/rust/fuchsia-zircon",
    "//third_party/rust-crates/rustc_deps:failure",
    "//third_party/rust-crates/rustc_deps:futures-preview",
    "//third_party/rust-crates/rustc_deps:getopts",
  ]
}

package("dhcpd") {
  deps = [
    ":bin",
  ]
  meta = [
      {
        path = rebase_path("meta/dhcpd.cmx")
        dest = "dhcpd.cmx"
      }
  ]
  resources = [
    {
      path = rebase_path("data/test_server_config.json")
      dest = "config.json"
    }
  ]
  binary = "rust_crates/dhcpd"
}

