• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
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#
8#      https://www.apache.org/licenses/LICENSE-2.0
9#
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
16load(
17    "//absl:copts/configure_copts.bzl",
18    "ABSL_DEFAULT_COPTS",
19    "ABSL_DEFAULT_LINKOPTS",
20    "ABSL_TEST_COPTS",
21)
22
23package(default_visibility = ["//visibility:public"])
24
25licenses(["notice"])
26
27cc_library(
28    name = "any",
29    hdrs = ["any.h"],
30    copts = ABSL_DEFAULT_COPTS,
31    linkopts = ABSL_DEFAULT_LINKOPTS,
32    deps = [
33        ":bad_any_cast",
34        "//absl/base:config",
35        "//absl/base:core_headers",
36        "//absl/base:fast_type_id",
37        "//absl/meta:type_traits",
38        "//absl/utility",
39    ],
40)
41
42cc_library(
43    name = "bad_any_cast",
44    hdrs = ["bad_any_cast.h"],
45    copts = ABSL_DEFAULT_COPTS,
46    linkopts = ABSL_DEFAULT_LINKOPTS,
47    deps = [
48        ":bad_any_cast_impl",
49        "//absl/base:config",
50    ],
51)
52
53cc_library(
54    name = "bad_any_cast_impl",
55    srcs = [
56        "bad_any_cast.cc",
57        "bad_any_cast.h",
58    ],
59    copts = ABSL_DEFAULT_COPTS,
60    linkopts = ABSL_DEFAULT_LINKOPTS,
61    visibility = ["//visibility:private"],
62    deps = [
63        "//absl/base:config",
64        "//absl/base:raw_logging_internal",
65    ],
66)
67
68cc_test(
69    name = "any_test",
70    size = "small",
71    srcs = [
72        "any_test.cc",
73    ],
74    copts = ABSL_TEST_COPTS,
75    linkopts = ABSL_DEFAULT_LINKOPTS,
76    deps = [
77        ":any",
78        "//absl/base:config",
79        "//absl/base:exception_testing",
80        "//absl/base:raw_logging_internal",
81        "//absl/container:test_instance_tracker",
82        "@com_google_googletest//:gtest_main",
83    ],
84)
85
86cc_test(
87    name = "any_exception_safety_test",
88    srcs = ["any_exception_safety_test.cc"],
89    copts = ABSL_TEST_COPTS,
90    linkopts = ABSL_DEFAULT_LINKOPTS,
91    deps = [
92        ":any",
93        "//absl/base:config",
94        "//absl/base:exception_safety_testing",
95        "@com_google_googletest//:gtest_main",
96    ],
97)
98
99cc_library(
100    name = "span",
101    srcs = [
102        "internal/span.h",
103    ],
104    hdrs = [
105        "span.h",
106    ],
107    copts = ABSL_DEFAULT_COPTS,
108    linkopts = ABSL_DEFAULT_LINKOPTS,
109    deps = [
110        "//absl/algorithm",
111        "//absl/base:core_headers",
112        "//absl/base:throw_delegate",
113        "//absl/meta:type_traits",
114    ],
115)
116
117cc_test(
118    name = "span_test",
119    size = "small",
120    srcs = ["span_test.cc"],
121    copts = ABSL_TEST_COPTS,
122    linkopts = ABSL_DEFAULT_LINKOPTS,
123    deps = [
124        ":span",
125        "//absl/base:config",
126        "//absl/base:core_headers",
127        "//absl/base:exception_testing",
128        "//absl/container:fixed_array",
129        "//absl/container:inlined_vector",
130        "//absl/hash:hash_testing",
131        "//absl/strings",
132        "@com_google_googletest//:gtest_main",
133    ],
134)
135
136cc_library(
137    name = "optional",
138    srcs = ["internal/optional.h"],
139    hdrs = ["optional.h"],
140    copts = ABSL_DEFAULT_COPTS,
141    linkopts = ABSL_DEFAULT_LINKOPTS,
142    deps = [
143        ":bad_optional_access",
144        "//absl/base:base_internal",
145        "//absl/base:config",
146        "//absl/base:core_headers",
147        "//absl/memory",
148        "//absl/meta:type_traits",
149        "//absl/utility",
150    ],
151)
152
153cc_library(
154    name = "bad_optional_access",
155    srcs = ["bad_optional_access.cc"],
156    hdrs = ["bad_optional_access.h"],
157    copts = ABSL_DEFAULT_COPTS,
158    linkopts = ABSL_DEFAULT_LINKOPTS,
159    deps = [
160        "//absl/base:config",
161        "//absl/base:raw_logging_internal",
162    ],
163)
164
165cc_library(
166    name = "bad_variant_access",
167    srcs = ["bad_variant_access.cc"],
168    hdrs = ["bad_variant_access.h"],
169    copts = ABSL_DEFAULT_COPTS,
170    linkopts = ABSL_DEFAULT_LINKOPTS,
171    deps = [
172        "//absl/base:config",
173        "//absl/base:raw_logging_internal",
174    ],
175)
176
177cc_test(
178    name = "optional_test",
179    size = "small",
180    srcs = [
181        "optional_test.cc",
182    ],
183    copts = ABSL_TEST_COPTS,
184    linkopts = ABSL_DEFAULT_LINKOPTS,
185    deps = [
186        ":optional",
187        "//absl/base:config",
188        "//absl/base:raw_logging_internal",
189        "//absl/meta:type_traits",
190        "//absl/strings",
191        "@com_google_googletest//:gtest_main",
192    ],
193)
194
195cc_test(
196    name = "optional_exception_safety_test",
197    srcs = [
198        "optional_exception_safety_test.cc",
199    ],
200    copts = ABSL_TEST_COPTS,
201    linkopts = ABSL_DEFAULT_LINKOPTS,
202    deps = [
203        ":optional",
204        "//absl/base:config",
205        "//absl/base:exception_safety_testing",
206        "@com_google_googletest//:gtest_main",
207    ],
208)
209
210cc_library(
211    name = "conformance_testing",
212    testonly = 1,
213    hdrs = [
214        "internal/conformance_aliases.h",
215        "internal/conformance_archetype.h",
216        "internal/conformance_profile.h",
217        "internal/conformance_testing.h",
218        "internal/conformance_testing_helpers.h",
219        "internal/parentheses.h",
220        "internal/transform_args.h",
221    ],
222    copts = ABSL_TEST_COPTS,
223    linkopts = ABSL_DEFAULT_LINKOPTS,
224    deps = [
225        "//absl/algorithm:container",
226        "//absl/meta:type_traits",
227        "//absl/strings",
228        "//absl/utility",
229        "@com_google_googletest//:gtest",
230    ],
231)
232
233cc_test(
234    name = "conformance_testing_test",
235    size = "small",
236    srcs = [
237        "internal/conformance_testing_test.cc",
238    ],
239    copts = ABSL_TEST_COPTS,
240    linkopts = ABSL_DEFAULT_LINKOPTS,
241    deps = [
242        ":conformance_testing",
243        "//absl/meta:type_traits",
244        "@com_google_googletest//:gtest_main",
245    ],
246)
247
248cc_library(
249    name = "variant",
250    srcs = ["internal/variant.h"],
251    hdrs = ["variant.h"],
252    copts = ABSL_DEFAULT_COPTS,
253    linkopts = ABSL_DEFAULT_LINKOPTS,
254    deps = [
255        ":bad_variant_access",
256        "//absl/base:base_internal",
257        "//absl/base:config",
258        "//absl/base:core_headers",
259        "//absl/meta:type_traits",
260        "//absl/utility",
261    ],
262)
263
264cc_test(
265    name = "variant_test",
266    size = "small",
267    srcs = ["variant_test.cc"],
268    copts = ABSL_TEST_COPTS,
269    linkopts = ABSL_DEFAULT_LINKOPTS,
270    deps = [
271        ":variant",
272        "//absl/base:config",
273        "//absl/base:core_headers",
274        "//absl/memory",
275        "//absl/meta:type_traits",
276        "//absl/strings",
277        "@com_google_googletest//:gtest_main",
278    ],
279)
280
281cc_test(
282    name = "variant_benchmark",
283    srcs = [
284        "variant_benchmark.cc",
285    ],
286    copts = ABSL_TEST_COPTS,
287    linkopts = ABSL_DEFAULT_LINKOPTS,
288    tags = ["benchmark"],
289    deps = [
290        ":variant",
291        "//absl/utility",
292        "@com_github_google_benchmark//:benchmark_main",
293    ],
294)
295
296cc_test(
297    name = "variant_exception_safety_test",
298    size = "small",
299    srcs = [
300        "variant_exception_safety_test.cc",
301    ],
302    copts = ABSL_TEST_COPTS,
303    linkopts = ABSL_DEFAULT_LINKOPTS,
304    deps = [
305        ":variant",
306        "//absl/base:config",
307        "//absl/base:exception_safety_testing",
308        "//absl/memory",
309        "@com_google_googletest//:gtest_main",
310    ],
311)
312
313cc_library(
314    name = "compare",
315    hdrs = ["compare.h"],
316    copts = ABSL_DEFAULT_COPTS,
317    linkopts = ABSL_DEFAULT_LINKOPTS,
318    deps = [
319        "//absl/base:core_headers",
320        "//absl/meta:type_traits",
321    ],
322)
323
324cc_test(
325    name = "compare_test",
326    size = "small",
327    srcs = [
328        "compare_test.cc",
329    ],
330    copts = ABSL_TEST_COPTS,
331    deps = [
332        ":compare",
333        "//absl/base",
334        "@com_google_googletest//:gtest_main",
335    ],
336)
337