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