xref: /aosp_15_r20/external/webrtc/third_party/abseil-cpp/absl/strings/BUILD.bazel (revision d9f758449e529ab9291ac668be2861e7a55c2422)
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(
24    default_visibility = ["//visibility:public"],
25    features = ["parse_headers"],
26)
27
28licenses(["notice"])
29
30cc_library(
31    name = "strings",
32    srcs = [
33        "ascii.cc",
34        "charconv.cc",
35        "escaping.cc",
36        "internal/charconv_bigint.cc",
37        "internal/charconv_bigint.h",
38        "internal/charconv_parse.cc",
39        "internal/charconv_parse.h",
40        "internal/damerau_levenshtein_distance.cc",
41        "internal/memutil.cc",
42        "internal/memutil.h",
43        "internal/stl_type_traits.h",
44        "internal/str_join_internal.h",
45        "internal/str_split_internal.h",
46        "internal/stringify_sink.cc",
47        "internal/stringify_sink.h",
48        "match.cc",
49        "numbers.cc",
50        "str_cat.cc",
51        "str_replace.cc",
52        "str_split.cc",
53        "string_view.cc",
54        "substitute.cc",
55    ],
56    hdrs = [
57        "ascii.h",
58        "charconv.h",
59        "escaping.h",
60        "internal/damerau_levenshtein_distance.h",
61        "internal/string_constant.h",
62        "match.h",
63        "numbers.h",
64        "str_cat.h",
65        "str_join.h",
66        "str_replace.h",
67        "str_split.h",
68        "string_view.h",
69        "strip.h",
70        "substitute.h",
71    ],
72    copts = ABSL_DEFAULT_COPTS,
73    linkopts = ABSL_DEFAULT_LINKOPTS,
74    deps = [
75        ":internal",
76        "//absl/base",
77        "//absl/base:config",
78        "//absl/base:core_headers",
79        "//absl/base:endian",
80        "//absl/base:raw_logging_internal",
81        "//absl/base:throw_delegate",
82        "//absl/memory",
83        "//absl/meta:type_traits",
84        "//absl/numeric:bits",
85        "//absl/numeric:int128",
86    ],
87)
88
89cc_library(
90    name = "internal",
91    srcs = [
92        "internal/escaping.cc",
93        "internal/ostringstream.cc",
94        "internal/utf8.cc",
95    ],
96    hdrs = [
97        "internal/char_map.h",
98        "internal/escaping.h",
99        "internal/ostringstream.h",
100        "internal/resize_uninitialized.h",
101        "internal/utf8.h",
102    ],
103    copts = ABSL_DEFAULT_COPTS,
104    linkopts = ABSL_DEFAULT_LINKOPTS,
105    deps = [
106        "//absl/base:config",
107        "//absl/base:core_headers",
108        "//absl/base:endian",
109        "//absl/base:raw_logging_internal",
110        "//absl/meta:type_traits",
111    ],
112)
113
114cc_test(
115    name = "match_test",
116    size = "small",
117    srcs = ["match_test.cc"],
118    copts = ABSL_TEST_COPTS,
119    visibility = ["//visibility:private"],
120    deps = [
121        ":strings",
122        "@com_google_googletest//:gtest_main",
123    ],
124)
125
126cc_test(
127    name = "escaping_test",
128    size = "small",
129    srcs = [
130        "escaping_test.cc",
131        "internal/escaping_test_common.h",
132    ],
133    copts = ABSL_TEST_COPTS,
134    visibility = ["//visibility:private"],
135    deps = [
136        ":cord",
137        ":strings",
138        "//absl/base:core_headers",
139        "//absl/container:fixed_array",
140        "@com_google_googletest//:gtest_main",
141    ],
142)
143
144cc_test(
145    name = "escaping_benchmark",
146    srcs = [
147        "escaping_benchmark.cc",
148        "internal/escaping_test_common.h",
149    ],
150    copts = ABSL_TEST_COPTS,
151    tags = ["benchmark"],
152    visibility = ["//visibility:private"],
153    deps = [
154        ":strings",
155        "//absl/base:raw_logging_internal",
156        "@com_github_google_benchmark//:benchmark_main",
157    ],
158)
159
160cc_test(
161    name = "ascii_test",
162    size = "small",
163    srcs = ["ascii_test.cc"],
164    copts = ABSL_TEST_COPTS,
165    visibility = ["//visibility:private"],
166    deps = [
167        ":strings",
168        "//absl/base:core_headers",
169        "@com_google_googletest//:gtest_main",
170    ],
171)
172
173cc_test(
174    name = "ascii_benchmark",
175    srcs = ["ascii_benchmark.cc"],
176    copts = ABSL_TEST_COPTS,
177    tags = ["benchmark"],
178    visibility = ["//visibility:private"],
179    deps = [
180        ":strings",
181        "@com_github_google_benchmark//:benchmark_main",
182    ],
183)
184
185cc_test(
186    name = "damerau_levenshtein_distance_test",
187    size = "small",
188    srcs = [
189        "internal/damerau_levenshtein_distance_test.cc",
190    ],
191    copts = ABSL_TEST_COPTS,
192    deps = [
193        "//absl/strings",
194        "@com_google_googletest//:gtest_main",
195    ],
196)
197
198cc_test(
199    name = "memutil_benchmark",
200    srcs = [
201        "internal/memutil.h",
202        "internal/memutil_benchmark.cc",
203    ],
204    copts = ABSL_TEST_COPTS,
205    tags = ["benchmark"],
206    visibility = ["//visibility:private"],
207    deps = [
208        ":strings",
209        "//absl/base:core_headers",
210        "@com_github_google_benchmark//:benchmark_main",
211    ],
212)
213
214cc_test(
215    name = "memutil_test",
216    size = "small",
217    srcs = [
218        "internal/memutil.h",
219        "internal/memutil_test.cc",
220    ],
221    copts = ABSL_TEST_COPTS,
222    visibility = ["//visibility:private"],
223    deps = [
224        ":strings",
225        "//absl/base:core_headers",
226        "@com_google_googletest//:gtest_main",
227    ],
228)
229
230cc_test(
231    name = "utf8_test",
232    size = "small",
233    srcs = [
234        "internal/utf8_test.cc",
235    ],
236    copts = ABSL_TEST_COPTS,
237    visibility = ["//visibility:private"],
238    deps = [
239        ":internal",
240        "//absl/base:core_headers",
241        "@com_google_googletest//:gtest_main",
242    ],
243)
244
245cc_test(
246    name = "string_constant_test",
247    size = "small",
248    srcs = ["internal/string_constant_test.cc"],
249    copts = ABSL_TEST_COPTS,
250    visibility = ["//visibility:private"],
251    deps = [
252        ":strings",
253        "//absl/meta:type_traits",
254        "@com_google_googletest//:gtest_main",
255    ],
256)
257
258cc_test(
259    name = "string_view_benchmark",
260    srcs = ["string_view_benchmark.cc"],
261    copts = ABSL_TEST_COPTS,
262    tags = ["benchmark"],
263    visibility = ["//visibility:private"],
264    deps = [
265        ":strings",
266        "//absl/base:core_headers",
267        "//absl/base:raw_logging_internal",
268        "@com_github_google_benchmark//:benchmark_main",
269    ],
270)
271
272cc_test(
273    name = "string_view_test",
274    size = "small",
275    srcs = ["string_view_test.cc"],
276    copts = ABSL_TEST_COPTS,
277    visibility = ["//visibility:private"],
278    deps = [
279        ":strings",
280        "//absl/base:config",
281        "//absl/base:core_headers",
282        "//absl/base:dynamic_annotations",
283        "@com_google_googletest//:gtest_main",
284    ],
285)
286
287cc_library(
288    name = "cord_internal",
289    srcs = [
290        "internal/cord_internal.cc",
291        "internal/cord_rep_btree.cc",
292        "internal/cord_rep_btree_navigator.cc",
293        "internal/cord_rep_btree_reader.cc",
294        "internal/cord_rep_consume.cc",
295        "internal/cord_rep_crc.cc",
296        "internal/cord_rep_ring.cc",
297    ],
298    hdrs = [
299        "internal/cord_data_edge.h",
300        "internal/cord_internal.h",
301        "internal/cord_rep_btree.h",
302        "internal/cord_rep_btree_navigator.h",
303        "internal/cord_rep_btree_reader.h",
304        "internal/cord_rep_consume.h",
305        "internal/cord_rep_crc.h",
306        "internal/cord_rep_flat.h",
307        "internal/cord_rep_ring.h",
308        "internal/cord_rep_ring_reader.h",
309    ],
310    copts = ABSL_DEFAULT_COPTS,
311    linkopts = ABSL_DEFAULT_LINKOPTS,
312    visibility = [
313        "//visibility:private",
314    ],
315    deps = [
316        ":strings",
317        "//absl/base:base_internal",
318        "//absl/base:config",
319        "//absl/base:core_headers",
320        "//absl/base:endian",
321        "//absl/base:raw_logging_internal",
322        "//absl/base:throw_delegate",
323        "//absl/container:compressed_tuple",
324        "//absl/container:inlined_vector",
325        "//absl/container:layout",
326        "//absl/functional:function_ref",
327        "//absl/meta:type_traits",
328        "//absl/types:span",
329    ],
330)
331
332cc_test(
333    name = "cord_data_edge_test",
334    size = "small",
335    srcs = ["internal/cord_data_edge_test.cc"],
336    copts = ABSL_TEST_COPTS,
337    visibility = ["//visibility:private"],
338    deps = [
339        ":cord_internal",
340        ":cord_rep_test_util",
341        ":strings",
342        "//absl/base:config",
343        "@com_google_googletest//:gtest_main",
344    ],
345)
346
347cc_test(
348    name = "cord_rep_btree_test",
349    size = "medium",
350    srcs = ["internal/cord_rep_btree_test.cc"],
351    copts = ABSL_TEST_COPTS,
352    visibility = ["//visibility:private"],
353    deps = [
354        ":cord_internal",
355        ":cord_rep_test_util",
356        ":strings",
357        "//absl/base:config",
358        "//absl/base:raw_logging_internal",
359        "//absl/cleanup",
360        "@com_google_googletest//:gtest_main",
361    ],
362)
363
364cc_test(
365    name = "cord_rep_btree_navigator_test",
366    size = "medium",
367    srcs = ["internal/cord_rep_btree_navigator_test.cc"],
368    copts = ABSL_TEST_COPTS,
369    visibility = ["//visibility:private"],
370    deps = [
371        ":cord_internal",
372        ":cord_rep_test_util",
373        ":strings",
374        "//absl/base:config",
375        "//absl/base:raw_logging_internal",
376        "@com_google_googletest//:gtest_main",
377    ],
378)
379
380cc_test(
381    name = "cord_rep_btree_reader_test",
382    size = "medium",
383    srcs = ["internal/cord_rep_btree_reader_test.cc"],
384    copts = ABSL_TEST_COPTS,
385    visibility = ["//visibility:private"],
386    deps = [
387        ":cord",
388        ":cord_internal",
389        ":cord_rep_test_util",
390        ":strings",
391        "//absl/base:config",
392        "//absl/base:raw_logging_internal",
393        "@com_google_googletest//:gtest_main",
394    ],
395)
396
397cc_test(
398    name = "cord_rep_crc_test",
399    size = "small",
400    srcs = ["internal/cord_rep_crc_test.cc"],
401    copts = ABSL_TEST_COPTS,
402    visibility = ["//visibility:private"],
403    deps = [
404        ":cord_internal",
405        ":cord_rep_test_util",
406        "//absl/base:config",
407        "@com_google_googletest//:gtest_main",
408    ],
409)
410
411cc_library(
412    name = "cordz_update_tracker",
413    hdrs = ["internal/cordz_update_tracker.h"],
414    copts = ABSL_DEFAULT_COPTS,
415    linkopts = ABSL_DEFAULT_LINKOPTS,
416    visibility = [
417        "//absl:__subpackages__",
418    ],
419    deps = ["//absl/base:config"],
420)
421
422cc_test(
423    name = "cordz_update_tracker_test",
424    srcs = ["internal/cordz_update_tracker_test.cc"],
425    deps = [
426        ":cordz_update_tracker",
427        "//absl/base:config",
428        "//absl/base:core_headers",
429        "//absl/synchronization",
430        "@com_google_googletest//:gtest_main",
431    ],
432)
433
434cc_library(
435    name = "cord",
436    srcs = [
437        "cord.cc",
438        "cord_analysis.cc",
439        "cord_analysis.h",
440        "cord_buffer.cc",
441    ],
442    hdrs = [
443        "cord.h",
444        "cord_buffer.h",
445    ],
446    copts = ABSL_DEFAULT_COPTS,
447    linkopts = ABSL_DEFAULT_LINKOPTS,
448    deps = [
449        ":cord_internal",
450        ":cordz_functions",
451        ":cordz_info",
452        ":cordz_statistics",
453        ":cordz_update_scope",
454        ":cordz_update_tracker",
455        ":internal",
456        ":str_format",
457        ":strings",
458        "//absl/base",
459        "//absl/base:config",
460        "//absl/base:core_headers",
461        "//absl/base:endian",
462        "//absl/base:raw_logging_internal",
463        "//absl/container:fixed_array",
464        "//absl/container:inlined_vector",
465        "//absl/functional:function_ref",
466        "//absl/meta:type_traits",
467        "//absl/numeric:bits",
468        "//absl/types:optional",
469        "//absl/types:span",
470    ],
471)
472
473cc_library(
474    name = "cordz_handle",
475    srcs = ["internal/cordz_handle.cc"],
476    hdrs = ["internal/cordz_handle.h"],
477    copts = ABSL_DEFAULT_COPTS,
478    linkopts = ABSL_DEFAULT_LINKOPTS,
479    visibility = [
480        "//absl:__subpackages__",
481    ],
482    deps = [
483        "//absl/base",
484        "//absl/base:config",
485        "//absl/base:raw_logging_internal",
486        "//absl/synchronization",
487    ],
488)
489
490cc_library(
491    name = "cordz_info",
492    srcs = ["internal/cordz_info.cc"],
493    hdrs = ["internal/cordz_info.h"],
494    copts = ABSL_DEFAULT_COPTS,
495    linkopts = ABSL_DEFAULT_LINKOPTS,
496    visibility = [
497        "//absl:__subpackages__",
498    ],
499    deps = [
500        ":cord_internal",
501        ":cordz_functions",
502        ":cordz_handle",
503        ":cordz_statistics",
504        ":cordz_update_tracker",
505        "//absl/base",
506        "//absl/base:config",
507        "//absl/base:core_headers",
508        "//absl/base:raw_logging_internal",
509        "//absl/container:inlined_vector",
510        "//absl/debugging:stacktrace",
511        "//absl/synchronization",
512        "//absl/types:span",
513    ],
514)
515
516cc_library(
517    name = "cordz_update_scope",
518    hdrs = ["internal/cordz_update_scope.h"],
519    copts = ABSL_DEFAULT_COPTS,
520    linkopts = ABSL_DEFAULT_LINKOPTS,
521    visibility = [
522        "//absl:__subpackages__",
523    ],
524    deps = [
525        ":cord_internal",
526        ":cordz_info",
527        ":cordz_update_tracker",
528        "//absl/base:config",
529        "//absl/base:core_headers",
530    ],
531)
532
533cc_test(
534    name = "cordz_update_scope_test",
535    srcs = ["internal/cordz_update_scope_test.cc"],
536    copts = ABSL_DEFAULT_COPTS,
537    deps = [
538        ":cord_internal",
539        ":cordz_info",
540        ":cordz_test_helpers",
541        ":cordz_update_scope",
542        ":cordz_update_tracker",
543        "//absl/base:config",
544        "@com_google_googletest//:gtest_main",
545    ],
546)
547
548cc_library(
549    name = "cordz_sample_token",
550    srcs = ["internal/cordz_sample_token.cc"],
551    hdrs = ["internal/cordz_sample_token.h"],
552    copts = ABSL_DEFAULT_COPTS,
553    linkopts = ABSL_DEFAULT_LINKOPTS,
554    visibility = [
555        "//absl:__subpackages__",
556    ],
557    deps = [
558        ":cordz_handle",
559        ":cordz_info",
560        "//absl/base:config",
561    ],
562)
563
564cc_library(
565    name = "cordz_functions",
566    srcs = ["internal/cordz_functions.cc"],
567    hdrs = ["internal/cordz_functions.h"],
568    copts = ABSL_DEFAULT_COPTS,
569    linkopts = ABSL_DEFAULT_LINKOPTS,
570    visibility = [
571        "//absl:__subpackages__",
572    ],
573    deps = [
574        "//absl/base:config",
575        "//absl/base:core_headers",
576        "//absl/base:raw_logging_internal",
577        "//absl/profiling:exponential_biased",
578    ],
579)
580
581cc_library(
582    name = "cordz_statistics",
583    hdrs = ["internal/cordz_statistics.h"],
584    copts = ABSL_DEFAULT_COPTS,
585    linkopts = ABSL_DEFAULT_LINKOPTS,
586    visibility = [
587        "//absl:__subpackages__",
588    ],
589    deps = [
590        ":cordz_update_tracker",
591        "//absl/base:config",
592    ],
593)
594
595cc_test(
596    name = "cordz_functions_test",
597    srcs = [
598        "internal/cordz_functions_test.cc",
599    ],
600    deps = [
601        ":cordz_functions",
602        ":cordz_test_helpers",
603        "//absl/base:config",
604        "@com_google_googletest//:gtest_main",
605    ],
606)
607
608cc_test(
609    name = "cordz_handle_test",
610    srcs = [
611        "internal/cordz_handle_test.cc",
612    ],
613    deps = [
614        ":cordz_handle",
615        "//absl/base:config",
616        "//absl/memory",
617        "//absl/random",
618        "//absl/random:distributions",
619        "//absl/synchronization",
620        "//absl/synchronization:thread_pool",
621        "//absl/time",
622        "@com_google_googletest//:gtest_main",
623    ],
624)
625
626cc_test(
627    name = "cordz_info_test",
628    srcs = [
629        "internal/cordz_info_test.cc",
630    ],
631    deps = [
632        ":cord_internal",
633        ":cordz_handle",
634        ":cordz_info",
635        ":cordz_statistics",
636        ":cordz_test_helpers",
637        ":cordz_update_tracker",
638        ":strings",
639        "//absl/base:config",
640        "//absl/debugging:stacktrace",
641        "//absl/debugging:symbolize",
642        "//absl/types:span",
643        "@com_google_googletest//:gtest_main",
644    ],
645)
646
647cc_test(
648    name = "cordz_info_statistics_test",
649    srcs = [
650        "internal/cordz_info_statistics_test.cc",
651    ],
652    deps = [
653        ":cord",
654        ":cord_internal",
655        ":cordz_info",
656        ":cordz_sample_token",
657        ":cordz_statistics",
658        ":cordz_update_scope",
659        ":cordz_update_tracker",
660        "//absl/base:config",
661        "//absl/synchronization",
662        "//absl/synchronization:thread_pool",
663        "@com_google_googletest//:gtest_main",
664    ],
665)
666
667cc_test(
668    name = "cordz_sample_token_test",
669    srcs = [
670        "internal/cordz_sample_token_test.cc",
671    ],
672    deps = [
673        ":cord_internal",
674        ":cordz_handle",
675        ":cordz_info",
676        ":cordz_sample_token",
677        ":cordz_test_helpers",
678        "//absl/base:config",
679        "//absl/memory",
680        "//absl/random",
681        "//absl/synchronization",
682        "//absl/synchronization:thread_pool",
683        "//absl/time",
684        "@com_google_googletest//:gtest_main",
685    ],
686)
687
688cc_library(
689    name = "cord_test_helpers",
690    testonly = 1,
691    hdrs = [
692        "cord_test_helpers.h",
693    ],
694    copts = ABSL_DEFAULT_COPTS,
695    linkopts = ABSL_DEFAULT_LINKOPTS,
696    deps = [
697        ":cord",
698        ":cord_internal",
699        ":strings",
700        "//absl/base:config",
701    ],
702)
703
704cc_library(
705    name = "cord_rep_test_util",
706    testonly = 1,
707    hdrs = ["internal/cord_rep_test_util.h"],
708    copts = ABSL_DEFAULT_COPTS,
709    linkopts = ABSL_DEFAULT_LINKOPTS,
710    deps = [
711        ":cord_internal",
712        ":strings",
713        "//absl/base:config",
714        "//absl/base:raw_logging_internal",
715    ],
716)
717
718cc_library(
719    name = "cordz_test_helpers",
720    testonly = 1,
721    hdrs = ["cordz_test_helpers.h"],
722    copts = ABSL_DEFAULT_COPTS,
723    linkopts = ABSL_DEFAULT_LINKOPTS,
724    deps = [
725        ":cord",
726        ":cord_internal",
727        ":cordz_info",
728        ":cordz_sample_token",
729        ":cordz_statistics",
730        ":cordz_update_tracker",
731        ":strings",
732        "//absl/base:config",
733        "//absl/base:core_headers",
734        "@com_google_googletest//:gtest",
735    ],
736)
737
738cc_test(
739    name = "cord_buffer_test",
740    size = "small",
741    srcs = ["cord_buffer_test.cc"],
742    copts = ABSL_TEST_COPTS,
743    visibility = ["//visibility:private"],
744    deps = [
745        ":cord",
746        ":cord_internal",
747        ":cord_rep_test_util",
748        "//absl/base:config",
749        "//absl/types:span",
750        "@com_google_googletest//:gtest_main",
751    ],
752)
753
754cc_test(
755    name = "cord_test",
756    size = "medium",
757    srcs = ["cord_test.cc"],
758    copts = ABSL_TEST_COPTS,
759    visibility = ["//visibility:private"],
760    deps = [
761        ":cord",
762        ":cord_test_helpers",
763        ":cordz_functions",
764        ":cordz_test_helpers",
765        ":str_format",
766        ":strings",
767        "//absl/base:config",
768        "//absl/base:core_headers",
769        "//absl/base:endian",
770        "//absl/base:raw_logging_internal",
771        "//absl/container:fixed_array",
772        "//absl/hash",
773        "//absl/log",
774        "//absl/random",
775        "@com_google_googletest//:gtest_main",
776    ],
777)
778
779cc_test(
780    name = "cordz_test",
781    size = "medium",
782    srcs = ["cordz_test.cc"],
783    copts = ABSL_TEST_COPTS,
784    tags = [
785        "benchmark",
786        "no_test_android_arm",
787        "no_test_android_arm64",
788        "no_test_android_x86",
789        "no_test_ios_x86_64",
790        "no_test_loonix",
791        "no_test_msvc_x64",
792    ],
793    visibility = ["//visibility:private"],
794    deps = [
795        ":cord",
796        ":cord_test_helpers",
797        ":cordz_functions",
798        ":cordz_info",
799        ":cordz_sample_token",
800        ":cordz_statistics",
801        ":cordz_test_helpers",
802        ":cordz_update_tracker",
803        ":strings",
804        "//absl/base:config",
805        "//absl/base:core_headers",
806        "//absl/base:raw_logging_internal",
807        "@com_google_googletest//:gtest_main",
808    ],
809)
810
811cc_test(
812    name = "cord_ring_test",
813    size = "medium",
814    srcs = ["cord_ring_test.cc"],
815    copts = ABSL_TEST_COPTS,
816    visibility = ["//visibility:private"],
817    deps = [
818        ":cord_internal",
819        ":strings",
820        "//absl/base:config",
821        "//absl/base:core_headers",
822        "//absl/base:raw_logging_internal",
823        "//absl/debugging:leak_check",
824        "@com_google_googletest//:gtest_main",
825    ],
826)
827
828cc_test(
829    name = "cord_ring_reader_test",
830    size = "medium",
831    srcs = ["cord_ring_reader_test.cc"],
832    copts = ABSL_TEST_COPTS,
833    visibility = ["//visibility:private"],
834    deps = [
835        ":cord_internal",
836        ":strings",
837        "//absl/base:core_headers",
838        "//absl/debugging:leak_check",
839        "@com_google_googletest//:gtest_main",
840    ],
841)
842
843cc_test(
844    name = "substitute_test",
845    size = "small",
846    srcs = ["substitute_test.cc"],
847    copts = ABSL_TEST_COPTS,
848    visibility = ["//visibility:private"],
849    deps = [
850        ":strings",
851        "//absl/base:core_headers",
852        "@com_google_googletest//:gtest_main",
853    ],
854)
855
856cc_test(
857    name = "str_replace_benchmark",
858    srcs = ["str_replace_benchmark.cc"],
859    copts = ABSL_TEST_COPTS,
860    tags = ["benchmark"],
861    visibility = ["//visibility:private"],
862    deps = [
863        ":strings",
864        "//absl/base:raw_logging_internal",
865        "@com_github_google_benchmark//:benchmark_main",
866    ],
867)
868
869cc_test(
870    name = "str_replace_test",
871    size = "small",
872    srcs = ["str_replace_test.cc"],
873    copts = ABSL_TEST_COPTS,
874    visibility = ["//visibility:private"],
875    deps = [
876        ":strings",
877        "@com_google_googletest//:gtest_main",
878    ],
879)
880
881cc_test(
882    name = "str_split_test",
883    srcs = ["str_split_test.cc"],
884    copts = ABSL_TEST_COPTS,
885    visibility = ["//visibility:private"],
886    deps = [
887        ":strings",
888        "//absl/base:core_headers",
889        "//absl/base:dynamic_annotations",
890        "//absl/container:btree",
891        "//absl/container:flat_hash_map",
892        "//absl/container:node_hash_map",
893        "@com_google_googletest//:gtest_main",
894    ],
895)
896
897cc_test(
898    name = "str_split_benchmark",
899    srcs = ["str_split_benchmark.cc"],
900    copts = ABSL_TEST_COPTS,
901    tags = ["benchmark"],
902    visibility = ["//visibility:private"],
903    deps = [
904        ":strings",
905        "//absl/base:raw_logging_internal",
906        "@com_github_google_benchmark//:benchmark_main",
907    ],
908)
909
910cc_test(
911    name = "ostringstream_test",
912    size = "small",
913    srcs = ["internal/ostringstream_test.cc"],
914    copts = ABSL_TEST_COPTS,
915    visibility = ["//visibility:private"],
916    deps = [
917        ":internal",
918        "@com_google_googletest//:gtest_main",
919    ],
920)
921
922cc_test(
923    name = "ostringstream_benchmark",
924    srcs = ["internal/ostringstream_benchmark.cc"],
925    copts = ABSL_TEST_COPTS,
926    tags = ["benchmark"],
927    visibility = ["//visibility:private"],
928    deps = [
929        ":internal",
930        "@com_github_google_benchmark//:benchmark_main",
931    ],
932)
933
934cc_test(
935    name = "resize_uninitialized_test",
936    size = "small",
937    srcs = [
938        "internal/resize_uninitialized.h",
939        "internal/resize_uninitialized_test.cc",
940    ],
941    copts = ABSL_TEST_COPTS,
942    visibility = ["//visibility:private"],
943    deps = [
944        "//absl/base:core_headers",
945        "//absl/meta:type_traits",
946        "@com_google_googletest//:gtest_main",
947    ],
948)
949
950cc_test(
951    name = "str_join_test",
952    size = "small",
953    srcs = ["str_join_test.cc"],
954    copts = ABSL_TEST_COPTS,
955    visibility = ["//visibility:private"],
956    deps = [
957        ":strings",
958        "//absl/base:core_headers",
959        "//absl/memory",
960        "@com_google_googletest//:gtest_main",
961    ],
962)
963
964cc_test(
965    name = "str_join_benchmark",
966    srcs = ["str_join_benchmark.cc"],
967    copts = ABSL_TEST_COPTS,
968    tags = ["benchmark"],
969    visibility = ["//visibility:private"],
970    deps = [
971        ":strings",
972        "@com_github_google_benchmark//:benchmark_main",
973    ],
974)
975
976cc_test(
977    name = "str_cat_test",
978    size = "small",
979    srcs = ["str_cat_test.cc"],
980    copts = ABSL_TEST_COPTS,
981    visibility = ["//visibility:private"],
982    deps = [
983        ":str_format",
984        ":strings",
985        "@com_google_googletest//:gtest_main",
986    ],
987)
988
989cc_test(
990    name = "str_cat_benchmark",
991    srcs = ["str_cat_benchmark.cc"],
992    copts = ABSL_TEST_COPTS,
993    tags = ["benchmark"],
994    visibility = ["//visibility:private"],
995    deps = [
996        ":strings",
997        "@com_github_google_benchmark//:benchmark_main",
998    ],
999)
1000
1001cc_test(
1002    name = "numbers_test",
1003    size = "medium",
1004    srcs = [
1005        "internal/numbers_test_common.h",
1006        "numbers_test.cc",
1007    ],
1008    copts = ABSL_TEST_COPTS,
1009    visibility = ["//visibility:private"],
1010    deps = [
1011        ":internal",
1012        ":pow10_helper",
1013        ":strings",
1014        "//absl/base:config",
1015        "//absl/base:raw_logging_internal",
1016        "//absl/random",
1017        "//absl/random:distributions",
1018        "@com_google_googletest//:gtest_main",
1019    ],
1020)
1021
1022cc_test(
1023    name = "numbers_benchmark",
1024    srcs = ["numbers_benchmark.cc"],
1025    copts = ABSL_TEST_COPTS,
1026    tags = ["benchmark"],
1027    visibility = ["//visibility:private"],
1028    deps = [
1029        ":strings",
1030        "//absl/base:raw_logging_internal",
1031        "//absl/random",
1032        "//absl/random:distributions",
1033        "@com_github_google_benchmark//:benchmark_main",
1034    ],
1035)
1036
1037cc_test(
1038    name = "strip_test",
1039    size = "small",
1040    srcs = ["strip_test.cc"],
1041    copts = ABSL_TEST_COPTS,
1042    visibility = ["//visibility:private"],
1043    deps = [
1044        ":strings",
1045        "@com_google_googletest//:gtest_main",
1046    ],
1047)
1048
1049cc_test(
1050    name = "char_map_test",
1051    srcs = ["internal/char_map_test.cc"],
1052    copts = ABSL_TEST_COPTS,
1053    deps = [
1054        ":internal",
1055        "@com_google_googletest//:gtest_main",
1056    ],
1057)
1058
1059cc_test(
1060    name = "char_map_benchmark",
1061    srcs = ["internal/char_map_benchmark.cc"],
1062    copts = ABSL_TEST_COPTS,
1063    tags = ["benchmark"],
1064    deps = [
1065        ":internal",
1066        "@com_github_google_benchmark//:benchmark_main",
1067    ],
1068)
1069
1070cc_test(
1071    name = "charconv_test",
1072    srcs = ["charconv_test.cc"],
1073    copts = ABSL_TEST_COPTS,
1074    deps = [
1075        ":pow10_helper",
1076        ":str_format",
1077        ":strings",
1078        "@com_google_googletest//:gtest_main",
1079    ],
1080)
1081
1082cc_test(
1083    name = "charconv_parse_test",
1084    srcs = [
1085        "internal/charconv_parse.h",
1086        "internal/charconv_parse_test.cc",
1087    ],
1088    copts = ABSL_TEST_COPTS,
1089    deps = [
1090        ":strings",
1091        "//absl/base:config",
1092        "//absl/base:raw_logging_internal",
1093        "@com_google_googletest//:gtest_main",
1094    ],
1095)
1096
1097cc_test(
1098    name = "charconv_bigint_test",
1099    srcs = [
1100        "internal/charconv_bigint.h",
1101        "internal/charconv_bigint_test.cc",
1102        "internal/charconv_parse.h",
1103    ],
1104    copts = ABSL_TEST_COPTS,
1105    deps = [
1106        ":strings",
1107        "//absl/base:config",
1108        "@com_google_googletest//:gtest_main",
1109    ],
1110)
1111
1112cc_test(
1113    name = "charconv_benchmark",
1114    srcs = [
1115        "charconv_benchmark.cc",
1116    ],
1117    tags = [
1118        "benchmark",
1119    ],
1120    deps = [
1121        ":strings",
1122        "@com_github_google_benchmark//:benchmark_main",
1123    ],
1124)
1125
1126cc_library(
1127    name = "str_format",
1128    hdrs = [
1129        "str_format.h",
1130    ],
1131    copts = ABSL_DEFAULT_COPTS,
1132    linkopts = ABSL_DEFAULT_LINKOPTS,
1133    deps = [
1134        ":str_format_internal",
1135    ],
1136)
1137
1138cc_library(
1139    name = "str_format_internal",
1140    srcs = [
1141        "internal/str_format/arg.cc",
1142        "internal/str_format/bind.cc",
1143        "internal/str_format/extension.cc",
1144        "internal/str_format/float_conversion.cc",
1145        "internal/str_format/output.cc",
1146        "internal/str_format/parser.cc",
1147    ],
1148    hdrs = [
1149        "internal/str_format/arg.h",
1150        "internal/str_format/bind.h",
1151        "internal/str_format/checker.h",
1152        "internal/str_format/extension.h",
1153        "internal/str_format/float_conversion.h",
1154        "internal/str_format/output.h",
1155        "internal/str_format/parser.h",
1156    ],
1157    copts = ABSL_DEFAULT_COPTS,
1158    linkopts = ABSL_DEFAULT_LINKOPTS,
1159    visibility = ["//visibility:private"],
1160    deps = [
1161        ":strings",
1162        "//absl/base:config",
1163        "//absl/base:core_headers",
1164        "//absl/functional:function_ref",
1165        "//absl/meta:type_traits",
1166        "//absl/numeric:bits",
1167        "//absl/numeric:int128",
1168        "//absl/numeric:representation",
1169        "//absl/types:optional",
1170        "//absl/types:span",
1171        "//absl/utility",
1172    ],
1173)
1174
1175cc_test(
1176    name = "str_format_test",
1177    srcs = ["str_format_test.cc"],
1178    copts = ABSL_TEST_COPTS,
1179    visibility = ["//visibility:private"],
1180    deps = [
1181        ":cord",
1182        ":str_format",
1183        ":strings",
1184        "@com_google_googletest//:gtest_main",
1185    ],
1186)
1187
1188cc_test(
1189    name = "str_format_extension_test",
1190    srcs = [
1191        "internal/str_format/extension_test.cc",
1192    ],
1193    copts = ABSL_TEST_COPTS,
1194    visibility = ["//visibility:private"],
1195    deps = [
1196        ":str_format",
1197        ":str_format_internal",
1198        ":strings",
1199        "@com_google_googletest//:gtest_main",
1200    ],
1201)
1202
1203cc_test(
1204    name = "str_format_arg_test",
1205    srcs = ["internal/str_format/arg_test.cc"],
1206    copts = ABSL_TEST_COPTS,
1207    visibility = ["//visibility:private"],
1208    deps = [
1209        ":str_format",
1210        ":str_format_internal",
1211        "@com_google_googletest//:gtest_main",
1212    ],
1213)
1214
1215cc_test(
1216    name = "str_format_bind_test",
1217    srcs = ["internal/str_format/bind_test.cc"],
1218    copts = ABSL_TEST_COPTS,
1219    visibility = ["//visibility:private"],
1220    deps = [
1221        ":str_format_internal",
1222        "@com_google_googletest//:gtest_main",
1223    ],
1224)
1225
1226cc_test(
1227    name = "str_format_checker_test",
1228    srcs = ["internal/str_format/checker_test.cc"],
1229    copts = ABSL_TEST_COPTS,
1230    visibility = ["//visibility:private"],
1231    deps = [
1232        ":str_format",
1233        "@com_google_googletest//:gtest_main",
1234    ],
1235)
1236
1237cc_test(
1238    name = "str_format_convert_test",
1239    size = "medium",
1240    srcs = ["internal/str_format/convert_test.cc"],
1241    copts = ABSL_TEST_COPTS,
1242    visibility = ["//visibility:private"],
1243    deps = [
1244        ":str_format_internal",
1245        ":strings",
1246        "//absl/base:core_headers",
1247        "//absl/base:raw_logging_internal",
1248        "//absl/types:optional",
1249        "@com_google_googletest//:gtest_main",
1250    ],
1251)
1252
1253cc_test(
1254    name = "str_format_output_test",
1255    srcs = ["internal/str_format/output_test.cc"],
1256    copts = ABSL_TEST_COPTS,
1257    visibility = ["//visibility:private"],
1258    deps = [
1259        ":cord",
1260        ":str_format_internal",
1261        "@com_google_googletest//:gtest_main",
1262    ],
1263)
1264
1265cc_test(
1266    name = "str_format_parser_test",
1267    srcs = ["internal/str_format/parser_test.cc"],
1268    copts = ABSL_TEST_COPTS,
1269    visibility = ["//visibility:private"],
1270    deps = [
1271        ":str_format_internal",
1272        "//absl/base:core_headers",
1273        "@com_google_googletest//:gtest_main",
1274    ],
1275)
1276
1277cc_library(
1278    name = "pow10_helper",
1279    testonly = True,
1280    srcs = ["internal/pow10_helper.cc"],
1281    hdrs = ["internal/pow10_helper.h"],
1282    linkopts = ABSL_DEFAULT_LINKOPTS,
1283    visibility = ["//visibility:private"],
1284    deps = ["//absl/base:config"],
1285)
1286
1287cc_test(
1288    name = "pow10_helper_test",
1289    srcs = ["internal/pow10_helper_test.cc"],
1290    copts = ABSL_TEST_COPTS,
1291    visibility = ["//visibility:private"],
1292    deps = [
1293        ":pow10_helper",
1294        ":str_format",
1295        "@com_google_googletest//:gtest_main",
1296    ],
1297)
1298
1299cc_binary(
1300    name = "atod_manual_test",
1301    testonly = 1,
1302    srcs = ["atod_manual_test.cc"],
1303    copts = ABSL_TEST_COPTS,
1304    linkopts = ABSL_DEFAULT_LINKOPTS,
1305    visibility = ["//visibility:private"],
1306    deps = [
1307        ":str_format",
1308        ":strings",
1309        "//absl/base",
1310        "//absl/types:optional",
1311    ],
1312)
1313