# 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.
#
# Generated file. DO NOT EDIT.

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

absl_source_set("time") {
  sources = [
    "civil_time.cc",
    "clock.cc",
    "duration.cc",
    "format.cc",
    "internal/get_current_time_chrono.inc",
    "internal/get_current_time_posix.inc",
    "time.cc",
  ]
  public = [
    "civil_time.h",
    "clock.h",
    "time.h",
  ]
  deps = [
    "//third_party/abseil-cpp/absl/base",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/numeric:int128",
    "//third_party/abseil-cpp/absl/strings",
    "//third_party/abseil-cpp/absl/strings:string_view",
    "//third_party/abseil-cpp/absl/time/internal/cctz:civil_time",
    "//third_party/abseil-cpp/absl/time/internal/cctz:time_zone",
    "//third_party/abseil-cpp/absl/types:optional",
  ]
}

absl_source_set("clock_interface") {
  sources = [ "clock_interface.cc" ]
  public = [ "clock_interface.h" ]
  deps = [
    ":time",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:no_destructor",
    "//third_party/abseil-cpp/absl/base:nullability",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/synchronization",
  ]
}

absl_source_set("simulated_clock") {
  testonly = true
  sources = [ "simulated_clock.cc" ]
  public = [ "simulated_clock.h" ]
  deps = [
    ":clock_interface",
    ":time",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:nullability",
    "//third_party/abseil-cpp/absl/synchronization",
  ]
}

absl_source_set("test_util") {
  testonly = true
  sources = [ "internal/test_util.cc" ]
  public = [ "internal/test_util.h" ]
  visibility = [ ":*" ]
  deps = [
    ":time",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
  ]
}

absl_test("time_test") {
  sources = [
    "civil_time_test.cc",
    "clock_test.cc",
    "duration_test.cc",
    "format_test.cc",
    "time_test.cc",
    "time_zone_test.cc",
  ]
  deps = [
    ":test_util",
    ":time",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/hash:hash_testing",
    "//third_party/abseil-cpp/absl/numeric:int128",
    "//third_party/abseil-cpp/absl/random",
    "//third_party/abseil-cpp/absl/strings",
    "//third_party/abseil-cpp/absl/strings:str_format",
    "//third_party/abseil-cpp/absl/time/internal/cctz:time_zone",
  ]
}

absl_test("clock_interface_test") {
  sources = [ "clock_interface_test.cc" ]
  deps = [
    ":clock_interface",
    ":time",
    "//third_party/abseil-cpp/absl/functional:bind_front",
    "//third_party/abseil-cpp/absl/synchronization",
  ]
}

absl_test("simulated_clock_test") {
  sources = [ "simulated_clock_test.cc" ]
  deps = [
    ":clock_interface",
    ":simulated_clock",
    ":time",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/functional:bind_front",
    "//third_party/abseil-cpp/absl/random",
    "//third_party/abseil-cpp/absl/synchronization",
  ]
}

absl_test("flag_test") {
  sources = [ "flag_test.cc" ]
  deps = [
    ":time",
    "//third_party/abseil-cpp/absl/flags:flag",
    "//third_party/abseil-cpp/absl/flags:reflection",
  ]
}
