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