# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//third_party/abseil-cpp/absl.gni")

absl_source_set("civil_time") {
  sources = [ "src/civil_time_detail.cc" ]
  public = [
    "include/cctz/civil_time.h",
    "include/cctz/civil_time_detail.h",
  ]
  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
}

absl_source_set("time_zone") {
  sources = [
    "src/time_zone_fixed.cc",
    "src/time_zone_fixed.h",
    "src/time_zone_format.cc",
    "src/time_zone_if.cc",
    "src/time_zone_if.h",
    "src/time_zone_impl.cc",
    "src/time_zone_impl.h",
    "src/time_zone_info.cc",
    "src/time_zone_info.h",
    "src/time_zone_libc.cc",
    "src/time_zone_libc.h",
    "src/time_zone_lookup.cc",
    "src/time_zone_posix.cc",
    "src/time_zone_posix.h",
    "src/tzfile.h",
    "src/zone_info_source.cc",
  ]
  public = [
    "include/cctz/time_zone.h",
    "include/cctz/zone_info_source.h",
  ]
  defines = []
  if (is_apple) {
    frameworks = [ "Foundation.framework" ]

    # Work-around for https://github.com/llvm/llvm-project/issues/117630
    defines += [ "_XOPEN_SOURCE=700" ]
  }
  deps = [
    ":civil_time",
    "//third_party/abseil-cpp/absl/base:config",
  ]
  if (is_fuchsia) {
    deps += [
      "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.intl:fuchsia.intl_hlcpp",
      "//third_party/fuchsia-sdk/sdk/pkg/async",
      "//third_party/fuchsia-sdk/sdk/pkg/async-loop-cpp",
      "//third_party/fuchsia-sdk/sdk/pkg/sys_cpp",
      "//third_party/fuchsia-sdk/sdk/pkg/zx",
    ]
  }
}
