# 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/*",
    "//third_party/googletest:gtest",
  ]
} else {
  visibility = [ "*" ]
}

source_set("time") {
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [
    "//build/config/compiler:no_chromium_code",
    "//third_party/abseil-cpp:absl_default_cflags_cc",
  ]
  public_configs = [ "//third_party/abseil-cpp:absl_include_config" ]
  sources = [
    "clock.cc",
    "duration.cc",
    "format.cc",
    "internal/get_current_time_ios.inc",
    "internal/get_current_time_posix.inc",
    "internal/get_current_time_windows.inc",
    "time.cc",
  ]
  public = [
    "clock.h",
    "time.h",
  ]
  deps = [
    "../base",
    "../base:core_headers",
    "../numeric:int128",
    "../strings",
    "../time/internal/cctz:civil_time",
    "../time/internal/cctz:time_zone",
  ]
}

source_set("test_util") {
  testonly = true
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [
    "//build/config/compiler:no_chromium_code",
    "//third_party/abseil-cpp:absl_default_cflags_cc",
  ]
  public_configs = [ "//third_party/abseil-cpp:absl_include_config" ]
  sources = [
    "internal/test_util.cc",
    "internal/zoneinfo.inc",
  ]
  public = [
    "internal/test_util.h",
  ]
  deps = [
    ":time",
    "../base",
    "../time/internal/cctz:time_zone",
    "//testing/gtest",
    "//testing/gmock",
  ]
  visibility = []
  visibility += [ "../time:*" ]
}
