blob: 9ab2adb886668c8301e7560cd91f5d7e299fa4be [file] [log] [blame]
mistergc2e75482017-09-19 16:54:40 -04001#
2# Copyright 2017 The Abseil Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
nik727338b70432019-03-08 10:27:53 -05008# https://www.apache.org/licenses/LICENSE-2.0
mistergc2e75482017-09-19 16:54:40 -04009#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
Yannic36910d32019-08-16 14:38:13 +000017load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
mistergc2e75482017-09-19 16:54:40 -040018load(
Abseil Team284378a2018-12-05 12:37:41 -080019 "//absl:copts/configure_copts.bzl",
mistergc2e75482017-09-19 16:54:40 -040020 "ABSL_DEFAULT_COPTS",
Abseil Team5b65c4a2019-03-27 08:05:41 -070021 "ABSL_DEFAULT_LINKOPTS",
mistergc2e75482017-09-19 16:54:40 -040022 "ABSL_TEST_COPTS",
23)
mistergc2e75482017-09-19 16:54:40 -040024
25package(default_visibility = ["//visibility:public"])
26
27licenses(["notice"]) # Apache 2.0
28
29cc_library(
30 name = "time",
31 srcs = [
Abseil Teamf340f772018-10-10 12:31:37 -070032 "civil_time.cc",
mistergc2e75482017-09-19 16:54:40 -040033 "clock.cc",
34 "duration.cc",
35 "format.cc",
Abseil Team8f96be62018-08-02 10:08:43 -070036 "internal/get_current_time_chrono.inc",
mistergc2e75482017-09-19 16:54:40 -040037 "internal/get_current_time_posix.inc",
mistergc2e75482017-09-19 16:54:40 -040038 "time.cc",
39 ],
40 hdrs = [
Abseil Teamf340f772018-10-10 12:31:37 -070041 "civil_time.h",
mistergc2e75482017-09-19 16:54:40 -040042 "clock.h",
43 "time.h",
44 ],
45 copts = ABSL_DEFAULT_COPTS,
Abseil Team5b65c4a2019-03-27 08:05:41 -070046 linkopts = ABSL_DEFAULT_LINKOPTS,
mistergc2e75482017-09-19 16:54:40 -040047 deps = [
48 "//absl/base",
49 "//absl/base:core_headers",
Abseil Teamd9aa92d2019-08-13 10:20:16 -070050 "//absl/base:raw_logging_internal",
mistergc2e75482017-09-19 16:54:40 -040051 "//absl/numeric:int128",
Abseil Teambd40a412018-06-18 13:18:53 -070052 "//absl/strings",
Abseil Teamaf788262018-04-23 08:17:58 -070053 "//absl/time/internal/cctz:civil_time",
54 "//absl/time/internal/cctz:time_zone",
mistergc2e75482017-09-19 16:54:40 -040055 ],
56)
57
58cc_library(
59 name = "test_util",
Abseil Team96136782018-04-30 11:44:26 -070060 testonly = 1,
mistergc2e75482017-09-19 16:54:40 -040061 srcs = [
62 "internal/test_util.cc",
63 "internal/zoneinfo.inc",
64 ],
65 hdrs = ["internal/test_util.h"],
66 copts = ABSL_DEFAULT_COPTS,
Abseil Team5b65c4a2019-03-27 08:05:41 -070067 linkopts = ABSL_DEFAULT_LINKOPTS,
Abseil Team6de53812017-10-13 10:21:40 -070068 visibility = [
69 "//absl/time:__pkg__",
70 ],
mistergc2e75482017-09-19 16:54:40 -040071 deps = [
72 ":time",
Abseil Teamd9aa92d2019-08-13 10:20:16 -070073 "//absl/base:raw_logging_internal",
Abseil Teamaf788262018-04-23 08:17:58 -070074 "//absl/time/internal/cctz:time_zone",
Abseil Team96136782018-04-30 11:44:26 -070075 "@com_google_googletest//:gtest",
mistergc2e75482017-09-19 16:54:40 -040076 ],
77)
78
79cc_test(
80 name = "time_test",
81 srcs = [
Abseil Teamf340f772018-10-10 12:31:37 -070082 "civil_time_test.cc",
mistergc2e75482017-09-19 16:54:40 -040083 "clock_test.cc",
84 "duration_test.cc",
85 "format_test.cc",
mistergc2e75482017-09-19 16:54:40 -040086 "time_test.cc",
87 "time_zone_test.cc",
88 ],
89 copts = ABSL_TEST_COPTS,
Abseil Team5b65c4a2019-03-27 08:05:41 -070090 linkopts = ABSL_DEFAULT_LINKOPTS,
mistergc2e75482017-09-19 16:54:40 -040091 deps = [
92 ":test_util",
93 ":time",
mistergc2e75482017-09-19 16:54:40 -040094 "//absl/base:config",
95 "//absl/base:core_headers",
Abseil Teama4b757b2019-12-02 10:41:53 -080096 "//absl/numeric:int128",
Abseil Teamaf788262018-04-23 08:17:58 -070097 "//absl/time/internal/cctz:time_zone",
mistergc2e75482017-09-19 16:54:40 -040098 "@com_google_googletest//:gtest_main",
mistergc2e75482017-09-19 16:54:40 -040099 ],
100)
Abseil Team92020a02018-06-08 08:14:48 -0700101
102cc_test(
103 name = "time_benchmark",
104 srcs = [
Abseil Teamf340f772018-10-10 12:31:37 -0700105 "civil_time_benchmark.cc",
Abseil Team92020a02018-06-08 08:14:48 -0700106 "clock_benchmark.cc",
107 "duration_benchmark.cc",
108 "format_benchmark.cc",
109 "time_benchmark.cc",
110 ],
111 copts = ABSL_TEST_COPTS,
Abseil Team5b65c4a2019-03-27 08:05:41 -0700112 linkopts = ABSL_DEFAULT_LINKOPTS,
Abseil Team92020a02018-06-08 08:14:48 -0700113 tags = [
114 "benchmark",
115 ],
116 deps = [
117 ":test_util",
118 ":time",
119 "//absl/base",
Abseil Teamfebc5ee2019-03-06 11:36:55 -0800120 "//absl/base:core_headers",
Abseil Team13327de2018-11-27 14:21:25 -0800121 "//absl/hash",
Abseil Team92020a02018-06-08 08:14:48 -0700122 "@com_github_google_benchmark//:benchmark_main",
123 ],
124)