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