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