# Copyright 2018 The Chromium 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("//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",
  ]
  if (is_apple) {
    frameworks = [ "Foundation.framework" ]
  }
  deps = [
    ":civil_time",
    "//third_party/abseil-cpp/absl/base:config",
  ]
}
