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