# 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")



source_set("lib") {
  sources = [
    "service.cc",
    "service.h"
  ]

  public_deps = [
    "//garnet/bin/network_time:lib",
    "//garnet/public/fidl/fuchsia.timezone",
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fxl",
    "//garnet/public/lib/syslog/cpp",
    "//zircon/public/lib/async-loop-cpp",
    
  ]
}

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

  sources = [
    "main.cc"
  ]

  deps = [
    ":lib",
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//zircon/public/lib/async-default",
    "//zircon/public/lib/async-loop-cpp",
  ]
}

package("network_time_service") {

  deps = [
    ":bin",
  ]

  resources = [
    {
      path = rebase_path("roughtime-servers.json")
      dest = "roughtime-servers.json"
    },
  ]

  binary = "network_time_service"

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