1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2018 The Chromium Authors 2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 4*8975f5c5SAndroid Build Coastguard Worker 5*8975f5c5SAndroid Build Coastguard Worker# Flags specified here must not impact ABI. Code compiled with and without these 6*8975f5c5SAndroid Build Coastguard Worker# opts will be linked together, and in some cases headers compiled with and 7*8975f5c5SAndroid Build Coastguard Worker# without these options will be part of the same program. 8*8975f5c5SAndroid Build Coastguard Worker 9*8975f5c5SAndroid Build Coastguard Workerimport("//build/config/c++/c++.gni") 10*8975f5c5SAndroid Build Coastguard Workerimport("//build/config/nacl/config.gni") 11*8975f5c5SAndroid Build Coastguard Workerimport("//build/config/sanitizers/sanitizers.gni") 12*8975f5c5SAndroid Build Coastguard Workerimport("//build/toolchain/toolchain.gni") 13*8975f5c5SAndroid Build Coastguard Workerimport("//build_overrides/build.gni") 14*8975f5c5SAndroid Build Coastguard Workerimport("//third_party/abseil-cpp/absl.gni") 15*8975f5c5SAndroid Build Coastguard Worker 16*8975f5c5SAndroid Build Coastguard Workerconfig("absl_component_build") { 17*8975f5c5SAndroid Build Coastguard Worker defines = [ "ABSL_CONSUME_DLL" ] 18*8975f5c5SAndroid Build Coastguard Worker} 19*8975f5c5SAndroid Build Coastguard Worker 20*8975f5c5SAndroid Build Coastguard Workerassert(!is_nacl || is_nacl_saigo, 21*8975f5c5SAndroid Build Coastguard Worker "base must not be built in most nacl toolchains") 22*8975f5c5SAndroid Build Coastguard Worker 23*8975f5c5SAndroid Build Coastguard Workercomponent("absl") { 24*8975f5c5SAndroid Build Coastguard Worker public_deps = [ ":absl_component_deps" ] 25*8975f5c5SAndroid Build Coastguard Worker if (is_component_build) { 26*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":absl_component_build" ] 27*8975f5c5SAndroid Build Coastguard Worker 28*8975f5c5SAndroid Build Coastguard Worker if (is_win && is_clang) { 29*8975f5c5SAndroid Build Coastguard Worker if (current_cpu == "x64") { 30*8975f5c5SAndroid Build Coastguard Worker if (is_debug) { 31*8975f5c5SAndroid Build Coastguard Worker sources = [ "symbols_x64_dbg.def" ] 32*8975f5c5SAndroid Build Coastguard Worker } else { 33*8975f5c5SAndroid Build Coastguard Worker if (is_asan) { 34*8975f5c5SAndroid Build Coastguard Worker sources = [ "symbols_x64_rel_asan.def" ] 35*8975f5c5SAndroid Build Coastguard Worker } else { 36*8975f5c5SAndroid Build Coastguard Worker sources = [ "symbols_x64_rel.def" ] 37*8975f5c5SAndroid Build Coastguard Worker } 38*8975f5c5SAndroid Build Coastguard Worker } 39*8975f5c5SAndroid Build Coastguard Worker } 40*8975f5c5SAndroid Build Coastguard Worker if (current_cpu == "x86") { 41*8975f5c5SAndroid Build Coastguard Worker if (is_debug) { 42*8975f5c5SAndroid Build Coastguard Worker sources = [ "symbols_x86_dbg.def" ] 43*8975f5c5SAndroid Build Coastguard Worker } else { 44*8975f5c5SAndroid Build Coastguard Worker sources = [ "symbols_x86_rel.def" ] 45*8975f5c5SAndroid Build Coastguard Worker } 46*8975f5c5SAndroid Build Coastguard Worker } 47*8975f5c5SAndroid Build Coastguard Worker if (current_cpu == "arm64") { 48*8975f5c5SAndroid Build Coastguard Worker if (is_debug) { 49*8975f5c5SAndroid Build Coastguard Worker sources = [ "symbols_arm64_dbg.def" ] 50*8975f5c5SAndroid Build Coastguard Worker } else { 51*8975f5c5SAndroid Build Coastguard Worker sources = [ "symbols_arm64_rel.def" ] 52*8975f5c5SAndroid Build Coastguard Worker } 53*8975f5c5SAndroid Build Coastguard Worker } 54*8975f5c5SAndroid Build Coastguard Worker } 55*8975f5c5SAndroid Build Coastguard Worker } 56*8975f5c5SAndroid Build Coastguard Worker} 57*8975f5c5SAndroid Build Coastguard Worker 58*8975f5c5SAndroid Build Coastguard Workergroup("absl_component_deps") { 59*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 60*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/algorithm", 61*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/algorithm:container", 62*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base", 63*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:config", 64*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:core_headers", 65*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:log_severity", 66*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:no_destructor", 67*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:nullability", 68*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:prefetch", 69*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/cleanup", 70*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/container:btree", 71*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/container:fixed_array", 72*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/container:flat_hash_map", 73*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/container:flat_hash_set", 74*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/container:inlined_vector", 75*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/container:node_hash_map", 76*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/container:node_hash_set", 77*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/debugging:failure_signal_handler", 78*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/debugging:stacktrace", 79*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/debugging:symbolize", 80*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/functional:any_invocable", 81*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/functional:bind_front", 82*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/functional:function_ref", 83*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/functional:overload", 84*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/hash", 85*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:absl_check", 86*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:absl_log", 87*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:absl_vlog_is_on", 88*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:die_if_null", 89*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:globals", 90*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:initialize", 91*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:log_entry", 92*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:log_sink", 93*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:log_sink_registry", 94*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/memory", 95*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/meta:type_traits", 96*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/numeric:bits", 97*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/numeric:int128", 98*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/random", 99*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/random:distributions", 100*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/status", 101*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/status:statusor", 102*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 103*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings:cord", 104*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings:has_ostream_operator", 105*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings:str_format", 106*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings:string_view", 107*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/synchronization", 108*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/time", 109*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 110*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:span", 111*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:variant", 112*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/utility", 113*8975f5c5SAndroid Build Coastguard Worker ] 114*8975f5c5SAndroid Build Coastguard Worker 115*8975f5c5SAndroid Build Coastguard Worker # Dependencies that preferably shouldn't be public in chromium. 116*8975f5c5SAndroid Build Coastguard Worker public_deps += [ 117*8975f5c5SAndroid Build Coastguard Worker # public in abseil, but deprecated in chromium, yet used. 118*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:dynamic_annotations", 119*8975f5c5SAndroid Build Coastguard Worker 120*8975f5c5SAndroid Build Coastguard Worker # base/logging.cc uses this non-public absl dependency while there no better 121*8975f5c5SAndroid Build Coastguard Worker # alternative to inject abort hook. See notes in `base/logging.cc`. 122*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/base:raw_logging_internal", 123*8975f5c5SAndroid Build Coastguard Worker ] 124*8975f5c5SAndroid Build Coastguard Worker 125*8975f5c5SAndroid Build Coastguard Worker if (is_component_build) { 126*8975f5c5SAndroid Build Coastguard Worker public_deps += [ ":absl_full_deps" ] 127*8975f5c5SAndroid Build Coastguard Worker } 128*8975f5c5SAndroid Build Coastguard Worker 129*8975f5c5SAndroid Build Coastguard Worker # The following dependencies currently don't build with NaCl. 130*8975f5c5SAndroid Build Coastguard Worker # TODO(https://crbug.com/1114625): Fix build errors and remove this section. 131*8975f5c5SAndroid Build Coastguard Worker if (is_nacl) { 132*8975f5c5SAndroid Build Coastguard Worker public_deps -= 133*8975f5c5SAndroid Build Coastguard Worker [ "//third_party/abseil-cpp/absl/debugging:failure_signal_handler" ] 134*8975f5c5SAndroid Build Coastguard Worker } 135*8975f5c5SAndroid Build Coastguard Worker 136*8975f5c5SAndroid Build Coastguard Worker visibility = [ ":absl" ] 137*8975f5c5SAndroid Build Coastguard Worker} 138*8975f5c5SAndroid Build Coastguard Worker 139*8975f5c5SAndroid Build Coastguard Worker# Some third-party libraries use additional parts of absl that are banned in 140*8975f5c5SAndroid Build Coastguard Worker# Chrome (e.g. flags generates static initializers that are undesirable in 141*8975f5c5SAndroid Build Coastguard Worker# non-test binaries). These third-party libraries can depend on `absl_full` 142*8975f5c5SAndroid Build Coastguard Worker# instead of `absl` to use those banned subsets of Abseil as well. 143*8975f5c5SAndroid Build Coastguard Workersource_set("absl_full") { 144*8975f5c5SAndroid Build Coastguard Worker public_deps = [ ":absl" ] 145*8975f5c5SAndroid Build Coastguard Worker 146*8975f5c5SAndroid Build Coastguard Worker # In component builds, `absl` itself depends on `absl_full_deps` directly so 147*8975f5c5SAndroid Build Coastguard Worker # that all of absl is built as a single shared library. This is to prevent 148*8975f5c5SAndroid Build Coastguard Worker # globals from being duplicated between both `absl` and `absl_full` (e.g. 149*8975f5c5SAndroid Build Coastguard Worker # inline variables), and the subtle breakage that could cause. 150*8975f5c5SAndroid Build Coastguard Worker # 151*8975f5c5SAndroid Build Coastguard Worker # Deps violations will still be enforced by the non-component build. 152*8975f5c5SAndroid Build Coastguard Worker if (!is_component_build) { 153*8975f5c5SAndroid Build Coastguard Worker public_deps += [ ":absl_full_deps" ] 154*8975f5c5SAndroid Build Coastguard Worker } 155*8975f5c5SAndroid Build Coastguard Worker 156*8975f5c5SAndroid Build Coastguard Worker if (build_with_chromium) { 157*8975f5c5SAndroid Build Coastguard Worker visibility = [ 158*8975f5c5SAndroid Build Coastguard Worker # Used by some test executables, but not by anything that is a 159*8975f5c5SAndroid Build Coastguard Worker # part of Chrome. 160*8975f5c5SAndroid Build Coastguard Worker "//components/optimization_guide/internal/*", 161*8975f5c5SAndroid Build Coastguard Worker "//third_party/fuzztest:*", 162*8975f5c5SAndroid Build Coastguard Worker "//third_party/webrtc/*", 163*8975f5c5SAndroid Build Coastguard Worker 164*8975f5c5SAndroid Build Coastguard Worker # GoogleTest doesn't actually need absl_full, but this makes gn check 165*8975f5c5SAndroid Build Coastguard Worker # happier. 166*8975f5c5SAndroid Build Coastguard Worker "//third_party/googletest:*", 167*8975f5c5SAndroid Build Coastguard Worker ] 168*8975f5c5SAndroid Build Coastguard Worker } 169*8975f5c5SAndroid Build Coastguard Worker} 170*8975f5c5SAndroid Build Coastguard Worker 171*8975f5c5SAndroid Build Coastguard Workergroup("absl_full_deps") { 172*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 173*8975f5c5SAndroid Build Coastguard Worker # Banned because each flag registration generates a static initializer, and 174*8975f5c5SAndroid Build Coastguard Worker # the flag registration mechanism is problematic in component builds. 175*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:config", 176*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:flag", 177*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:parse", 178*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:reflection", 179*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/flags:usage", 180*8975f5c5SAndroid Build Coastguard Worker 181*8975f5c5SAndroid Build Coastguard Worker # Banned because the LOG and CHECK macros conflict with Chrome's version of 182*8975f5c5SAndroid Build Coastguard Worker # those macros. 183*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log", 184*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:check", 185*8975f5c5SAndroid Build Coastguard Worker 186*8975f5c5SAndroid Build Coastguard Worker # TODO(danilchap): Investigate if these targets need to be banned in 3rd party library code. 187*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:globals", 188*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/log:initialize", 189*8975f5c5SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/random:bit_gen_ref", 190*8975f5c5SAndroid Build Coastguard Worker ] 191*8975f5c5SAndroid Build Coastguard Worker 192*8975f5c5SAndroid Build Coastguard Worker visibility = [ 193*8975f5c5SAndroid Build Coastguard Worker ":absl_component_deps", 194*8975f5c5SAndroid Build Coastguard Worker ":absl_full", 195*8975f5c5SAndroid Build Coastguard Worker ] 196*8975f5c5SAndroid Build Coastguard Worker 197*8975f5c5SAndroid Build Coastguard Worker public_configs = [ "//third_party/abseil-cpp/absl/flags:absl_flags_config" ] 198*8975f5c5SAndroid Build Coastguard Worker} 199*8975f5c5SAndroid Build Coastguard Worker 200*8975f5c5SAndroid Build Coastguard Workerconfig("absl_include_config") { 201*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "." ] 202*8975f5c5SAndroid Build Coastguard Worker} 203*8975f5c5SAndroid Build Coastguard Worker 204*8975f5c5SAndroid Build Coastguard Workerconfig("absl_define_config") { 205*8975f5c5SAndroid Build Coastguard Worker defines = [ "ABSL_ALLOCATOR_NOTHROW=1" ] 206*8975f5c5SAndroid Build Coastguard Worker 207*8975f5c5SAndroid Build Coastguard Worker if (is_win && !use_custom_libcxx) { 208*8975f5c5SAndroid Build Coastguard Worker defines += [ 209*8975f5c5SAndroid Build Coastguard Worker # See crbug.com/1101367: Acknowledge extended alignment when using 210*8975f5c5SAndroid Build Coastguard Worker # MSVC's standard library. 211*8975f5c5SAndroid Build Coastguard Worker "_ENABLE_EXTENDED_ALIGNED_STORAGE", 212*8975f5c5SAndroid Build Coastguard Worker ] 213*8975f5c5SAndroid Build Coastguard Worker } 214*8975f5c5SAndroid Build Coastguard Worker} 215*8975f5c5SAndroid Build Coastguard Worker 216*8975f5c5SAndroid Build Coastguard Workerconfig("absl_default_cflags_cc") { 217*8975f5c5SAndroid Build Coastguard Worker cflags_cc = [] 218*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 219*8975f5c5SAndroid Build Coastguard Worker cflags_cc += [ 220*8975f5c5SAndroid Build Coastguard Worker # TODO(crbug.com/588506): Explicitly enable conversion warnings. 221*8975f5c5SAndroid Build Coastguard Worker "-Wbool-conversion", 222*8975f5c5SAndroid Build Coastguard Worker "-Wconstant-conversion", 223*8975f5c5SAndroid Build Coastguard Worker "-Wenum-conversion", 224*8975f5c5SAndroid Build Coastguard Worker "-Wint-conversion", 225*8975f5c5SAndroid Build Coastguard Worker "-Wliteral-conversion", 226*8975f5c5SAndroid Build Coastguard Worker "-Wnon-literal-null-conversion", 227*8975f5c5SAndroid Build Coastguard Worker "-Wnull-conversion", 228*8975f5c5SAndroid Build Coastguard Worker "-Wobjc-literal-conversion", 229*8975f5c5SAndroid Build Coastguard Worker "-Wstring-conversion", 230*8975f5c5SAndroid Build Coastguard Worker ] 231*8975f5c5SAndroid Build Coastguard Worker if (!is_nacl) { 232*8975f5c5SAndroid Build Coastguard Worker cflags_cc += [ "-Wbitfield-enum-conversion" ] 233*8975f5c5SAndroid Build Coastguard Worker } 234*8975f5c5SAndroid Build Coastguard Worker } 235*8975f5c5SAndroid Build Coastguard Worker} 236*8975f5c5SAndroid Build Coastguard Worker 237*8975f5c5SAndroid Build Coastguard Workerconfig("absl_test_cflags_cc") { 238*8975f5c5SAndroid Build Coastguard Worker cflags_cc = [] 239*8975f5c5SAndroid Build Coastguard Worker if (is_clang || !is_win) { 240*8975f5c5SAndroid Build Coastguard Worker cflags_cc += [ 241*8975f5c5SAndroid Build Coastguard Worker "-Wno-conversion-null", 242*8975f5c5SAndroid Build Coastguard Worker "-Wno-missing-declarations", 243*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-function", 244*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-parameter", 245*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-private-field", 246*8975f5c5SAndroid Build Coastguard Worker ] 247*8975f5c5SAndroid Build Coastguard Worker } 248*8975f5c5SAndroid Build Coastguard Worker if (is_win) { 249*8975f5c5SAndroid Build Coastguard Worker cflags_cc += [ 250*8975f5c5SAndroid Build Coastguard Worker "/wd4101", # unreferenced local variable 251*8975f5c5SAndroid Build Coastguard Worker ] 252*8975f5c5SAndroid Build Coastguard Worker } 253*8975f5c5SAndroid Build Coastguard Worker} 254*8975f5c5SAndroid Build Coastguard Worker 255*8975f5c5SAndroid Build Coastguard Workerconfig("absl_test_config") { 256*8975f5c5SAndroid Build Coastguard Worker cflags_cc = [] 257*8975f5c5SAndroid Build Coastguard Worker if (is_win && !is_clang) { 258*8975f5c5SAndroid Build Coastguard Worker cflags_cc += [ "/wd4996" ] 259*8975f5c5SAndroid Build Coastguard Worker } 260*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 261*8975f5c5SAndroid Build Coastguard Worker cflags_cc += [ 262*8975f5c5SAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 263*8975f5c5SAndroid Build Coastguard Worker "-Wno-implicit-const-int-float-conversion", 264*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-private-field", 265*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-function", 266*8975f5c5SAndroid Build Coastguard Worker ] 267*8975f5c5SAndroid Build Coastguard Worker } 268*8975f5c5SAndroid Build Coastguard Worker} 269*8975f5c5SAndroid Build Coastguard Worker 270*8975f5c5SAndroid Build Coastguard Workerif (absl_build_tests) { 271*8975f5c5SAndroid Build Coastguard Worker import("//testing/test.gni") 272*8975f5c5SAndroid Build Coastguard Worker 273*8975f5c5SAndroid Build Coastguard Worker if (!is_component_build) { 274*8975f5c5SAndroid Build Coastguard Worker test("absl_tests") { 275*8975f5c5SAndroid Build Coastguard Worker testonly = true 276*8975f5c5SAndroid Build Coastguard Worker deps = [ 277*8975f5c5SAndroid Build Coastguard Worker "absl/algorithm:algorithm_test", 278*8975f5c5SAndroid Build Coastguard Worker "absl/algorithm:container_test", 279*8975f5c5SAndroid Build Coastguard Worker "absl/base:config_test", 280*8975f5c5SAndroid Build Coastguard Worker "absl/base:no_destructor_test", 281*8975f5c5SAndroid Build Coastguard Worker "absl/base:nullability_default_nonnull_test", 282*8975f5c5SAndroid Build Coastguard Worker "absl/base:nullability_test", 283*8975f5c5SAndroid Build Coastguard Worker "absl/base:poison_test", 284*8975f5c5SAndroid Build Coastguard Worker "absl/base:prefetch_test", 285*8975f5c5SAndroid Build Coastguard Worker "absl/base:tracing_internal_strong_test", 286*8975f5c5SAndroid Build Coastguard Worker "absl/base:tracing_internal_weak_test", 287*8975f5c5SAndroid Build Coastguard Worker "absl/cleanup:cleanup_test", 288*8975f5c5SAndroid Build Coastguard Worker 289*8975f5c5SAndroid Build Coastguard Worker # TODO(mbonadei): Fix issue with EXPECT_DEATH and uncomment. 290*8975f5c5SAndroid Build Coastguard Worker # "absl/container:btree_test", 291*8975f5c5SAndroid Build Coastguard Worker "absl/container:common_policy_traits_test", 292*8975f5c5SAndroid Build Coastguard Worker "absl/container:fixed_array_test", 293*8975f5c5SAndroid Build Coastguard Worker "absl/container:flat_hash_map_test", 294*8975f5c5SAndroid Build Coastguard Worker "absl/container:flat_hash_set_test", 295*8975f5c5SAndroid Build Coastguard Worker "absl/container:hash_function_defaults_test", 296*8975f5c5SAndroid Build Coastguard Worker "absl/container:inlined_vector_test", 297*8975f5c5SAndroid Build Coastguard Worker "absl/container:node_hash_map_test", 298*8975f5c5SAndroid Build Coastguard Worker "absl/container:node_hash_set_test", 299*8975f5c5SAndroid Build Coastguard Worker "absl/container:node_slot_policy_test", 300*8975f5c5SAndroid Build Coastguard Worker "absl/container:raw_hash_set_allocator_test", 301*8975f5c5SAndroid Build Coastguard Worker "absl/container:raw_hash_set_test", 302*8975f5c5SAndroid Build Coastguard Worker "absl/container:sample_element_size_test", 303*8975f5c5SAndroid Build Coastguard Worker "absl/crc:crc32c_test", 304*8975f5c5SAndroid Build Coastguard Worker "absl/crc:crc_cord_state_test", 305*8975f5c5SAndroid Build Coastguard Worker "absl/crc:crc_memcpy_test", 306*8975f5c5SAndroid Build Coastguard Worker "absl/crc:non_temporal_memcpy_test", 307*8975f5c5SAndroid Build Coastguard Worker "absl/debugging:bounded_utf8_length_sequence_test", 308*8975f5c5SAndroid Build Coastguard Worker "absl/debugging:decode_rust_punycode_test", 309*8975f5c5SAndroid Build Coastguard Worker "absl/debugging:demangle_rust_test", 310*8975f5c5SAndroid Build Coastguard Worker "absl/debugging:stacktrace_test", 311*8975f5c5SAndroid Build Coastguard Worker "absl/debugging:utf8_for_code_point_test", 312*8975f5c5SAndroid Build Coastguard Worker "absl/flags:flag_test", 313*8975f5c5SAndroid Build Coastguard Worker "absl/functional:any_invocable_test", 314*8975f5c5SAndroid Build Coastguard Worker "absl/functional:function_ref_test", 315*8975f5c5SAndroid Build Coastguard Worker "absl/functional:overload_test", 316*8975f5c5SAndroid Build Coastguard Worker "absl/hash:hash_instantiated_test", 317*8975f5c5SAndroid Build Coastguard Worker "absl/hash:hash_test", 318*8975f5c5SAndroid Build Coastguard Worker "absl/hash:low_level_hash_test", 319*8975f5c5SAndroid Build Coastguard Worker "absl/log:absl_check_test", 320*8975f5c5SAndroid Build Coastguard Worker "absl/log:absl_log_basic_test", 321*8975f5c5SAndroid Build Coastguard Worker "absl/log:die_if_null_test", 322*8975f5c5SAndroid Build Coastguard Worker "absl/log:flags_test", 323*8975f5c5SAndroid Build Coastguard Worker "absl/log:globals_test", 324*8975f5c5SAndroid Build Coastguard Worker "absl/log:log_entry_test", 325*8975f5c5SAndroid Build Coastguard Worker "absl/log:log_format_test", 326*8975f5c5SAndroid Build Coastguard Worker "absl/log:log_macro_hygiene_test", 327*8975f5c5SAndroid Build Coastguard Worker "absl/log:log_modifier_methods_test", 328*8975f5c5SAndroid Build Coastguard Worker "absl/log:log_sink_test", 329*8975f5c5SAndroid Build Coastguard Worker "absl/log:log_streamer_test", 330*8975f5c5SAndroid Build Coastguard Worker "absl/log:scoped_mock_log_test", 331*8975f5c5SAndroid Build Coastguard Worker "absl/log:stripping_test", 332*8975f5c5SAndroid Build Coastguard Worker "absl/log:vlog_is_on_test", 333*8975f5c5SAndroid Build Coastguard Worker "absl/log/internal:fnmatch_test", 334*8975f5c5SAndroid Build Coastguard Worker "absl/log/internal:stderr_log_sink_test", 335*8975f5c5SAndroid Build Coastguard Worker "absl/memory:memory_test", 336*8975f5c5SAndroid Build Coastguard Worker "absl/meta:type_traits_test", 337*8975f5c5SAndroid Build Coastguard Worker "absl/numeric:int128_test", 338*8975f5c5SAndroid Build Coastguard Worker "absl/profiling:exponential_biased_test", 339*8975f5c5SAndroid Build Coastguard Worker "absl/profiling:periodic_sampler_test", 340*8975f5c5SAndroid Build Coastguard Worker "absl/random:distributions_test", 341*8975f5c5SAndroid Build Coastguard Worker "absl/random:mock_distributions_test", 342*8975f5c5SAndroid Build Coastguard Worker "absl/status:status_matchers_test", 343*8975f5c5SAndroid Build Coastguard Worker "absl/status:status_test", 344*8975f5c5SAndroid Build Coastguard Worker "absl/status:statusor_test", 345*8975f5c5SAndroid Build Coastguard Worker "absl/strings:ascii_test", 346*8975f5c5SAndroid Build Coastguard Worker "absl/strings:char_formatting_test", 347*8975f5c5SAndroid Build Coastguard Worker "absl/strings:charset_test", 348*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cord_buffer_test", 349*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cord_data_edge_test", 350*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cord_rep_btree_navigator_test", 351*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cord_rep_btree_reader_test", 352*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cord_rep_btree_test", 353*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cord_rep_crc_test", 354*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cordz_functions_test", 355*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cordz_info_statistics_test", 356*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cordz_info_test", 357*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cordz_test", 358*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cordz_update_scope_test", 359*8975f5c5SAndroid Build Coastguard Worker "absl/strings:cordz_update_tracker_test", 360*8975f5c5SAndroid Build Coastguard Worker "absl/strings:damerau_levenshtein_distance_test", 361*8975f5c5SAndroid Build Coastguard Worker "absl/strings:has_absl_stringify_test", 362*8975f5c5SAndroid Build Coastguard Worker "absl/strings:has_ostream_operator_test", 363*8975f5c5SAndroid Build Coastguard Worker "absl/strings:match_test", 364*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_format_arg_test", 365*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_format_bind_test", 366*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_format_checker_test", 367*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_format_convert_test", 368*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_format_extension_test", 369*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_format_output_test", 370*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_format_parser_test", 371*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_format_test", 372*8975f5c5SAndroid Build Coastguard Worker "absl/strings:str_replace_test", 373*8975f5c5SAndroid Build Coastguard Worker "absl/strings:string_view_test", 374*8975f5c5SAndroid Build Coastguard Worker "absl/synchronization:barrier_test", 375*8975f5c5SAndroid Build Coastguard Worker "absl/synchronization:graphcycles_test", 376*8975f5c5SAndroid Build Coastguard Worker "absl/synchronization:kernel_timeout_internal_test", 377*8975f5c5SAndroid Build Coastguard Worker "absl/synchronization:mutex_test", 378*8975f5c5SAndroid Build Coastguard Worker "absl/synchronization:per_thread_sem_test", 379*8975f5c5SAndroid Build Coastguard Worker "absl/synchronization:waiter_test", 380*8975f5c5SAndroid Build Coastguard Worker "absl/time:time_test", 381*8975f5c5SAndroid Build Coastguard Worker "absl/types:optional_test", 382*8975f5c5SAndroid Build Coastguard Worker "absl/types:span_test", 383*8975f5c5SAndroid Build Coastguard Worker "absl/types:variant_test", 384*8975f5c5SAndroid Build Coastguard Worker "absl/utility:if_constexpr_test", 385*8975f5c5SAndroid Build Coastguard Worker "//third_party/googletest:gtest_main", 386*8975f5c5SAndroid Build Coastguard Worker ] 387*8975f5c5SAndroid Build Coastguard Worker } 388*8975f5c5SAndroid Build Coastguard Worker } 389*8975f5c5SAndroid Build Coastguard Worker 390*8975f5c5SAndroid Build Coastguard Worker test("absl_hardening_tests") { 391*8975f5c5SAndroid Build Coastguard Worker testonly = true 392*8975f5c5SAndroid Build Coastguard Worker sources = [ "absl_hardening_test.cc" ] 393*8975f5c5SAndroid Build Coastguard Worker deps = [ 394*8975f5c5SAndroid Build Coastguard Worker ":absl", 395*8975f5c5SAndroid Build Coastguard Worker "//base/test:run_all_unittests", 396*8975f5c5SAndroid Build Coastguard Worker "//third_party/googletest:gtest", 397*8975f5c5SAndroid Build Coastguard Worker ] 398*8975f5c5SAndroid Build Coastguard Worker } 399*8975f5c5SAndroid Build Coastguard Worker} 400