# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build_overrides/build.gni")
import("//third_party/abseil-cpp/absl.gni")

absl_source_set("strings") {
  sources = [
    "ascii.cc",
    "charconv.cc",
    "escaping.cc",
    "internal/charconv_bigint.cc",
    "internal/charconv_bigint.h",
    "internal/charconv_parse.cc",
    "internal/charconv_parse.h",
    "internal/memutil.cc",
    "internal/memutil.h",
    "internal/stl_type_traits.h",
    "internal/str_join_internal.h",
    "internal/str_split_internal.h",
    "match.cc",
    "numbers.cc",
    "str_cat.cc",
    "str_replace.cc",
    "str_split.cc",
    "string_view.cc",
    "substitute.cc",
  ]
  public = [
    "ascii.h",
    "charconv.h",
    "escaping.h",
    "internal/string_constant.h",
    "match.h",
    "numbers.h",
    "str_cat.h",
    "str_join.h",
    "str_replace.h",
    "str_split.h",
    "string_view.h",
    "strip.h",
    "substitute.h",
  ]
  deps = [
    ":internal",
    "//third_party/abseil-cpp/absl/base",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:endian",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/base:throw_delegate",
    "//third_party/abseil-cpp/absl/memory",
    "//third_party/abseil-cpp/absl/meta:type_traits",
    "//third_party/abseil-cpp/absl/numeric:bits",
    "//third_party/abseil-cpp/absl/numeric:int128",
  ]
}

absl_source_set("internal") {
  sources = [
    "internal/escaping.cc",
    "internal/ostringstream.cc",
    "internal/utf8.cc",
  ]
  public = [
    "internal/char_map.h",
    "internal/escaping.h",
    "internal/ostringstream.h",
    "internal/resize_uninitialized.h",
    "internal/utf8.h",
  ]
  deps = [
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:endian",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/meta:type_traits",
  ]
}

absl_source_set("str_format") {
  public = [ "str_format.h" ]
  deps = [ ":str_format_internal" ]
}

absl_source_set("str_format_internal") {
  sources = [
    "internal/str_format/arg.cc",
    "internal/str_format/bind.cc",
    "internal/str_format/extension.cc",
    "internal/str_format/float_conversion.cc",
    "internal/str_format/output.cc",
    "internal/str_format/parser.cc",
  ]
  public = [
    "internal/str_format/arg.h",
    "internal/str_format/bind.h",
    "internal/str_format/checker.h",
    "internal/str_format/extension.h",
    "internal/str_format/float_conversion.h",
    "internal/str_format/output.h",
    "internal/str_format/parser.h",
  ]
  visibility = [ ":*" ]
  deps = [
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/functional:function_ref",
    "//third_party/abseil-cpp/absl/meta:type_traits",
    "//third_party/abseil-cpp/absl/numeric:bits",
    "//third_party/abseil-cpp/absl/numeric:int128",
    "//third_party/abseil-cpp/absl/numeric:representation",
    "//third_party/abseil-cpp/absl/types:optional",
    "//third_party/abseil-cpp/absl/types:span",
  ]
}

absl_source_set("cord_internal") {
  sources = [
    "internal/cord_internal.cc",
    "internal/cord_rep_btree.cc",
    "internal/cord_rep_btree_navigator.cc",
    "internal/cord_rep_btree_reader.cc",
    "internal/cord_rep_concat.cc",
    "internal/cord_rep_consume.cc",
    "internal/cord_rep_crc.cc",
    "internal/cord_rep_ring.cc",
  ]
  public = [
    "internal/cord_internal.h",
    "internal/cord_rep_btree.h",
    "internal/cord_rep_btree_navigator.h",
    "internal/cord_rep_btree_reader.h",
    "internal/cord_rep_consume.h",
    "internal/cord_rep_crc.h",
    "internal/cord_rep_flat.h",
    "internal/cord_rep_ring.h",
    "internal/cord_rep_ring_reader.h",
  ]
  visibility = [ ":*" ]
  deps = [
    ":strings",
    "//third_party/abseil-cpp/absl/base:base_internal",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:endian",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/base:throw_delegate",
    "//third_party/abseil-cpp/absl/container:compressed_tuple",
    "//third_party/abseil-cpp/absl/container:inlined_vector",
    "//third_party/abseil-cpp/absl/container:layout",
    "//third_party/abseil-cpp/absl/functional:function_ref",
    "//third_party/abseil-cpp/absl/meta:type_traits",
    "//third_party/abseil-cpp/absl/types:span",
  ]
}

absl_source_set("cord_rep_btree_test") {
  testonly = true
  sources = [ "internal/cord_rep_btree_test.cc" ]
  deps = [
    ":cord_internal",
    ":cord_rep_test_util",
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/cleanup",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("cord_rep_btree_reader_test") {
  testonly = true
  sources = [ "internal/cord_rep_btree_reader_test.cc" ]
  deps = [
    ":cord",
    ":cord_internal",
    ":cord_rep_test_util",
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("cord_rep_crc_test") {
  testonly = true
  sources = [ "internal/cord_rep_crc_test.cc" ]
  deps = [
    ":cord_internal",
    ":cord_rep_test_util",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("cordz_update_tracker") {
  public = [ "internal/cordz_update_tracker.h" ]
  visibility = [ "//third_party/abseil-cpp/*" ]
  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
}

absl_source_set("cordz_update_tracker_test") {
  testonly = true
  sources = [ "internal/cordz_update_tracker_test.cc" ]
  deps = [
    ":cordz_update_tracker",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/synchronization",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("cord") {
  sources = [
    "cord.cc",
    "cord_analysis.cc",
    "cord_analysis.h",
  ]
  public = [ "cord.h" ]
  deps = [
    ":cord_internal",
    ":cordz_functions",
    ":cordz_info",
    ":cordz_statistics",
    ":cordz_update_scope",
    ":cordz_update_tracker",
    ":internal",
    ":str_format",
    ":strings",
    "//third_party/abseil-cpp/absl/base",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:endian",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/container:fixed_array",
    "//third_party/abseil-cpp/absl/container:inlined_vector",
    "//third_party/abseil-cpp/absl/functional:function_ref",
    "//third_party/abseil-cpp/absl/meta:type_traits",
    "//third_party/abseil-cpp/absl/numeric:bits",
    "//third_party/abseil-cpp/absl/types:optional",
    "//third_party/abseil-cpp/absl/types:span",
  ]
}

absl_source_set("cordz_handle") {
  sources = [ "internal/cordz_handle.cc" ]
  public = [ "internal/cordz_handle.h" ]
  visibility = [ "//third_party/abseil-cpp/*" ]
  deps = [
    "//third_party/abseil-cpp/absl/base",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/synchronization",
  ]
}

absl_source_set("cordz_info") {
  sources = [ "internal/cordz_info.cc" ]
  public = [ "internal/cordz_info.h" ]
  visibility = [ "//third_party/abseil-cpp/*" ]
  deps = [
    ":cord_internal",
    ":cordz_functions",
    ":cordz_handle",
    ":cordz_statistics",
    ":cordz_update_tracker",
    "//third_party/abseil-cpp/absl/base",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/container:inlined_vector",
    "//third_party/abseil-cpp/absl/debugging:stacktrace",
    "//third_party/abseil-cpp/absl/synchronization",
    "//third_party/abseil-cpp/absl/types:span",
  ]
}

absl_source_set("cordz_update_scope") {
  public = [ "internal/cordz_update_scope.h" ]
  visibility = [ "//third_party/abseil-cpp/*" ]
  deps = [
    ":cord_internal",
    ":cordz_info",
    ":cordz_update_tracker",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
  ]
}

absl_source_set("cordz_update_scope_test") {
  testonly = true
  sources = [ "internal/cordz_update_scope_test.cc" ]
  deps = [
    ":cord_internal",
    ":cordz_info",
    ":cordz_test_helpers",
    ":cordz_update_scope",
    ":cordz_update_tracker",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("cordz_sample_token") {
  sources = [ "internal/cordz_sample_token.cc" ]
  public = [ "internal/cordz_sample_token.h" ]
  visibility = [ "//third_party/abseil-cpp/*" ]
  deps = [
    ":cordz_handle",
    ":cordz_info",
    "//third_party/abseil-cpp/absl/base:config",
  ]
}

absl_source_set("cordz_functions") {
  sources = [ "internal/cordz_functions.cc" ]
  public = [ "internal/cordz_functions.h" ]
  visibility = [ "//third_party/abseil-cpp/*" ]
  deps = [
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/abseil-cpp/absl/profiling:exponential_biased",
  ]
}

absl_source_set("cordz_statistics") {
  public = [ "internal/cordz_statistics.h" ]
  visibility = [ "//third_party/abseil-cpp/*" ]
  deps = [
    ":cordz_update_tracker",
    "//third_party/abseil-cpp/absl/base:config",
  ]
}

absl_source_set("cordz_functions_test") {
  testonly = true
  sources = [ "internal/cordz_functions_test.cc" ]
  deps = [
    ":cordz_functions",
    ":cordz_test_helpers",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

# TODO(b/186638384): Re-enable when random is compilable on win32-archive-rel bot
# absl_source_set("cordz_handle_test") {
#   testonly = true
#   sources = [ "internal/cordz_handle_test.cc" ]
#   deps = [
#     ":cordz_handle",
#     "//third_party/abseil-cpp/absl/base:config",
#     "//third_party/abseil-cpp/absl/memory",
#     "//third_party/abseil-cpp/absl/random",
#     "//third_party/abseil-cpp/absl/random:distributions",
#     "//third_party/abseil-cpp/absl/synchronization",
#     "//third_party/abseil-cpp/absl/synchronization:thread_pool",
#     "//third_party/abseil-cpp/absl/time",
#     "//third_party/googletest:gmock",
#     "//third_party/googletest:gtest",
#   ]
# }

absl_source_set("cordz_info_test") {
  testonly = true
  sources = [ "internal/cordz_info_test.cc" ]
  deps = [
    ":cord_internal",
    ":cordz_handle",
    ":cordz_info",
    ":cordz_statistics",
    ":cordz_test_helpers",
    ":cordz_update_tracker",
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/debugging:stacktrace",
    "//third_party/abseil-cpp/absl/debugging:symbolize",
    "//third_party/abseil-cpp/absl/types:span",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("cordz_info_statistics_test") {
  testonly = true
  sources = [ "internal/cordz_info_statistics_test.cc" ]
  deps = [
    ":cord",
    ":cord_internal",
    ":cordz_info",
    ":cordz_sample_token",
    ":cordz_statistics",
    ":cordz_update_scope",
    ":cordz_update_tracker",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/synchronization",
    "//third_party/abseil-cpp/absl/synchronization:thread_pool",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

# TODO(b/186638384): Re-enable when random is compilable on win32-archive-rel bot
# absl_source_set("cordz_sample_token_test") {
#   testonly = true
#   sources = [ "internal/cordz_sample_token_test.cc" ]
#   deps = [
#     ":cord_internal",
#     ":cordz_handle",
#     ":cordz_info",
#     ":cordz_sample_token",
#     ":cordz_test_helpers",
#     "//third_party/abseil-cpp/absl/base:config",
#     "//third_party/abseil-cpp/absl/memory",
#     "//third_party/abseil-cpp/absl/random",
#     "//third_party/abseil-cpp/absl/synchronization",
#     "//third_party/abseil-cpp/absl/synchronization:thread_pool",
#     "//third_party/abseil-cpp/absl/time",
#     "//third_party/googletest:gmock",
#     "//third_party/googletest:gtest",
#   ]
# }

absl_source_set("cord_test_helpers") {
  testonly = true
  public = [ "cord_test_helpers.h" ]
  deps = [
    ":cord",
    ":cord_internal",
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
  ]
}

absl_source_set("cord_rep_test_util") {
  testonly = true
  public = [ "internal/cord_rep_test_util.h" ]
  deps = [
    ":cord_internal",
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
  ]
}

absl_source_set("cordz_test_helpers") {
  testonly = true
  public = [ "cordz_test_helpers.h" ]
  deps = [
    ":cord",
    ":cord_internal",
    ":cordz_info",
    ":cordz_sample_token",
    ":cordz_statistics",
    ":cordz_update_tracker",
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/googletest:gtest",
  ]
}

# TODO(b/186638384): Re-enable when random is compilable on win32-archive-rel bot
# absl_source_set("cord_test") {
#   testonly = true
#   public = [ "cord_test.cc" ]
#   deps = [
#     ":cord",
#     ":cord_test_helpers",
#     ":cordz_functions",
#     ":cordz_test_helpers",
#     ":str_format",
#     ":strings",
#     "//third_party/abseil-cpp/absl/base",
#     "//third_party/abseil-cpp/absl/base:config",
#     "//third_party/abseil-cpp/absl/base:core_headers",
#     "//third_party/abseil-cpp/absl/base:endian",
#     "//third_party/abseil-cpp/absl/base:raw_logging_internal",
#     "//third_party/abseil-cpp/absl/container:fixed_array",
#     "//third_party/abseil-cpp/absl/hash",
#     "//third_party/abseil-cpp/absl/random",
#     "//third_party/googletest:gtest",
#   ]
# }

absl_source_set("cordz_test") {
  testonly = true
  sources = [ "cordz_test.cc" ]
  deps = [
    ":cord",
    ":cord_test_helpers",
    ":cordz_functions",
    ":cordz_info",
    ":cordz_sample_token",
    ":cordz_statistics",
    ":cordz_test_helpers",
    ":cordz_update_tracker",
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("pow10_helper") {
  testonly = true
  sources = [ "internal/pow10_helper.cc" ]
  public = [ "internal/pow10_helper.h" ]
  visibility = [ ":*" ]
  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
}

absl_source_set("ascii_test") {
  testonly = true
  sources = [ "ascii_test.cc" ]
  deps = [
    ":strings",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("match_test") {
  testonly = true
  sources = [ "match_test.cc" ]
  deps = [
    ":strings",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("str_replace_test") {
  testonly = true
  sources = [ "str_replace_test.cc" ]
  deps = [
    ":strings",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("string_view_test") {
  testonly = true
  sources = [ "string_view_test.cc" ]
  deps = [
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
    "//third_party/googletest:gtest",
  ]
}

absl_source_set("cord_rep_btree_navigator_test") {
  testonly = true
  sources = [ "internal/cord_rep_btree_navigator_test.cc" ]
  deps = [
    ":cord_internal",
    ":cord_rep_test_util",
    ":strings",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
    "//third_party/googletest:gmock",
    "//third_party/googletest:gtest",
  ]
}
