# Copyright 2019 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("tz_version_parrot_bin") {
  output_name = "tz_version_parrot"

  sources = [
    "main.cc",
  ]

  deps = [
    "//sdk/lib/sys/cpp",
    "//src/lib/files",
    "//src/lib/icu_data/cpp",
    "//third_party/icu",
  ]
}

package("tz_version_parrot") {
  deps = [
    ":tz_version_parrot_bin",
  ]

  binaries = [
    {
      name = "tz_version_parrot"
    },
  ]

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

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