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

executable("bin") {
  output_name = "network_loader"

  sources = [
    "main.cc",
  ]

  deps = [
    "//garnet/public/lib/component/cpp",
    "//garnet/public/fidl/fuchsia.sys",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//garnet/public/fidl/fuchsia.net.oldhttp",
    "//zircon/public/lib/async-loop-cpp",
  ]
}

package("network_loader") {
  meta = [
    {
      path = "meta/network_loader.cmx"
      dest = "network_loader.cmx"
    },
  ]

  deps = [
    ":bin",
  ]

  binary = "network_loader"
}
