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

# Flags specified here must not impact ABI. Code compiled with and without these
# opts will be linked together, and in some cases headers compiled with and
# without these options will be part of the same program.

import("//build/config/c++/c++.gni")
import("//build/config/nacl/config.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/toolchain/toolchain.gni")
import("//build_overrides/build.gni")
import("//third_party/abseil-cpp/absl.gni")

config("absl_component_build") {
  defines = [ "ABSL_CONSUME_DLL" ]
}

assert(!is_nacl || is_nacl_saigo,
       "base must not be built in most nacl toolchains")

component("absl") {
  public_deps = [ ":absl_component_deps" ]
  if (is_component_build) {
    public_configs = [ ":absl_component_build" ]

    if (is_win && is_clang) {
      if (current_cpu == "x64") {
        if (is_debug) {
          sources = [ "symbols_x64_dbg.def" ]
        } else {
          if (is_asan) {
            sources = [ "symbols_x64_rel_asan.def" ]
          } else {
            sources = [ "symbols_x64_rel.def" ]
          }
        }
      }
      if (current_cpu == "x86") {
        if (is_debug) {
          sources = [ "symbols_x86_dbg.def" ]
        } else {
          sources = [ "symbols_x86_rel.def" ]
        }
      }
      if (current_cpu == "arm64") {
        if (is_debug) {
          sources = [ "symbols_arm64_dbg.def" ]
        } else {
          sources = [ "symbols_arm64_rel.def" ]
        }
      }
    }
  }
}

group("absl_component_deps") {
  public_deps = [
    "//third_party/abseil-cpp/absl/algorithm:container",
    "//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:prefetch",
    "//third_party/abseil-cpp/absl/cleanup",
    "//third_party/abseil-cpp/absl/container:btree",
    "//third_party/abseil-cpp/absl/container:fixed_array",
    "//third_party/abseil-cpp/absl/container:flat_hash_map",
    "//third_party/abseil-cpp/absl/container:flat_hash_set",
    "//third_party/abseil-cpp/absl/container:inlined_vector",
    "//third_party/abseil-cpp/absl/container:node_hash_map",
    "//third_party/abseil-cpp/absl/container:node_hash_set",
    "//third_party/abseil-cpp/absl/debugging:failure_signal_handler",
    "//third_party/abseil-cpp/absl/debugging:stacktrace",
    "//third_party/abseil-cpp/absl/debugging:symbolize",
    "//third_party/abseil-cpp/absl/functional:any_invocable",
    "//third_party/abseil-cpp/absl/functional:bind_front",
    "//third_party/abseil-cpp/absl/functional:function_ref",
    "//third_party/abseil-cpp/absl/hash",
    "//third_party/abseil-cpp/absl/log:absl_check",
    "//third_party/abseil-cpp/absl/log:absl_log",
    "//third_party/abseil-cpp/absl/log:die_if_null",
    "//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",
    "//third_party/abseil-cpp/absl/random",
    "//third_party/abseil-cpp/absl/random:distributions",
    "//third_party/abseil-cpp/absl/status",
    "//third_party/abseil-cpp/absl/status:statusor",
    "//third_party/abseil-cpp/absl/strings",
    "//third_party/abseil-cpp/absl/strings:cord",
    "//third_party/abseil-cpp/absl/strings:str_format",
    "//third_party/abseil-cpp/absl/synchronization",
    "//third_party/abseil-cpp/absl/time",
    "//third_party/abseil-cpp/absl/types:optional",
    "//third_party/abseil-cpp/absl/types:span",
    "//third_party/abseil-cpp/absl/types:variant",
    "//third_party/abseil-cpp/absl/utility",
  ]

  # The following dependencies currently don't build with NaCl.
  # TODO(https://crbug.com/1114625): Fix build errors and remove this section.
  if (is_nacl) {
    public_deps -=
        [ "//third_party/abseil-cpp/absl/debugging:failure_signal_handler" ]
  }

  visibility = [ ":absl" ]
}

config("absl_include_config") {
  include_dirs = [ "." ]
}

config("absl_define_config") {
  defines = [ "ABSL_ALLOCATOR_NOTHROW=1" ]

  if (is_win && !use_custom_libcxx) {
    defines += [
      # See crbug.com/1101367: Acknowledge extended alignment when using
      # MSVC's standard library.
      "_ENABLE_EXTENDED_ALIGNED_STORAGE",
    ]
  }
}

config("absl_default_cflags_cc") {
  cflags_cc = []
  if (is_clang) {
    cflags_cc += [
      # TODO(crbug.com/588506): Explicitly enable conversion warnings.
      "-Wbool-conversion",
      "-Wconstant-conversion",
      "-Wenum-conversion",
      "-Wint-conversion",
      "-Wliteral-conversion",
      "-Wnon-literal-null-conversion",
      "-Wnull-conversion",
      "-Wobjc-literal-conversion",
      "-Wstring-conversion",
    ]
    if (!is_nacl) {
      cflags_cc += [ "-Wbitfield-enum-conversion" ]
    }
  }
}

config("absl_test_cflags_cc") {
  cflags_cc = []
  if (is_clang || !is_win) {
    cflags_cc += [
      "-Wno-conversion-null",
      "-Wno-missing-declarations",
      "-Wno-unused-function",
      "-Wno-unused-parameter",
      "-Wno-unused-private-field",
    ]
  }
  if (is_win) {
    cflags_cc += [
      "/wd4101",  # unreferenced local variable
    ]
  }
}

config("absl_test_config") {
  cflags_cc = []
  if (is_win && !is_clang) {
    cflags_cc += [ "/wd4996" ]
  }
  if (is_clang) {
    cflags_cc += [
      "-Wno-deprecated-declarations",
      "-Wno-implicit-const-int-float-conversion",
      "-Wno-unused-private-field",
      "-Wno-unused-function",
    ]
  }
}

if (build_with_chromium) {
  import("//testing/test.gni")

  if (!is_component_build) {
    test("absl_tests") {
      testonly = true
      deps = [
        "absl/algorithm:algorithm_test",
        "absl/algorithm:container_test",
        "absl/base:config_test",
        "absl/base:prefetch_test",
        "absl/cleanup:cleanup_test",
        # TODO(mbonadei): Fix issue with EXPECT_DEATH and uncomment.
        # "absl/container:btree_test",
        "absl/container:common_policy_traits_test",
        "absl/container:inlined_vector_test",
        "absl/container:node_slot_policy_test",
        "absl/container:sample_element_size_test",
        "absl/crc:crc32c_test",
        "absl/crc:crc_cord_state_test",
        "absl/crc:crc_memcpy_test",
        "absl/crc:non_temporal_memcpy_test",
        "absl/debugging:stacktrace_test",
        "absl/functional:any_invocable_test",
        "absl/hash:hash_test",
        "absl/hash:low_level_hash_test",
        "absl/log:absl_check_test",
        "absl/log:absl_log_basic_test",
        "absl/log:die_if_null_test",
        "absl/log:flags_test",
        "absl/log:globals_test",
        "absl/log:log_entry_test",
        "absl/log:log_format_test",
        "absl/log:log_macro_hygiene_test",
        "absl/log:log_modifier_methods_test",
        "absl/log:log_sink_test",
        "absl/log:log_streamer_test",
        "absl/log:scoped_mock_log_test",
        "absl/log:stripping_test",
        "absl/log/internal:stderr_log_sink_test",
        "absl/memory:memory_test",
        "absl/meta:type_traits_test",
        "absl/numeric:int128_test",
        "absl/profiling:exponential_biased_test",
        "absl/profiling:periodic_sampler_test",
        "absl/status:statusor_test",
        "absl/strings:ascii_test",
        "absl/strings:cord_buffer_test",
        "absl/strings:cord_data_edge_test",
        "absl/strings:cord_rep_btree_navigator_test",
        "absl/strings:cord_rep_btree_reader_test",
        "absl/strings:cord_rep_btree_test",
        "absl/strings:cord_rep_crc_test",
        "absl/strings:cordz_functions_test",
        "absl/strings:cordz_info_statistics_test",
        "absl/strings:cordz_info_test",
        "absl/strings:cordz_test",
        "absl/strings:cordz_update_scope_test",
        "absl/strings:cordz_update_tracker_test",
        "absl/strings:damerau_levenshtein_distance_test",
        "absl/strings:match_test",
        "absl/strings:str_replace_test",
        "absl/strings:string_view_test",
        "absl/synchronization:kernel_timeout_internal_test",
        "absl/synchronization:waiter_test",
        "absl/time:time_test",
        "absl/types:optional_test",
        "absl/types:variant_test",
        "//third_party/googletest:gtest_main",
      ]
    }
  }

  test("absl_hardening_tests") {
    testonly = true
    sources = [ "absl_hardening_test.cc" ]
    deps = [
      ":absl",
      "//base/test:run_all_unittests",
      "//third_party/googletest:gtest",
    ]
  }
}
