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

source_set("timekeeper") {
  sources = [
    "clock.h",
  ]

  public_deps = [
    "//zircon/public/lib/zx",
  ]

  public_configs = [ "//garnet/public:config" ]
}

source_set("system") {
  sources = [
    "system_clock.h",
  ]

  public_deps = [
    ":timekeeper",
    "//zircon/public/lib/zx",
  ]
}

# Deprecated target. Must be replaced by system.
source_set("impl") {
  public_deps = [
    ":system",
  ]
}

source_set("testing") {
  testonly = true

  sources = [
    "async_test_clock.cc",
    "async_test_clock.h",
    "monotonic_test_clock_base.cc",
    "monotonic_test_clock_base.h",
    "test_clock.cc",
    "test_clock.h",
    "test_loop_test_clock.cc",
    "test_loop_test_clock.h",
  ]

  public_deps = [
    ":timekeeper",
    "//zircon/public/lib/async-cpp",
    "//zircon/public/lib/async-testutils",
    "//zircon/public/lib/fit",
  ]
}

source_set("unittests") {
  testonly = true
  sources = [
    "async_test_clock_unittest.cc",
    "system_clock_unittest.cc",
    "test_clock_unittest.cc",
    "test_loop_test_clock_unittest.cc",
  ]

  deps = [
    ":system",
    ":testing",
    "//garnet/public/lib/gtest",
    "//third_party/googletest:gtest",
    "//zircon/public/lib/async-testutils",
  ]
}
