# 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("//build_overrides/build.gni")

if (build_with_chromium) {
  visibility = [
    "//third_party/webrtc/*",
    "//third_party/abseil-cpp/*",
  ]
} else {
  visibility = [ "*" ]
}

source_set("includes") {
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]
  public_configs = [ "//third_party/abseil-cpp:absl_include_config" ]
  public = [
    "include/cctz/civil_time.h",
    "include/cctz/civil_time_detail.h",
    "include/cctz/time_zone.h",
  ]
  visibility = []
  visibility += [ "../time:*" ]
}

source_set("civil_time") {
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]
  public_configs = [ "//third_party/abseil-cpp:absl_include_config" ]
  sources = [
    "src/civil_time_detail.cc",
  ]
  public = [
    "include/cctz/civil_time.h",
    "include/cctz/civil_time_detail.h",
  ]
}

source_set("time_zone") {
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]
  public_configs = [ "//third_party/abseil-cpp:absl_include_config" ]
  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",
  ]
  deps = [
    ":civil_time",
  ]
}
