xref: /aosp_15_r20/external/webrtc/third_party/abseil-cpp/absl/strings/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1# Copyright 2018 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build_overrides/build.gni")
6import("//third_party/abseil-cpp/absl.gni")
7
8absl_source_set("strings") {
9  sources = [
10    "ascii.cc",
11    "charconv.cc",
12    "escaping.cc",
13    "internal/charconv_bigint.cc",
14    "internal/charconv_bigint.h",
15    "internal/charconv_parse.cc",
16    "internal/charconv_parse.h",
17    "internal/damerau_levenshtein_distance.cc",
18    "internal/memutil.cc",
19    "internal/memutil.h",
20    "internal/stl_type_traits.h",
21    "internal/str_join_internal.h",
22    "internal/str_split_internal.h",
23    "internal/stringify_sink.cc",
24    "internal/stringify_sink.h",
25    "match.cc",
26    "numbers.cc",
27    "str_cat.cc",
28    "str_replace.cc",
29    "str_split.cc",
30    "string_view.cc",
31    "substitute.cc",
32  ]
33  public = [
34    "ascii.h",
35    "charconv.h",
36    "escaping.h",
37    "internal/damerau_levenshtein_distance.h",
38    "internal/string_constant.h",
39    "match.h",
40    "numbers.h",
41    "str_cat.h",
42    "str_join.h",
43    "str_replace.h",
44    "str_split.h",
45    "string_view.h",
46    "strip.h",
47    "substitute.h",
48  ]
49  deps = [
50    ":internal",
51    "//third_party/abseil-cpp/absl/base",
52    "//third_party/abseil-cpp/absl/base:config",
53    "//third_party/abseil-cpp/absl/base:core_headers",
54    "//third_party/abseil-cpp/absl/base:endian",
55    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
56    "//third_party/abseil-cpp/absl/base:throw_delegate",
57    "//third_party/abseil-cpp/absl/memory",
58    "//third_party/abseil-cpp/absl/meta:type_traits",
59    "//third_party/abseil-cpp/absl/numeric:bits",
60    "//third_party/abseil-cpp/absl/numeric:int128",
61  ]
62}
63
64absl_source_set("internal") {
65  sources = [
66    "internal/escaping.cc",
67    "internal/ostringstream.cc",
68    "internal/utf8.cc",
69  ]
70  public = [
71    "internal/char_map.h",
72    "internal/escaping.h",
73    "internal/ostringstream.h",
74    "internal/resize_uninitialized.h",
75    "internal/utf8.h",
76  ]
77  deps = [
78    "//third_party/abseil-cpp/absl/base:config",
79    "//third_party/abseil-cpp/absl/base:core_headers",
80    "//third_party/abseil-cpp/absl/base:endian",
81    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
82    "//third_party/abseil-cpp/absl/meta:type_traits",
83  ]
84}
85
86absl_source_set("str_format") {
87  public = [ "str_format.h" ]
88  deps = [ ":str_format_internal" ]
89}
90
91absl_source_set("str_format_internal") {
92  sources = [
93    "internal/str_format/arg.cc",
94    "internal/str_format/bind.cc",
95    "internal/str_format/extension.cc",
96    "internal/str_format/float_conversion.cc",
97    "internal/str_format/output.cc",
98    "internal/str_format/parser.cc",
99  ]
100  public = [
101    "internal/str_format/arg.h",
102    "internal/str_format/bind.h",
103    "internal/str_format/checker.h",
104    "internal/str_format/extension.h",
105    "internal/str_format/float_conversion.h",
106    "internal/str_format/output.h",
107    "internal/str_format/parser.h",
108  ]
109  visibility = [ ":*" ]
110  deps = [
111    ":strings",
112    "//third_party/abseil-cpp/absl/base:config",
113    "//third_party/abseil-cpp/absl/base:core_headers",
114    "//third_party/abseil-cpp/absl/functional:function_ref",
115    "//third_party/abseil-cpp/absl/meta:type_traits",
116    "//third_party/abseil-cpp/absl/numeric:bits",
117    "//third_party/abseil-cpp/absl/numeric:int128",
118    "//third_party/abseil-cpp/absl/numeric:representation",
119    "//third_party/abseil-cpp/absl/types:optional",
120    "//third_party/abseil-cpp/absl/types:span",
121    "//third_party/abseil-cpp/absl/utility",
122  ]
123}
124
125absl_source_set("cord_internal") {
126  sources = [
127    "internal/cord_internal.cc",
128    "internal/cord_rep_btree.cc",
129    "internal/cord_rep_btree_navigator.cc",
130    "internal/cord_rep_btree_reader.cc",
131    "internal/cord_rep_consume.cc",
132    "internal/cord_rep_crc.cc",
133    "internal/cord_rep_ring.cc",
134  ]
135  public = [
136    "internal/cord_data_edge.h",
137    "internal/cord_internal.h",
138    "internal/cord_rep_btree.h",
139    "internal/cord_rep_btree_navigator.h",
140    "internal/cord_rep_btree_reader.h",
141    "internal/cord_rep_consume.h",
142    "internal/cord_rep_crc.h",
143    "internal/cord_rep_flat.h",
144    "internal/cord_rep_ring.h",
145    "internal/cord_rep_ring_reader.h",
146  ]
147  visibility = [ ":*" ]
148  deps = [
149    ":strings",
150    "//third_party/abseil-cpp/absl/base:base_internal",
151    "//third_party/abseil-cpp/absl/base:config",
152    "//third_party/abseil-cpp/absl/base:core_headers",
153    "//third_party/abseil-cpp/absl/base:endian",
154    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
155    "//third_party/abseil-cpp/absl/base:throw_delegate",
156    "//third_party/abseil-cpp/absl/container:compressed_tuple",
157    "//third_party/abseil-cpp/absl/container:inlined_vector",
158    "//third_party/abseil-cpp/absl/container:layout",
159    "//third_party/abseil-cpp/absl/functional:function_ref",
160    "//third_party/abseil-cpp/absl/meta:type_traits",
161    "//third_party/abseil-cpp/absl/types:span",
162  ]
163}
164
165absl_test("cord_data_edge_test") {
166  sources = [ "internal/cord_data_edge_test.cc" ]
167  deps = [
168    ":cord_internal",
169    ":cord_rep_test_util",
170    ":strings",
171    "//third_party/abseil-cpp/absl/base:config",
172  ]
173}
174
175absl_test("cord_rep_btree_test") {
176  sources = [ "internal/cord_rep_btree_test.cc" ]
177  deps = [
178    ":cord_internal",
179    ":cord_rep_test_util",
180    ":strings",
181    "//third_party/abseil-cpp/absl/base:config",
182    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
183    "//third_party/abseil-cpp/absl/cleanup",
184  ]
185}
186
187absl_test("cord_rep_btree_reader_test") {
188  sources = [ "internal/cord_rep_btree_reader_test.cc" ]
189  deps = [
190    ":cord",
191    ":cord_internal",
192    ":cord_rep_test_util",
193    ":strings",
194    "//third_party/abseil-cpp/absl/base:config",
195    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
196  ]
197}
198
199absl_test("cord_rep_crc_test") {
200  sources = [ "internal/cord_rep_crc_test.cc" ]
201  deps = [
202    ":cord_internal",
203    ":cord_rep_test_util",
204    "//third_party/abseil-cpp/absl/base:config",
205  ]
206}
207
208absl_source_set("cordz_update_tracker") {
209  public = [ "internal/cordz_update_tracker.h" ]
210  visibility = [ "//third_party/abseil-cpp/*" ]
211  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
212}
213
214absl_test("cordz_update_tracker_test") {
215  sources = [ "internal/cordz_update_tracker_test.cc" ]
216  deps = [
217    ":cordz_update_tracker",
218    "//third_party/abseil-cpp/absl/base:config",
219    "//third_party/abseil-cpp/absl/base:core_headers",
220    "//third_party/abseil-cpp/absl/synchronization",
221  ]
222}
223
224absl_source_set("cord") {
225  sources = [
226    "cord.cc",
227    "cord_analysis.cc",
228    "cord_analysis.h",
229    "cord_buffer.cc",
230  ]
231  public = [
232    "cord.h",
233    "cord_buffer.h",
234  ]
235  deps = [
236    ":cord_internal",
237    ":cordz_functions",
238    ":cordz_info",
239    ":cordz_statistics",
240    ":cordz_update_scope",
241    ":cordz_update_tracker",
242    ":internal",
243    ":str_format",
244    ":strings",
245    "//third_party/abseil-cpp/absl/base",
246    "//third_party/abseil-cpp/absl/base:config",
247    "//third_party/abseil-cpp/absl/base:core_headers",
248    "//third_party/abseil-cpp/absl/base:endian",
249    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
250    "//third_party/abseil-cpp/absl/container:fixed_array",
251    "//third_party/abseil-cpp/absl/container:inlined_vector",
252    "//third_party/abseil-cpp/absl/functional:function_ref",
253    "//third_party/abseil-cpp/absl/meta:type_traits",
254    "//third_party/abseil-cpp/absl/numeric:bits",
255    "//third_party/abseil-cpp/absl/types:optional",
256    "//third_party/abseil-cpp/absl/types:span",
257  ]
258}
259
260absl_source_set("cordz_handle") {
261  sources = [ "internal/cordz_handle.cc" ]
262  public = [ "internal/cordz_handle.h" ]
263  visibility = [ "//third_party/abseil-cpp/*" ]
264  deps = [
265    "//third_party/abseil-cpp/absl/base",
266    "//third_party/abseil-cpp/absl/base:config",
267    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
268    "//third_party/abseil-cpp/absl/synchronization",
269  ]
270}
271
272absl_source_set("cordz_info") {
273  sources = [ "internal/cordz_info.cc" ]
274  public = [ "internal/cordz_info.h" ]
275  visibility = [ "//third_party/abseil-cpp/*" ]
276  deps = [
277    ":cord_internal",
278    ":cordz_functions",
279    ":cordz_handle",
280    ":cordz_statistics",
281    ":cordz_update_tracker",
282    "//third_party/abseil-cpp/absl/base",
283    "//third_party/abseil-cpp/absl/base:config",
284    "//third_party/abseil-cpp/absl/base:core_headers",
285    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
286    "//third_party/abseil-cpp/absl/container:inlined_vector",
287    "//third_party/abseil-cpp/absl/debugging:stacktrace",
288    "//third_party/abseil-cpp/absl/synchronization",
289    "//third_party/abseil-cpp/absl/types:span",
290  ]
291}
292
293absl_source_set("cordz_update_scope") {
294  public = [ "internal/cordz_update_scope.h" ]
295  visibility = [ "//third_party/abseil-cpp/*" ]
296  deps = [
297    ":cord_internal",
298    ":cordz_info",
299    ":cordz_update_tracker",
300    "//third_party/abseil-cpp/absl/base:config",
301    "//third_party/abseil-cpp/absl/base:core_headers",
302  ]
303}
304
305absl_test("cordz_update_scope_test") {
306  sources = [ "internal/cordz_update_scope_test.cc" ]
307  deps = [
308    ":cord_internal",
309    ":cordz_info",
310    ":cordz_test_helpers",
311    ":cordz_update_scope",
312    ":cordz_update_tracker",
313    "//third_party/abseil-cpp/absl/base:config",
314  ]
315}
316
317absl_source_set("cordz_sample_token") {
318  sources = [ "internal/cordz_sample_token.cc" ]
319  public = [ "internal/cordz_sample_token.h" ]
320  visibility = [ "//third_party/abseil-cpp/*" ]
321  deps = [
322    ":cordz_handle",
323    ":cordz_info",
324    "//third_party/abseil-cpp/absl/base:config",
325  ]
326}
327
328absl_source_set("cordz_functions") {
329  sources = [ "internal/cordz_functions.cc" ]
330  public = [ "internal/cordz_functions.h" ]
331  visibility = [ "//third_party/abseil-cpp/*" ]
332  deps = [
333    "//third_party/abseil-cpp/absl/base:config",
334    "//third_party/abseil-cpp/absl/base:core_headers",
335    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
336    "//third_party/abseil-cpp/absl/profiling:exponential_biased",
337  ]
338}
339
340absl_source_set("cordz_statistics") {
341  public = [ "internal/cordz_statistics.h" ]
342  visibility = [ "//third_party/abseil-cpp/*" ]
343  deps = [
344    ":cordz_update_tracker",
345    "//third_party/abseil-cpp/absl/base:config",
346  ]
347}
348
349absl_test("cordz_functions_test") {
350  sources = [ "internal/cordz_functions_test.cc" ]
351  deps = [
352    ":cordz_functions",
353    ":cordz_test_helpers",
354    "//third_party/abseil-cpp/absl/base:config",
355  ]
356}
357
358# TODO(b/186638384): Re-enable when random is compilable on win32-archive-rel bot
359# absl_test("cordz_handle_test") {
360#   sources = [ "internal/cordz_handle_test.cc" ]
361#   deps = [
362#     ":cordz_handle",
363#     "//third_party/abseil-cpp/absl/base:config",
364#     "//third_party/abseil-cpp/absl/memory",
365#     "//third_party/abseil-cpp/absl/random",
366#     "//third_party/abseil-cpp/absl/random:distributions",
367#     "//third_party/abseil-cpp/absl/synchronization",
368#     "//third_party/abseil-cpp/absl/synchronization:thread_pool",
369#     "//third_party/abseil-cpp/absl/time",
370#   ]
371# }
372
373absl_test("cordz_info_test") {
374  sources = [ "internal/cordz_info_test.cc" ]
375  deps = [
376    ":cord_internal",
377    ":cordz_handle",
378    ":cordz_info",
379    ":cordz_statistics",
380    ":cordz_test_helpers",
381    ":cordz_update_tracker",
382    ":strings",
383    "//third_party/abseil-cpp/absl/base:config",
384    "//third_party/abseil-cpp/absl/debugging:stacktrace",
385    "//third_party/abseil-cpp/absl/debugging:symbolize",
386    "//third_party/abseil-cpp/absl/types:span",
387  ]
388}
389
390absl_test("cordz_info_statistics_test") {
391  sources = [ "internal/cordz_info_statistics_test.cc" ]
392  deps = [
393    ":cord",
394    ":cord_internal",
395    ":cordz_info",
396    ":cordz_sample_token",
397    ":cordz_statistics",
398    ":cordz_update_scope",
399    ":cordz_update_tracker",
400    "//third_party/abseil-cpp/absl/base:config",
401    "//third_party/abseil-cpp/absl/synchronization",
402    "//third_party/abseil-cpp/absl/synchronization:thread_pool",
403  ]
404}
405
406# TODO(b/186638384): Re-enable when random is compilable on win32-archive-rel bot
407# absl_test("cordz_sample_token_test") {
408#   sources = [ "internal/cordz_sample_token_test.cc" ]
409#   deps = [
410#     ":cord_internal",
411#     ":cordz_handle",
412#     ":cordz_info",
413#     ":cordz_sample_token",
414#     ":cordz_test_helpers",
415#     "//third_party/abseil-cpp/absl/base:config",
416#     "//third_party/abseil-cpp/absl/memory",
417#     "//third_party/abseil-cpp/absl/random",
418#     "//third_party/abseil-cpp/absl/synchronization",
419#     "//third_party/abseil-cpp/absl/synchronization:thread_pool",
420#     "//third_party/abseil-cpp/absl/time",
421#   ]
422# }
423
424absl_source_set("cord_test_helpers") {
425  testonly = true
426  public = [ "cord_test_helpers.h" ]
427  deps = [
428    ":cord",
429    ":cord_internal",
430    ":strings",
431    "//third_party/abseil-cpp/absl/base:config",
432  ]
433}
434
435absl_source_set("cord_rep_test_util") {
436  testonly = true
437  public = [ "internal/cord_rep_test_util.h" ]
438  deps = [
439    ":cord_internal",
440    ":strings",
441    "//third_party/abseil-cpp/absl/base:config",
442    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
443  ]
444}
445
446absl_source_set("cordz_test_helpers") {
447  testonly = true
448  public = [ "cordz_test_helpers.h" ]
449  deps = [
450    ":cord",
451    ":cord_internal",
452    ":cordz_info",
453    ":cordz_sample_token",
454    ":cordz_statistics",
455    ":cordz_update_tracker",
456    ":strings",
457    "//third_party/abseil-cpp/absl/base:config",
458    "//third_party/abseil-cpp/absl/base:core_headers",
459    "//third_party/googletest:gtest",
460  ]
461}
462
463# TODO(b/186638384): Re-enable when random is compilable on win32-archive-rel bot
464# absl_test("cord_test") {
465#   public = [ "cord_test.cc" ]
466#   deps = [
467#     ":cord",
468#     ":cord_test_helpers",
469#     ":cordz_functions",
470#     ":cordz_test_helpers",
471#     ":str_format",
472#     ":strings",
473#     "//third_party/abseil-cpp/absl/base:config",
474#     "//third_party/abseil-cpp/absl/base:core_headers",
475#     "//third_party/abseil-cpp/absl/base:endian",
476#     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
477#     "//third_party/abseil-cpp/absl/container:fixed_array",
478#     "//third_party/abseil-cpp/absl/hash",
479#     "//third_party/abseil-cpp/absl/log",
480#     "//third_party/abseil-cpp/absl/random",
481#   ]
482# }
483
484absl_test("cord_buffer_test") {
485  public = [ "cord_buffer_test.cc" ]
486  deps = [
487    ":cord",
488    ":cord_internal",
489    ":cord_rep_test_util",
490    "//third_party/abseil-cpp/absl/base:config",
491    "//third_party/abseil-cpp/absl/types:span",
492  ]
493}
494
495absl_test("cordz_test") {
496  sources = [ "cordz_test.cc" ]
497  deps = [
498    ":cord",
499    ":cord_test_helpers",
500    ":cordz_functions",
501    ":cordz_info",
502    ":cordz_sample_token",
503    ":cordz_statistics",
504    ":cordz_test_helpers",
505    ":cordz_update_tracker",
506    ":strings",
507    "//third_party/abseil-cpp/absl/base:config",
508    "//third_party/abseil-cpp/absl/base:core_headers",
509    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
510  ]
511}
512
513absl_source_set("pow10_helper") {
514  testonly = true
515  sources = [ "internal/pow10_helper.cc" ]
516  public = [ "internal/pow10_helper.h" ]
517  visibility = [ ":*" ]
518  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
519}
520
521absl_test("ascii_test") {
522  sources = [ "ascii_test.cc" ]
523  deps = [
524    ":strings",
525    "//third_party/abseil-cpp/absl/base:core_headers",
526  ]
527}
528
529absl_test("damerau_levenshtein_distance_test") {
530  sources = [ "internal/damerau_levenshtein_distance_test.cc" ]
531  deps = [ ":strings" ]
532}
533
534absl_test("match_test") {
535  sources = [ "match_test.cc" ]
536  deps = [ ":strings" ]
537}
538
539absl_test("str_replace_test") {
540  sources = [ "str_replace_test.cc" ]
541  deps = [ ":strings" ]
542}
543
544absl_test("string_view_test") {
545  sources = [ "string_view_test.cc" ]
546  deps = [
547    ":strings",
548    "//third_party/abseil-cpp/absl/base:config",
549    "//third_party/abseil-cpp/absl/base:core_headers",
550    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
551  ]
552}
553
554absl_test("cord_rep_btree_navigator_test") {
555  sources = [ "internal/cord_rep_btree_navigator_test.cc" ]
556  deps = [
557    ":cord_internal",
558    ":cord_rep_test_util",
559    ":strings",
560    "//third_party/abseil-cpp/absl/base:config",
561    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
562  ]
563}
564