blob: a56620f481931788e8f6b9587524ab48a275d6cb [file] [log] [blame]
Austin Schuhd57edc42019-09-21 17:52:38 -07001#
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#
16
Austin Schuhb640da92020-12-31 12:54:13 -080017load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
Austin Schuhd57edc42019-09-21 17:52:38 -070018load(
19 "//absl:copts/configure_copts.bzl",
20 "ABSL_DEFAULT_COPTS",
21 "ABSL_DEFAULT_LINKOPTS",
22 "ABSL_TEST_COPTS",
23)
24
25package(default_visibility = ["//visibility:public"])
26
Austin Schuhb640da92020-12-31 12:54:13 -080027licenses(["notice"])
Austin Schuhd57edc42019-09-21 17:52:38 -070028
29cc_library(
30 name = "atomic_hook",
31 hdrs = ["internal/atomic_hook.h"],
32 copts = ABSL_DEFAULT_COPTS,
33 linkopts = ABSL_DEFAULT_LINKOPTS,
34 visibility = [
35 "//absl:__subpackages__",
36 ],
Austin Schuhb640da92020-12-31 12:54:13 -080037 deps = [
38 ":config",
39 ":core_headers",
40 ],
41)
42
43cc_library(
44 name = "errno_saver",
45 hdrs = ["internal/errno_saver.h"],
46 copts = ABSL_DEFAULT_COPTS,
47 linkopts = ABSL_DEFAULT_LINKOPTS,
48 visibility = [
49 "//absl:__subpackages__",
50 ],
51 deps = [":config"],
Austin Schuhd57edc42019-09-21 17:52:38 -070052)
53
54cc_library(
55 name = "log_severity",
56 srcs = ["log_severity.cc"],
57 hdrs = ["log_severity.h"],
58 copts = ABSL_DEFAULT_COPTS,
59 linkopts = ABSL_DEFAULT_LINKOPTS,
Austin Schuhb640da92020-12-31 12:54:13 -080060 deps = [
61 ":config",
62 ":core_headers",
63 ],
Austin Schuhd57edc42019-09-21 17:52:38 -070064)
65
66cc_library(
67 name = "raw_logging_internal",
68 srcs = ["internal/raw_logging.cc"],
69 hdrs = ["internal/raw_logging.h"],
70 copts = ABSL_DEFAULT_COPTS,
71 linkopts = ABSL_DEFAULT_LINKOPTS,
72 visibility = [
73 "//absl:__subpackages__",
74 ],
75 deps = [
76 ":atomic_hook",
77 ":config",
78 ":core_headers",
79 ":log_severity",
80 ],
81)
82
83cc_library(
84 name = "spinlock_wait",
85 srcs = [
86 "internal/spinlock_akaros.inc",
87 "internal/spinlock_linux.inc",
88 "internal/spinlock_posix.inc",
89 "internal/spinlock_wait.cc",
90 "internal/spinlock_win32.inc",
91 ],
Austin Schuhb640da92020-12-31 12:54:13 -080092 hdrs = ["internal/spinlock_wait.h"],
Austin Schuhd57edc42019-09-21 17:52:38 -070093 copts = ABSL_DEFAULT_COPTS,
94 linkopts = ABSL_DEFAULT_LINKOPTS,
95 visibility = [
96 "//absl/base:__pkg__",
97 ],
Austin Schuhb640da92020-12-31 12:54:13 -080098 deps = [
99 ":base_internal",
100 ":core_headers",
101 ":errno_saver",
102 ],
Austin Schuhd57edc42019-09-21 17:52:38 -0700103)
104
105cc_library(
106 name = "config",
107 hdrs = [
108 "config.h",
Austin Schuhb640da92020-12-31 12:54:13 -0800109 "options.h",
Austin Schuhd57edc42019-09-21 17:52:38 -0700110 "policy_checks.h",
111 ],
112 copts = ABSL_DEFAULT_COPTS,
113 linkopts = ABSL_DEFAULT_LINKOPTS,
114)
115
116cc_library(
117 name = "dynamic_annotations",
Austin Schuhb640da92020-12-31 12:54:13 -0800118 srcs = [
119 "internal/dynamic_annotations.h",
120 ],
121 hdrs = [
122 "dynamic_annotations.h",
123 ],
Austin Schuhd57edc42019-09-21 17:52:38 -0700124 copts = ABSL_DEFAULT_COPTS,
Austin Schuhd57edc42019-09-21 17:52:38 -0700125 linkopts = ABSL_DEFAULT_LINKOPTS,
Austin Schuhb640da92020-12-31 12:54:13 -0800126 deps = [
127 ":config",
128 ":core_headers",
129 ],
Austin Schuhd57edc42019-09-21 17:52:38 -0700130)
131
132cc_library(
133 name = "core_headers",
134 srcs = [
135 "internal/thread_annotations.h",
136 ],
137 hdrs = [
138 "attributes.h",
139 "const_init.h",
140 "macros.h",
141 "optimization.h",
142 "port.h",
143 "thread_annotations.h",
144 ],
145 copts = ABSL_DEFAULT_COPTS,
146 linkopts = ABSL_DEFAULT_LINKOPTS,
147 deps = [
148 ":config",
149 ],
150)
151
152cc_library(
153 name = "malloc_internal",
154 srcs = [
155 "internal/low_level_alloc.cc",
156 ],
157 hdrs = [
158 "internal/direct_mmap.h",
159 "internal/low_level_alloc.h",
160 ],
161 copts = ABSL_DEFAULT_COPTS,
Austin Schuhb640da92020-12-31 12:54:13 -0800162 linkopts = select({
163 "//absl:windows": [],
164 "//absl:wasm": [],
165 "//conditions:default": [],
166 }) + ABSL_DEFAULT_LINKOPTS,
Austin Schuhd57edc42019-09-21 17:52:38 -0700167 visibility = [
Austin Schuhb640da92020-12-31 12:54:13 -0800168 "//visibility:public",
Austin Schuhd57edc42019-09-21 17:52:38 -0700169 ],
170 deps = [
171 ":base",
Austin Schuhb640da92020-12-31 12:54:13 -0800172 ":base_internal",
Austin Schuhd57edc42019-09-21 17:52:38 -0700173 ":config",
174 ":core_headers",
175 ":dynamic_annotations",
176 ":raw_logging_internal",
Austin Schuhd57edc42019-09-21 17:52:38 -0700177 ],
178)
179
180cc_library(
181 name = "base_internal",
182 hdrs = [
183 "internal/hide_ptr.h",
184 "internal/identity.h",
185 "internal/inline_variable.h",
186 "internal/invoke.h",
187 "internal/scheduling_mode.h",
188 ],
189 copts = ABSL_DEFAULT_COPTS,
190 linkopts = ABSL_DEFAULT_LINKOPTS,
191 visibility = [
192 "//absl:__subpackages__",
193 ],
194 deps = [
Austin Schuhb640da92020-12-31 12:54:13 -0800195 ":config",
Austin Schuhd57edc42019-09-21 17:52:38 -0700196 "//absl/meta:type_traits",
197 ],
198)
199
200cc_library(
201 name = "base",
202 srcs = [
203 "internal/cycleclock.cc",
204 "internal/spinlock.cc",
205 "internal/sysinfo.cc",
206 "internal/thread_identity.cc",
207 "internal/unscaledcycleclock.cc",
208 ],
209 hdrs = [
210 "call_once.h",
211 "casts.h",
212 "internal/cycleclock.h",
213 "internal/low_level_scheduling.h",
214 "internal/per_thread_tls.h",
215 "internal/spinlock.h",
216 "internal/sysinfo.h",
217 "internal/thread_identity.h",
218 "internal/tsan_mutex_interface.h",
219 "internal/unscaledcycleclock.h",
220 ],
221 copts = ABSL_DEFAULT_COPTS,
222 linkopts = select({
Austin Schuhb640da92020-12-31 12:54:13 -0800223 "//absl:windows": [
224 "-DEFAULTLIB:advapi32.lib",
225 ],
226 "//absl:wasm": [],
James Kuszmaul872efd22019-12-03 20:59:09 -0800227 "//conditions:default": [],
Austin Schuhd57edc42019-09-21 17:52:38 -0700228 }) + ABSL_DEFAULT_LINKOPTS,
229 deps = [
230 ":atomic_hook",
231 ":base_internal",
232 ":config",
233 ":core_headers",
234 ":dynamic_annotations",
235 ":log_severity",
236 ":raw_logging_internal",
237 ":spinlock_wait",
238 "//absl/meta:type_traits",
239 ],
240)
241
Austin Schuhb640da92020-12-31 12:54:13 -0800242cc_library(
243 name = "atomic_hook_test_helper",
244 testonly = 1,
245 srcs = ["internal/atomic_hook_test_helper.cc"],
246 hdrs = ["internal/atomic_hook_test_helper.h"],
247 copts = ABSL_DEFAULT_COPTS,
248 linkopts = ABSL_DEFAULT_LINKOPTS,
249 deps = [
250 ":atomic_hook",
251 ":core_headers",
252 ],
253)
254
Austin Schuhd57edc42019-09-21 17:52:38 -0700255cc_test(
256 name = "atomic_hook_test",
257 size = "small",
258 srcs = ["internal/atomic_hook_test.cc"],
259 copts = ABSL_TEST_COPTS,
260 linkopts = ABSL_DEFAULT_LINKOPTS,
261 deps = [
262 ":atomic_hook",
Austin Schuhb640da92020-12-31 12:54:13 -0800263 ":atomic_hook_test_helper",
Austin Schuhd57edc42019-09-21 17:52:38 -0700264 ":core_headers",
265 "@com_google_googletest//:gtest_main",
266 ],
267)
268
269cc_test(
270 name = "bit_cast_test",
271 size = "small",
272 srcs = [
273 "bit_cast_test.cc",
274 ],
275 copts = ABSL_TEST_COPTS,
276 linkopts = ABSL_DEFAULT_LINKOPTS,
277 deps = [
278 ":base",
279 ":core_headers",
280 "@com_google_googletest//:gtest_main",
281 ],
282)
283
284cc_library(
285 name = "throw_delegate",
286 srcs = ["internal/throw_delegate.cc"],
287 hdrs = ["internal/throw_delegate.h"],
288 copts = ABSL_DEFAULT_COPTS,
289 linkopts = ABSL_DEFAULT_LINKOPTS,
290 visibility = [
291 "//absl:__subpackages__",
292 ],
293 deps = [
294 ":config",
295 ":raw_logging_internal",
296 ],
297)
298
299cc_test(
300 name = "throw_delegate_test",
301 srcs = ["throw_delegate_test.cc"],
302 copts = ABSL_TEST_COPTS,
303 linkopts = ABSL_DEFAULT_LINKOPTS,
304 deps = [
305 ":config",
306 ":throw_delegate",
307 "@com_google_googletest//:gtest_main",
308 ],
309)
310
Austin Schuhb640da92020-12-31 12:54:13 -0800311cc_test(
312 name = "errno_saver_test",
313 size = "small",
314 srcs = ["internal/errno_saver_test.cc"],
315 copts = ABSL_TEST_COPTS,
316 linkopts = ABSL_DEFAULT_LINKOPTS,
317 deps = [
318 ":errno_saver",
319 ":strerror",
320 "@com_google_googletest//:gtest_main",
321 ],
322)
323
Austin Schuhd57edc42019-09-21 17:52:38 -0700324cc_library(
325 name = "exception_testing",
326 testonly = 1,
327 hdrs = ["internal/exception_testing.h"],
328 copts = ABSL_TEST_COPTS,
329 linkopts = ABSL_DEFAULT_LINKOPTS,
330 visibility = [
331 "//absl:__subpackages__",
332 ],
333 deps = [
334 ":config",
335 "@com_google_googletest//:gtest",
336 ],
337)
338
339cc_library(
340 name = "pretty_function",
341 hdrs = ["internal/pretty_function.h"],
342 linkopts = ABSL_DEFAULT_LINKOPTS,
343 visibility = ["//absl:__subpackages__"],
344)
345
346cc_library(
347 name = "exception_safety_testing",
348 testonly = 1,
349 srcs = ["internal/exception_safety_testing.cc"],
350 hdrs = ["internal/exception_safety_testing.h"],
351 copts = ABSL_TEST_COPTS,
352 linkopts = ABSL_DEFAULT_LINKOPTS,
353 deps = [
354 ":config",
355 ":pretty_function",
356 "//absl/memory",
357 "//absl/meta:type_traits",
358 "//absl/strings",
359 "//absl/utility",
360 "@com_google_googletest//:gtest",
361 ],
362)
363
364cc_test(
365 name = "exception_safety_testing_test",
366 srcs = ["exception_safety_testing_test.cc"],
367 copts = ABSL_TEST_COPTS,
368 linkopts = ABSL_DEFAULT_LINKOPTS,
369 deps = [
370 ":exception_safety_testing",
371 "//absl/memory",
372 "@com_google_googletest//:gtest_main",
373 ],
374)
375
376cc_test(
377 name = "inline_variable_test",
378 size = "small",
379 srcs = [
380 "inline_variable_test.cc",
381 "inline_variable_test_a.cc",
382 "inline_variable_test_b.cc",
383 "internal/inline_variable_testing.h",
384 ],
385 copts = ABSL_TEST_COPTS,
386 linkopts = ABSL_DEFAULT_LINKOPTS,
387 deps = [
388 ":base_internal",
389 "@com_google_googletest//:gtest_main",
390 ],
391)
392
393cc_test(
394 name = "invoke_test",
395 size = "small",
396 srcs = ["invoke_test.cc"],
397 copts = ABSL_TEST_COPTS,
398 linkopts = ABSL_DEFAULT_LINKOPTS,
399 deps = [
400 ":base_internal",
401 "//absl/memory",
402 "//absl/strings",
403 "@com_google_googletest//:gtest_main",
404 ],
405)
406
407# Common test library made available for use in non-absl code that overrides
408# AbslInternalSpinLockDelay and AbslInternalSpinLockWake.
409cc_library(
410 name = "spinlock_test_common",
411 testonly = 1,
412 srcs = ["spinlock_test_common.cc"],
413 copts = ABSL_TEST_COPTS,
414 linkopts = ABSL_DEFAULT_LINKOPTS,
415 deps = [
416 ":base",
Austin Schuhb640da92020-12-31 12:54:13 -0800417 ":base_internal",
418 ":config",
Austin Schuhd57edc42019-09-21 17:52:38 -0700419 ":core_headers",
Austin Schuhd57edc42019-09-21 17:52:38 -0700420 "//absl/synchronization",
421 "@com_google_googletest//:gtest",
422 ],
423 alwayslink = 1,
424)
425
426cc_test(
427 name = "spinlock_test",
428 size = "medium",
429 srcs = ["spinlock_test_common.cc"],
430 copts = ABSL_TEST_COPTS,
431 linkopts = ABSL_DEFAULT_LINKOPTS,
432 deps = [
433 ":base",
Austin Schuhb640da92020-12-31 12:54:13 -0800434 ":base_internal",
435 ":config",
Austin Schuhd57edc42019-09-21 17:52:38 -0700436 ":core_headers",
Austin Schuhd57edc42019-09-21 17:52:38 -0700437 "//absl/synchronization",
438 "@com_google_googletest//:gtest_main",
439 ],
440)
441
442cc_library(
443 name = "spinlock_benchmark_common",
444 testonly = 1,
445 srcs = ["internal/spinlock_benchmark.cc"],
446 copts = ABSL_TEST_COPTS,
447 linkopts = ABSL_DEFAULT_LINKOPTS,
448 visibility = [
449 "//absl/base:__pkg__",
450 ],
451 deps = [
452 ":base",
453 ":base_internal",
454 ":raw_logging_internal",
455 "//absl/synchronization",
456 "@com_github_google_benchmark//:benchmark_main",
457 ],
458 alwayslink = 1,
459)
460
461cc_binary(
462 name = "spinlock_benchmark",
463 testonly = 1,
464 copts = ABSL_DEFAULT_COPTS,
465 linkopts = ABSL_DEFAULT_LINKOPTS,
Austin Schuhb640da92020-12-31 12:54:13 -0800466 tags = ["benchmark"],
Austin Schuhd57edc42019-09-21 17:52:38 -0700467 visibility = ["//visibility:private"],
468 deps = [
469 ":spinlock_benchmark_common",
470 ],
471)
472
473cc_library(
474 name = "endian",
475 hdrs = [
476 "internal/endian.h",
477 "internal/unaligned_access.h",
478 ],
479 copts = ABSL_DEFAULT_COPTS,
480 linkopts = ABSL_DEFAULT_LINKOPTS,
481 deps = [
482 ":config",
483 ":core_headers",
484 ],
485)
486
487cc_test(
488 name = "endian_test",
489 srcs = ["internal/endian_test.cc"],
490 copts = ABSL_TEST_COPTS,
491 deps = [
492 ":config",
493 ":endian",
494 "@com_google_googletest//:gtest_main",
495 ],
496)
497
498cc_test(
499 name = "config_test",
500 srcs = ["config_test.cc"],
501 copts = ABSL_TEST_COPTS,
502 linkopts = ABSL_DEFAULT_LINKOPTS,
503 deps = [
504 ":config",
505 "//absl/synchronization:thread_pool",
506 "@com_google_googletest//:gtest_main",
507 ],
508)
509
510cc_test(
511 name = "call_once_test",
512 srcs = ["call_once_test.cc"],
513 copts = ABSL_TEST_COPTS,
514 linkopts = ABSL_DEFAULT_LINKOPTS,
515 deps = [
516 ":base",
517 ":core_headers",
518 "//absl/synchronization",
519 "@com_google_googletest//:gtest_main",
520 ],
521)
522
523cc_test(
524 name = "raw_logging_test",
525 srcs = ["raw_logging_test.cc"],
526 copts = ABSL_TEST_COPTS,
527 linkopts = ABSL_DEFAULT_LINKOPTS,
528 deps = [
529 ":raw_logging_internal",
530 "//absl/strings",
531 "@com_google_googletest//:gtest_main",
532 ],
533)
534
535cc_test(
536 name = "sysinfo_test",
537 size = "small",
538 srcs = ["internal/sysinfo_test.cc"],
539 copts = ABSL_TEST_COPTS,
540 linkopts = ABSL_DEFAULT_LINKOPTS,
541 deps = [
542 ":base",
543 "//absl/synchronization",
544 "@com_google_googletest//:gtest_main",
545 ],
546)
547
548cc_test(
549 name = "low_level_alloc_test",
550 size = "medium",
551 srcs = ["internal/low_level_alloc_test.cc"],
552 copts = ABSL_TEST_COPTS,
553 linkopts = ABSL_DEFAULT_LINKOPTS,
Austin Schuhb640da92020-12-31 12:54:13 -0800554 tags = [
555 "no_test_ios_x86_64",
556 ],
557 deps = [
558 ":malloc_internal",
559 "//absl/container:node_hash_map",
560 ],
Austin Schuhd57edc42019-09-21 17:52:38 -0700561)
562
563cc_test(
564 name = "thread_identity_test",
565 size = "small",
566 srcs = ["internal/thread_identity_test.cc"],
567 copts = ABSL_TEST_COPTS,
568 linkopts = ABSL_DEFAULT_LINKOPTS,
569 deps = [
570 ":base",
571 ":core_headers",
572 "//absl/synchronization",
573 "@com_google_googletest//:gtest_main",
574 ],
575)
576
577cc_test(
578 name = "thread_identity_benchmark",
579 srcs = ["internal/thread_identity_benchmark.cc"],
580 copts = ABSL_TEST_COPTS,
581 linkopts = ABSL_DEFAULT_LINKOPTS,
582 tags = ["benchmark"],
583 visibility = ["//visibility:private"],
584 deps = [
585 ":base",
586 "//absl/synchronization",
587 "@com_github_google_benchmark//:benchmark_main",
588 ],
589)
590
591cc_library(
Austin Schuhb640da92020-12-31 12:54:13 -0800592 name = "exponential_biased",
593 srcs = ["internal/exponential_biased.cc"],
594 hdrs = ["internal/exponential_biased.h"],
Austin Schuhd57edc42019-09-21 17:52:38 -0700595 linkopts = ABSL_DEFAULT_LINKOPTS,
596 visibility = [
597 "//absl:__subpackages__",
598 ],
Austin Schuhb640da92020-12-31 12:54:13 -0800599 deps = [
600 ":config",
601 ":core_headers",
602 ],
Austin Schuhd57edc42019-09-21 17:52:38 -0700603)
604
605cc_test(
Austin Schuhb640da92020-12-31 12:54:13 -0800606 name = "exponential_biased_test",
Austin Schuhd57edc42019-09-21 17:52:38 -0700607 size = "small",
Austin Schuhb640da92020-12-31 12:54:13 -0800608 srcs = ["internal/exponential_biased_test.cc"],
Austin Schuhd57edc42019-09-21 17:52:38 -0700609 copts = ABSL_TEST_COPTS,
610 linkopts = ABSL_DEFAULT_LINKOPTS,
Austin Schuhb640da92020-12-31 12:54:13 -0800611 visibility = ["//visibility:private"],
Austin Schuhd57edc42019-09-21 17:52:38 -0700612 deps = [
Austin Schuhb640da92020-12-31 12:54:13 -0800613 ":exponential_biased",
614 "//absl/strings",
Austin Schuhd57edc42019-09-21 17:52:38 -0700615 "@com_google_googletest//:gtest_main",
616 ],
617)
618
619cc_library(
Austin Schuhb640da92020-12-31 12:54:13 -0800620 name = "periodic_sampler",
621 srcs = ["internal/periodic_sampler.cc"],
622 hdrs = ["internal/periodic_sampler.h"],
623 copts = ABSL_DEFAULT_COPTS,
624 linkopts = ABSL_DEFAULT_LINKOPTS,
625 deps = [
626 ":core_headers",
627 ":exponential_biased",
628 ],
629)
630
631cc_test(
632 name = "periodic_sampler_test",
633 size = "small",
634 srcs = ["internal/periodic_sampler_test.cc"],
635 copts = ABSL_TEST_COPTS,
636 linkopts = ABSL_DEFAULT_LINKOPTS,
637 visibility = ["//visibility:private"],
638 deps = [
639 ":core_headers",
640 ":periodic_sampler",
641 "@com_google_googletest//:gtest_main",
642 ],
643)
644
645cc_binary(
646 name = "periodic_sampler_benchmark",
647 testonly = 1,
648 srcs = ["internal/periodic_sampler_benchmark.cc"],
649 copts = ABSL_TEST_COPTS,
650 linkopts = ABSL_DEFAULT_LINKOPTS,
651 tags = ["benchmark"],
652 visibility = ["//visibility:private"],
653 deps = [
654 ":core_headers",
655 ":periodic_sampler",
656 "@com_github_google_benchmark//:benchmark_main",
657 ],
658)
659
660cc_library(
Austin Schuhd57edc42019-09-21 17:52:38 -0700661 name = "scoped_set_env",
662 testonly = 1,
663 srcs = ["internal/scoped_set_env.cc"],
664 hdrs = ["internal/scoped_set_env.h"],
665 linkopts = ABSL_DEFAULT_LINKOPTS,
666 visibility = [
667 "//absl:__subpackages__",
668 ],
Austin Schuhb640da92020-12-31 12:54:13 -0800669 deps = [
670 ":config",
671 ":raw_logging_internal",
672 ],
Austin Schuhd57edc42019-09-21 17:52:38 -0700673)
674
675cc_test(
676 name = "scoped_set_env_test",
677 size = "small",
678 srcs = ["internal/scoped_set_env_test.cc"],
679 copts = ABSL_TEST_COPTS,
680 linkopts = ABSL_DEFAULT_LINKOPTS,
681 deps = [
682 ":scoped_set_env",
683 "@com_google_googletest//:gtest_main",
684 ],
685)
686
687cc_test(
688 name = "log_severity_test",
689 size = "small",
690 srcs = ["log_severity_test.cc"],
691 copts = ABSL_TEST_COPTS,
692 linkopts = ABSL_DEFAULT_LINKOPTS,
693 deps = [
694 ":log_severity",
Austin Schuhb640da92020-12-31 12:54:13 -0800695 "//absl/flags:flag_internal",
Austin Schuhd57edc42019-09-21 17:52:38 -0700696 "//absl/flags:marshalling",
697 "//absl/strings",
698 "@com_google_googletest//:gtest_main",
699 ],
700)
Austin Schuhb640da92020-12-31 12:54:13 -0800701
702cc_library(
703 name = "strerror",
704 srcs = ["internal/strerror.cc"],
705 hdrs = ["internal/strerror.h"],
706 copts = ABSL_DEFAULT_COPTS,
707 linkopts = ABSL_DEFAULT_LINKOPTS,
708 visibility = [
709 "//absl:__subpackages__",
710 ],
711 deps = [
712 ":config",
713 ":core_headers",
714 ":errno_saver",
715 ],
716)
717
718cc_test(
719 name = "strerror_test",
720 size = "small",
721 srcs = ["internal/strerror_test.cc"],
722 copts = ABSL_TEST_COPTS,
723 linkopts = ABSL_DEFAULT_LINKOPTS,
724 deps = [
725 ":strerror",
726 "//absl/strings",
727 "@com_google_googletest//:gtest_main",
728 ],
729)
730
731cc_binary(
732 name = "strerror_benchmark",
733 testonly = 1,
734 srcs = ["internal/strerror_benchmark.cc"],
735 copts = ABSL_TEST_COPTS,
736 linkopts = ABSL_DEFAULT_LINKOPTS,
737 tags = ["benchmark"],
738 visibility = ["//visibility:private"],
739 deps = [
740 ":strerror",
741 "@com_github_google_benchmark//:benchmark_main",
742 ],
743)
744
745cc_library(
746 name = "fast_type_id",
747 hdrs = ["internal/fast_type_id.h"],
748 copts = ABSL_DEFAULT_COPTS,
749 linkopts = ABSL_DEFAULT_LINKOPTS,
750 visibility = [
751 "//absl:__subpackages__",
752 ],
753 deps = [
754 ":config",
755 ],
756)
757
758cc_test(
759 name = "fast_type_id_test",
760 size = "small",
761 srcs = ["internal/fast_type_id_test.cc"],
762 copts = ABSL_TEST_COPTS,
763 linkopts = ABSL_DEFAULT_LINKOPTS,
764 deps = [
765 ":fast_type_id",
766 "@com_google_googletest//:gtest_main",
767 ],
768)
769
770cc_test(
771 name = "unique_small_name_test",
772 size = "small",
773 srcs = ["internal/unique_small_name_test.cc"],
774 copts = ABSL_TEST_COPTS,
775 linkopts = ABSL_DEFAULT_LINKOPTS,
776 linkstatic = 1,
777 deps = [
778 ":core_headers",
779 "//absl/strings",
780 "@com_google_googletest//:gtest_main",
781 ],
782)
783
784cc_test(
785 name = "optimization_test",
786 size = "small",
787 srcs = ["optimization_test.cc"],
788 copts = ABSL_TEST_COPTS,
789 linkopts = ABSL_DEFAULT_LINKOPTS,
790 deps = [
791 ":core_headers",
792 "//absl/types:optional",
793 "@com_google_googletest//:gtest_main",
794 ],
795)