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

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

  public_deps = [
    "//sdk/fidl/fuchsia.deprecatedtimezone",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/sys/inspect/cpp",
    "//src/lib/fsl",
    "//src/lib/fxl",
    "//third_party/icu",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/async-loop-default",
  ]
}

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

  sources = [ "main.cc" ]

  deps = [
    ":lib",
    "//sdk/fidl/fuchsia.deprecatedtimezone",
    "//sdk/lib/sys/cpp",
    "//src/lib/fxl",
    "//zircon/public/lib/async-default",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/async-loop-default",
  ]
}

package("timezone") {
  deps = [ ":bin" ]

  binary = "timezone"

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

  resources = [
    {
      path = rebase_path("//third_party/icu/common/icudtl.dat")
      dest = "icudtl.dat"
    },
  ]
}
