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