Reland "Use abseil's build targets instead of custom ones."

This reverts commit 29b75b83730ce94abbb603f7dd4c0afbadf21192.

Reason for revert: Skia bots can now build ToT abseil:
https://g-issues.skia.org/issues/330350366?

Original change's description:
> Revert "Use abseil's build targets instead of custom ones."
>
> This reverts commit 2ce42fc95ab7cf7bbf97a9c48876c67c95f9cb78.
>
> Reason for revert: Can't roll into Skia due to old toolchains on Mac
>
> Original change's description:
> > Use abseil's build targets instead of custom ones.
> >
> > Chromium's abseil has been updated to no longer depend on external
> > build files like googletest. The required warning suppressions for dawn
> > have also been added.
> >
> > Bug: angleproject:8555
> > Change-Id: I9e590dd26301a5e8f5d670180bebc751a22ea052
> > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/178940
> > Kokoro: Kokoro <noreply+kokoro@google.com>
> > Reviewed-by: Austin Eng <enga@chromium.org>
> > Commit-Queue: Geoff Lang <geofflang@google.com>
> > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: angleproject:8555
> Change-Id: I64b4809f7d3b7f3ad1802aac11461be3960be55c
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/179144
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Commit-Queue: Geoff Lang <geofflang@google.com>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Florin Malita <fmalita@chromium.org>

Bug: angleproject:8555
Change-Id: Ic498c3630e68ea9871264180133549751f32f17f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/184620
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Geoff Lang <geofflang@google.com>
diff --git a/DEPS b/DEPS
index 3ebfbcd..b5a044e 100644
--- a/DEPS
+++ b/DEPS
@@ -199,7 +199,7 @@
   },
 
   'third_party/abseil-cpp': {
-    'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@1cd1f16ff8f7fb5402aeda870c82652edf8f663a',
+    'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@a64dd87cec79c80c88190265cfea0cbd4027677f',
     'condition': 'dawn_standalone',
   },
 
diff --git a/src/dawn/native/BUILD.gn b/src/dawn/native/BUILD.gn
index bc9e856..039eb4b 100644
--- a/src/dawn/native/BUILD.gn
+++ b/src/dawn/native/BUILD.gn
@@ -62,11 +62,11 @@
     public_deps = [ "$dawn_abseil_dir:absl" ]
   } else {
     public_deps = [
-      "${dawn_root}/third_party/gn/abseil-cpp:bits",
-      "${dawn_root}/third_party/gn/abseil-cpp:flat_hash_map",
-      "${dawn_root}/third_party/gn/abseil-cpp:flat_hash_set",
-      "${dawn_root}/third_party/gn/abseil-cpp:str_format",
-      "${dawn_root}/third_party/gn/abseil-cpp:strings",
+      "${dawn_abseil_dir}/absl/container:flat_hash_map",
+      "${dawn_abseil_dir}/absl/container:flat_hash_set",
+      "${dawn_abseil_dir}/absl/numeric:bits",
+      "${dawn_abseil_dir}/absl/strings:str_format",
+      "${dawn_abseil_dir}/absl/strings:strings",
     ]
   }
 }
diff --git a/src/dawn/wire/BUILD.gn b/src/dawn/wire/BUILD.gn
index 468408a..b46b246 100644
--- a/src/dawn/wire/BUILD.gn
+++ b/src/dawn/wire/BUILD.gn
@@ -69,8 +69,8 @@
     public_deps = [ "$dawn_abseil_dir:absl" ]
   } else {
     public_deps = [
-      "${dawn_root}/third_party/gn/abseil-cpp:flat_hash_map",
-      "${dawn_root}/third_party/gn/abseil-cpp:flat_hash_set",
+      "${dawn_abseil_dir}/absl/container:flat_hash_map",
+      "${dawn_abseil_dir}/absl/container:flat_hash_set",
     ]
   }
 }
diff --git a/src/tint/BUILD.gn b/src/tint/BUILD.gn
index a8ba5d2..d39bd62 100644
--- a/src/tint/BUILD.gn
+++ b/src/tint/BUILD.gn
@@ -244,7 +244,7 @@
   if (build_with_chromium) {
     public_deps = [ "$dawn_abseil_dir:absl" ]
   } else {
-    public_deps = [ "${dawn_root}/third_party/gn/abseil-cpp:strings" ]
+    public_deps = [ "${dawn_abseil_dir}/absl/strings:strings" ]
   }
 }
 
diff --git a/third_party/abseil-cpp b/third_party/abseil-cpp
index 1cd1f16..a64dd87 160000
--- a/third_party/abseil-cpp
+++ b/third_party/abseil-cpp
@@ -1 +1 @@
-Subproject commit 1cd1f16ff8f7fb5402aeda870c82652edf8f663a
+Subproject commit a64dd87cec79c80c88190265cfea0cbd4027677f
diff --git a/third_party/gn/abseil-cpp/BUILD.gn b/third_party/gn/abseil-cpp/BUILD.gn
deleted file mode 100644
index 4bb1c23..0000000
--- a/third_party/gn/abseil-cpp/BUILD.gn
+++ /dev/null
@@ -1,988 +0,0 @@
-# Copyright 2021 The Dawn & Tint Authors
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#
-# 1. Redistributions of source code must retain the above copyright notice, this
-#    list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright notice,
-#    this list of conditions and the following disclaimer in the documentation
-#    and/or other materials provided with the distribution.
-#
-# 3. Neither the name of the copyright holder nor the names of its
-#    contributors may be used to endorse or promote products derived from
-#    this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-import("../../../scripts/dawn_overrides_with_defaults.gni")
-
-import("${dawn_root}/scripts/dawn_features.gni")
-
-config("absl_config") {
-  if (!build_with_chromium && is_clang) {
-    cflags = [
-      # Allow the use of enable_if()
-      "-Wno-gcc-compat",
-      "-Wno-unreachable-code-break",
-    ]
-  }
-
-  include_dirs = [ "${dawn_abseil_dir}" ]
-}
-
-template("absl_source_set") {
-  source_set(target_name) {
-    forward_variables_from(invoker, "*")
-
-    if (!defined(public_configs)) {
-      public_configs = []
-    }
-    public_configs += [ ":absl_config" ]
-  }
-}
-
-#
-# absl/algorithm
-#
-
-absl_source_set("algorithm") {
-  public = [ "${dawn_abseil_dir}/absl/algorithm/algorithm.h" ]
-  deps = [ ":config" ]
-}
-
-absl_source_set("container") {
-  public = [ "${dawn_abseil_dir}/absl/algorithm/container.h" ]
-  deps = [
-    ":algorithm",
-    ":core_headers",
-    ":type_traits",
-  ]
-}
-
-#
-# absl/base
-#
-
-absl_source_set("atomic_hook") {
-  public = [ "${dawn_abseil_dir}/absl/base/internal/atomic_hook.h" ]
-  public_deps = [
-    ":config",
-    ":core_headers",
-  ]
-}
-
-absl_source_set("base") {
-  sources = [
-    "${dawn_abseil_dir}/absl/base/internal/cycleclock.cc",
-    "${dawn_abseil_dir}/absl/base/internal/spinlock.cc",
-    "${dawn_abseil_dir}/absl/base/internal/sysinfo.cc",
-    "${dawn_abseil_dir}/absl/base/internal/thread_identity.cc",
-    "${dawn_abseil_dir}/absl/base/internal/unscaledcycleclock.cc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/base/call_once.h",
-    "${dawn_abseil_dir}/absl/base/casts.h",
-    "${dawn_abseil_dir}/absl/base/internal/cycleclock.h",
-    "${dawn_abseil_dir}/absl/base/internal/low_level_scheduling.h",
-    "${dawn_abseil_dir}/absl/base/internal/per_thread_tls.h",
-    "${dawn_abseil_dir}/absl/base/internal/spinlock.h",
-    "${dawn_abseil_dir}/absl/base/internal/sysinfo.h",
-    "${dawn_abseil_dir}/absl/base/internal/thread_identity.h",
-    "${dawn_abseil_dir}/absl/base/internal/tsan_mutex_interface.h",
-    "${dawn_abseil_dir}/absl/base/internal/unscaledcycleclock.h",
-  ]
-
-  public_deps = [
-    ":atomic_hook",
-    ":base_internal",
-    ":config",
-    ":core_headers",
-    ":cycleclock_internal",
-    ":dynamic_annotations",
-    ":log_severity",
-    ":raw_logging_internal",
-    ":spinlock_wait",
-    ":type_traits",
-  ]
-}
-
-absl_source_set("base_internal") {
-  public = [
-    "${dawn_abseil_dir}/absl/base/internal/hide_ptr.h",
-    "${dawn_abseil_dir}/absl/base/internal/identity.h",
-    "${dawn_abseil_dir}/absl/base/internal/inline_variable.h",
-    "${dawn_abseil_dir}/absl/base/internal/invoke.h",
-    "${dawn_abseil_dir}/absl/base/internal/scheduling_mode.h",
-  ]
-  public_deps = [
-    ":config",
-    ":type_traits",
-  ]
-}
-
-absl_source_set("config") {
-  public = [
-    "${dawn_abseil_dir}/absl/base/config.h",
-    "${dawn_abseil_dir}/absl/base/options.h",
-    "${dawn_abseil_dir}/absl/base/policy_checks.h",
-  ]
-}
-
-absl_source_set("core_headers") {
-  public = [
-    "${dawn_abseil_dir}/absl/base/attributes.h",
-    "${dawn_abseil_dir}/absl/base/const_init.h",
-    "${dawn_abseil_dir}/absl/base/macros.h",
-    "${dawn_abseil_dir}/absl/base/optimization.h",
-    "${dawn_abseil_dir}/absl/base/port.h",
-    "${dawn_abseil_dir}/absl/base/thread_annotations.h",
-  ]
-  public_deps = [ ":config" ]
-}
-
-absl_source_set("cycleclock_internal") {
-  public = [
-    "${dawn_abseil_dir}/absl/base/internal/cycleclock_config.h",
-    "${dawn_abseil_dir}/absl/base/internal/unscaledcycleclock_config.h",
-  ]
-  deps = [
-    ":base_internal",
-    ":config",
-  ]
-}
-
-absl_source_set("dynamic_annotations") {
-  public = [ "${dawn_abseil_dir}/absl/base/dynamic_annotations.h" ]
-
-  deps = [
-    ":config",
-    ":core_headers",
-  ]
-}
-
-absl_source_set("endian") {
-  public = [
-    "${dawn_abseil_dir}/absl/base/internal/endian.h",
-    "${dawn_abseil_dir}/absl/base/internal/unaligned_access.h",
-  ]
-  public_deps = [
-    ":base",
-    ":config",
-    ":core_headers",
-  ]
-}
-
-absl_source_set("errno_saver") {
-  public = [ "${dawn_abseil_dir}/absl/base/internal/errno_saver.h" ]
-  public_deps = [ ":config" ]
-}
-
-absl_source_set("log_severity") {
-  sources = [ "${dawn_abseil_dir}/absl/base/log_severity.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/base/log_severity.h" ]
-  public_deps = [
-    ":config",
-    ":core_headers",
-  ]
-}
-
-absl_source_set("malloc_internal") {
-  sources = [ "${dawn_abseil_dir}/absl/base/internal/low_level_alloc.cc" ]
-  public = [
-    "${dawn_abseil_dir}/absl/base/internal/direct_mmap.h",
-    "${dawn_abseil_dir}/absl/base/internal/low_level_alloc.h",
-  ]
-  public_deps = [
-    ":base",
-    ":base_internal",
-    ":config",
-    ":core_headers",
-    ":dynamic_annotations",
-    ":raw_logging_internal",
-  ]
-}
-
-absl_source_set("prefetch") {
-  public = [
-    "${dawn_abseil_dir}/absl/base/internal/prefetch.h",
-    "${dawn_abseil_dir}/absl/base/prefetch.h",
-  ]
-  deps = [
-    ":config",
-    ":core_headers",
-  ]
-}
-
-absl_source_set("raw_logging_internal") {
-  sources = [ "${dawn_abseil_dir}/absl/base/internal/raw_logging.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/base/internal/raw_logging.h" ]
-  public_deps = [
-    ":atomic_hook",
-    ":core_headers",
-    ":errno_saver",
-    ":log_severity",
-  ]
-}
-
-absl_source_set("spinlock_wait") {
-  sources = [
-    "${dawn_abseil_dir}/absl/base/internal/spinlock_akaros.inc",
-    "${dawn_abseil_dir}/absl/base/internal/spinlock_linux.inc",
-    "${dawn_abseil_dir}/absl/base/internal/spinlock_posix.inc",
-    "${dawn_abseil_dir}/absl/base/internal/spinlock_wait.cc",
-    "${dawn_abseil_dir}/absl/base/internal/spinlock_win32.inc",
-  ]
-  public = [ "${dawn_abseil_dir}/absl/base/internal/spinlock_wait.h" ]
-  deps = [
-    ":base_internal",
-    ":core_headers",
-    ":errno_saver",
-  ]
-}
-
-absl_source_set("throw_delegate") {
-  sources = [ "${dawn_abseil_dir}/absl/base/internal/throw_delegate.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/base/internal/throw_delegate.h" ]
-  public_deps = [ ":raw_logging_internal" ]
-}
-
-#
-# absl/container
-#
-
-absl_source_set("common") {
-  public = [ "${dawn_abseil_dir}/absl/container/internal/common.h" ]
-  deps = [
-    ":optional",
-    ":type_traits",
-  ]
-}
-
-absl_source_set("common_policy_traits") {
-  public =
-      [ "${dawn_abseil_dir}/absl/container/internal/common_policy_traits.h" ]
-  deps = [ ":type_traits" ]
-}
-
-absl_source_set("compressed_tuple") {
-  public = [ "${dawn_abseil_dir}/absl/container/internal/compressed_tuple.h" ]
-  deps = [ ":utility" ]
-}
-
-absl_source_set("container_memory") {
-  public = [ "${dawn_abseil_dir}/absl/container/internal/container_memory.h" ]
-  deps = [
-    ":config",
-    ":memory",
-    ":type_traits",
-    ":utility",
-  ]
-}
-
-absl_source_set("fixed_array") {
-  public = [ "${dawn_abseil_dir}/absl/container/fixed_array.h" ]
-  deps = [
-    ":algorithm",
-    ":compressed_tuple",
-    ":config",
-    ":core_headers",
-    ":dynamic_annotations",
-    ":memory",
-    ":throw_delegate",
-  ]
-}
-
-absl_source_set("flat_hash_map") {
-  public = [ "${dawn_abseil_dir}/absl/container/flat_hash_map.h" ]
-  deps = [
-    ":container",
-    ":container_memory",
-    ":core_headers",
-    ":hash_function_defaults",
-    ":memory",
-    ":raw_hash_map",
-  ]
-}
-
-absl_source_set("flat_hash_set") {
-  public = [ "${dawn_abseil_dir}/absl/container/flat_hash_set.h" ]
-  deps = [
-    ":container",
-    ":container_memory",
-    ":core_headers",
-    ":hash_function_defaults",
-    ":memory",
-    ":raw_hash_set",
-  ]
-}
-
-absl_source_set("hash_function_defaults") {
-  public =
-      [ "${dawn_abseil_dir}/absl/container/internal/hash_function_defaults.h" ]
-  deps = [
-    ":config",
-    ":hash",
-    ":string_view",
-  ]
-}
-
-absl_source_set("hash_policy_traits") {
-  public = [ "${dawn_abseil_dir}/absl/container/internal/hash_policy_traits.h" ]
-  deps = [
-    ":common_policy_traits",
-    ":type_traits",
-  ]
-}
-
-absl_source_set("hashtable_debug_hooks") {
-  public =
-      [ "${dawn_abseil_dir}/absl/container/internal/hashtable_debug_hooks.h" ]
-  deps = [ ":config" ]
-}
-
-absl_source_set("hashtablez_sampler") {
-  public = [ "${dawn_abseil_dir}/absl/container/internal/hashtablez_sampler.h" ]
-  sources = [
-    "${dawn_abseil_dir}/absl/container/internal/hashtablez_sampler.cc",
-    "${dawn_abseil_dir}/absl/container/internal/hashtablez_sampler_force_weak_definition.cc",
-  ]
-  deps = [
-    ":base",
-    ":config",
-    ":core_headers",
-    ":exponential_biased",
-    ":memory",
-    ":raw_logging_internal",
-    ":sample_recorder",
-    ":stacktrace",
-    ":synchronization",
-    ":time",
-    ":utility",
-  ]
-}
-
-absl_source_set("raw_hash_map") {
-  public = [ "${dawn_abseil_dir}/absl/container/internal/raw_hash_map.h" ]
-  deps = [
-    ":container_memory",
-    ":raw_hash_set",
-    ":throw_delegate",
-  ]
-}
-
-absl_source_set("raw_hash_set") {
-  sources = [ "${dawn_abseil_dir}/absl/container/internal/raw_hash_set.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/container/internal/raw_hash_set.h" ]
-  deps = [
-    ":bits",
-    ":common",
-    ":compressed_tuple",
-    ":config",
-    ":container_memory",
-    ":core_headers",
-    ":dynamic_annotations",
-    ":endian",
-    ":hash",
-    ":hash_policy_traits",
-    ":hashtable_debug_hooks",
-    ":hashtablez_sampler",
-    ":memory",
-    ":prefetch",
-    ":raw_logging_internal",
-    ":type_traits",
-    ":utility",
-  ]
-}
-
-#
-# absl/debugging
-#
-
-absl_source_set("debugging_internal") {
-  sources = [
-    "${dawn_abseil_dir}/absl/debugging/internal/address_is_readable.cc",
-    "${dawn_abseil_dir}/absl/debugging/internal/elf_mem_image.cc",
-    "${dawn_abseil_dir}/absl/debugging/internal/vdso_support.cc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/debugging/internal/address_is_readable.h",
-    "${dawn_abseil_dir}/absl/debugging/internal/elf_mem_image.h",
-    "${dawn_abseil_dir}/absl/debugging/internal/vdso_support.h",
-  ]
-  deps = [
-    ":config",
-    ":core_headers",
-    ":dynamic_annotations",
-    ":errno_saver",
-    ":raw_logging_internal",
-  ]
-}
-
-absl_source_set("demangle_internal") {
-  sources = [ "${dawn_abseil_dir}/absl/debugging/internal/demangle.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/debugging/internal/demangle.h" ]
-  deps = [
-    ":base",
-    ":config",
-    ":core_headers",
-  ]
-}
-
-absl_source_set("stacktrace") {
-  sources = [
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_aarch64-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_arm-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_config.h",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_emscripten-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_generic-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_powerpc-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_riscv-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_unimplemented-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_win32-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/internal/stacktrace_x86-inl.inc",
-    "${dawn_abseil_dir}/absl/debugging/stacktrace.cc",
-  ]
-  public = [ "${dawn_abseil_dir}/absl/debugging/stacktrace.h" ]
-  deps = [
-    ":config",
-    ":core_headers",
-    ":debugging_internal",
-    ":dynamic_annotations",
-    ":raw_logging_internal",
-  ]
-}
-
-#
-# absl/functional
-#
-
-absl_source_set("any_invocable") {
-  sources = [ "${dawn_abseil_dir}/absl/functional/internal/any_invocable.h" ]
-  public = [ "${dawn_abseil_dir}/absl/functional/any_invocable.h" ]
-  deps = [
-    ":base_internal",
-    ":config",
-    ":core_headers",
-    ":type_traits",
-    ":utility",
-  ]
-}
-
-absl_source_set("function_ref") {
-  sources = [ "${dawn_abseil_dir}/absl/functional/internal/function_ref.h" ]
-  public = [ "${dawn_abseil_dir}/absl/functional/function_ref.h" ]
-  deps = [
-    ":any_invocable",
-    ":base_internal",
-    ":core_headers",
-    ":type_traits",
-  ]
-}
-
-#
-# absl/hash
-#
-
-absl_source_set("city") {
-  public = [ "${dawn_abseil_dir}/absl/hash/internal/city.h" ]
-  sources = [ "${dawn_abseil_dir}/absl/hash/internal/city.cc" ]
-  deps = [
-    ":config",
-    ":core_headers",
-    ":endian",
-  ]
-}
-
-absl_source_set("hash") {
-  sources = [
-    "${dawn_abseil_dir}/absl/hash/internal/hash.cc",
-    "${dawn_abseil_dir}/absl/hash/internal/hash.h",
-  ]
-  public = [ "${dawn_abseil_dir}/absl/hash/hash.h" ]
-  deps = [
-    ":bits",
-    ":city",
-    ":config",
-    ":core_headers",
-    ":endian",
-    ":fixed_array",
-    ":function_ref",
-    ":int128",
-    ":low_level_hash",
-    ":optional",
-    ":string_view",
-    ":type_traits",
-    ":utility",
-    ":variant",
-  ]
-}
-
-absl_source_set("low_level_hash") {
-  public = [ "${dawn_abseil_dir}/absl/hash/internal/low_level_hash.h" ]
-  sources = [ "${dawn_abseil_dir}/absl/hash/internal/low_level_hash.cc" ]
-  deps = [
-    ":config",
-    ":endian",
-    ":int128",
-    ":prefetch",
-  ]
-}
-
-#
-# absl/memory
-#
-
-absl_source_set("memory") {
-  public = [ "${dawn_abseil_dir}/absl/memory/memory.h" ]
-  deps = [
-    ":core_headers",
-    ":type_traits",
-  ]
-}
-
-#
-# absl/meta
-#
-
-absl_source_set("type_traits") {
-  public = [ "${dawn_abseil_dir}/absl/meta/type_traits.h" ]
-  deps = [
-    ":config",
-    ":core_headers",
-  ]
-}
-
-#
-# absl/numeric
-#
-
-absl_source_set("bits") {
-  public = [
-    "${dawn_abseil_dir}/absl/numeric/bits.h",
-    "${dawn_abseil_dir}/absl/numeric/internal/bits.h",
-  ]
-  deps = [
-    ":config",
-    ":core_headers",
-  ]
-}
-
-absl_source_set("int128") {
-  sources = [
-    "${dawn_abseil_dir}/absl/numeric/int128.cc",
-    "${dawn_abseil_dir}/absl/numeric/int128_have_intrinsic.inc",
-    "${dawn_abseil_dir}/absl/numeric/int128_no_intrinsic.inc",
-  ]
-  public = [ "${dawn_abseil_dir}/absl/numeric/int128.h" ]
-  deps = [
-    ":bits",
-    ":config",
-    ":core_headers",
-  ]
-}
-
-#
-# absl/profiling
-#
-
-absl_source_set("exponential_biased") {
-  sources =
-      [ "${dawn_abseil_dir}/absl/profiling/internal/exponential_biased.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/profiling/internal/exponential_biased.h" ]
-  deps = [
-    ":config",
-    ":core_headers",
-  ]
-}
-
-absl_source_set("sample_recorder") {
-  public = [ "${dawn_abseil_dir}/absl/profiling/internal/sample_recorder.h" ]
-  deps = [
-    ":config",
-    ":core_headers",
-    ":synchronization",
-    ":time",
-  ]
-}
-
-#
-# absl/strings
-#
-
-absl_source_set("strings") {
-  sources = [
-    "${dawn_abseil_dir}/absl/strings/ascii.cc",
-    "${dawn_abseil_dir}/absl/strings/charconv.cc",
-    "${dawn_abseil_dir}/absl/strings/escaping.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/charconv_bigint.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/charconv_bigint.h",
-    "${dawn_abseil_dir}/absl/strings/internal/charconv_parse.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/charconv_parse.h",
-    "${dawn_abseil_dir}/absl/strings/internal/memutil.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/memutil.h",
-    "${dawn_abseil_dir}/absl/strings/internal/stl_type_traits.h",
-    "${dawn_abseil_dir}/absl/strings/internal/str_join_internal.h",
-    "${dawn_abseil_dir}/absl/strings/internal/str_split_internal.h",
-    "${dawn_abseil_dir}/absl/strings/match.cc",
-    "${dawn_abseil_dir}/absl/strings/numbers.cc",
-    "${dawn_abseil_dir}/absl/strings/str_cat.cc",
-    "${dawn_abseil_dir}/absl/strings/str_replace.cc",
-    "${dawn_abseil_dir}/absl/strings/str_split.cc",
-    "${dawn_abseil_dir}/absl/strings/substitute.cc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/strings/ascii.h",
-    "${dawn_abseil_dir}/absl/strings/charconv.h",
-    "${dawn_abseil_dir}/absl/strings/escaping.h",
-    "${dawn_abseil_dir}/absl/strings/internal/string_constant.h",
-    "${dawn_abseil_dir}/absl/strings/match.h",
-    "${dawn_abseil_dir}/absl/strings/numbers.h",
-    "${dawn_abseil_dir}/absl/strings/str_cat.h",
-    "${dawn_abseil_dir}/absl/strings/str_join.h",
-    "${dawn_abseil_dir}/absl/strings/str_replace.h",
-    "${dawn_abseil_dir}/absl/strings/str_split.h",
-    "${dawn_abseil_dir}/absl/strings/strip.h",
-    "${dawn_abseil_dir}/absl/strings/substitute.h",
-  ]
-  deps = [
-    ":base",
-    ":bits",
-    ":endian",
-    ":int128",
-    ":raw_logging_internal",
-    ":string_view",
-    ":strings_internal",
-    ":throw_delegate",
-    ":type_traits",
-  ]
-}
-
-absl_source_set("strings_internal") {
-  sources = [
-    "${dawn_abseil_dir}/absl/strings/internal/escaping.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/ostringstream.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/utf8.cc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/strings/internal/char_map.h",
-    "${dawn_abseil_dir}/absl/strings/internal/escaping.h",
-    "${dawn_abseil_dir}/absl/strings/internal/ostringstream.h",
-    "${dawn_abseil_dir}/absl/strings/internal/resize_uninitialized.h",
-    "${dawn_abseil_dir}/absl/strings/internal/utf8.h",
-  ]
-  deps = [
-    ":endian",
-    ":raw_logging_internal",
-    ":type_traits",
-  ]
-}
-
-absl_source_set("string_view") {
-  sources = [ "${dawn_abseil_dir}/absl/strings/string_view.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/strings/string_view.h" ]
-  deps = [
-    ":base",
-    ":config",
-    ":core_headers",
-    ":throw_delegate",
-  ]
-}
-
-absl_source_set("str_format") {
-  public = [ "${dawn_abseil_dir}/absl/strings/str_format.h" ]
-  deps = [ ":str_format_internal" ]
-}
-
-absl_source_set("str_format_internal") {
-  sources = [
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/arg.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/bind.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/extension.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/float_conversion.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/output.cc",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/parser.cc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/arg.h",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/bind.h",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/checker.h",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/extension.h",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/float_conversion.h",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/output.h",
-    "${dawn_abseil_dir}/absl/strings/internal/str_format/parser.h",
-  ]
-  deps = [
-    ":bits",
-    ":config",
-    ":core_headers",
-    ":function_ref",
-    ":int128",
-    ":strings",
-    ":type_traits",
-    ":utility",
-  ]
-}
-
-#
-# absl/synchronization
-#
-
-absl_source_set("graphcycles_internal") {
-  sources =
-      [ "${dawn_abseil_dir}/absl/synchronization/internal/graphcycles.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/synchronization/internal/graphcycles.h" ]
-  deps = [
-    ":base",
-    ":base_internal",
-    ":config",
-    ":core_headers",
-    ":malloc_internal",
-    ":raw_logging_internal",
-  ]
-  visibility = [ ":*" ]
-}
-
-absl_source_set("kernel_timeout_internal") {
-  sources =
-      [ "${dawn_abseil_dir}/absl/synchronization/internal/kernel_timeout.cc" ]
-  public =
-      [ "${dawn_abseil_dir}/absl/synchronization/internal/kernel_timeout.h" ]
-  deps = [
-    ":base",
-    ":config",
-    ":core_headers",
-    ":raw_logging_internal",
-    ":time",
-  ]
-}
-
-absl_source_set("symbolize") {
-  sources = [
-    "${dawn_abseil_dir}/absl/debugging/symbolize.cc",
-    "${dawn_abseil_dir}/absl/debugging/symbolize_darwin.inc",
-    "${dawn_abseil_dir}/absl/debugging/symbolize_elf.inc",
-    "${dawn_abseil_dir}/absl/debugging/symbolize_emscripten.inc",
-    "${dawn_abseil_dir}/absl/debugging/symbolize_unimplemented.inc",
-    "${dawn_abseil_dir}/absl/debugging/symbolize_win32.inc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/debugging/internal/symbolize.h",
-    "${dawn_abseil_dir}/absl/debugging/symbolize.h",
-  ]
-  deps = [
-    ":base",
-    ":config",
-    ":core_headers",
-    ":debugging_internal",
-    ":demangle_internal",
-    ":dynamic_annotations",
-    ":malloc_internal",
-    ":raw_logging_internal",
-    ":string_view",
-    ":strings",
-  ]
-}
-
-absl_source_set("synchronization") {
-  sources = [
-    "${dawn_abseil_dir}/absl/synchronization/barrier.cc",
-    "${dawn_abseil_dir}/absl/synchronization/blocking_counter.cc",
-    "${dawn_abseil_dir}/absl/synchronization/internal/create_thread_identity.cc",
-    "${dawn_abseil_dir}/absl/synchronization/internal/futex_waiter.cc",
-    "${dawn_abseil_dir}/absl/synchronization/internal/per_thread_sem.cc",
-    "${dawn_abseil_dir}/absl/synchronization/internal/pthread_waiter.cc",
-    "${dawn_abseil_dir}/absl/synchronization/internal/sem_waiter.cc",
-    "${dawn_abseil_dir}/absl/synchronization/internal/stdcpp_waiter.cc",
-    "${dawn_abseil_dir}/absl/synchronization/internal/waiter_base.cc",
-    "${dawn_abseil_dir}/absl/synchronization/internal/win32_waiter.cc",
-    "${dawn_abseil_dir}/absl/synchronization/mutex.cc",
-    "${dawn_abseil_dir}/absl/synchronization/notification.cc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/synchronization/barrier.h",
-    "${dawn_abseil_dir}/absl/synchronization/blocking_counter.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/create_thread_identity.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/futex.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/futex_waiter.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/per_thread_sem.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/pthread_waiter.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/sem_waiter.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/stdcpp_waiter.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/waiter.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/waiter_base.h",
-    "${dawn_abseil_dir}/absl/synchronization/internal/win32_waiter.h",
-    "${dawn_abseil_dir}/absl/synchronization/mutex.h",
-    "${dawn_abseil_dir}/absl/synchronization/notification.h",
-  ]
-  deps = [
-    ":atomic_hook",
-    ":base",
-    ":base_internal",
-    ":config",
-    ":core_headers",
-    ":dynamic_annotations",
-    ":graphcycles_internal",
-    ":kernel_timeout_internal",
-    ":malloc_internal",
-    ":raw_logging_internal",
-    ":stacktrace",
-    ":symbolize",
-    ":time",
-  ]
-}
-
-#
-# absl/time
-#
-
-absl_source_set("civil_time") {
-  sources =
-      [ "${dawn_abseil_dir}/absl/time/internal/cctz/src/civil_time_detail.cc" ]
-  public = [
-    "${dawn_abseil_dir}/absl/time/internal/cctz/include/cctz/civil_time.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/include/cctz/civil_time_detail.h",
-  ]
-  deps = [ ":config" ]
-}
-
-absl_source_set("time") {
-  sources = [
-    "${dawn_abseil_dir}/absl/time/civil_time.cc",
-    "${dawn_abseil_dir}/absl/time/clock.cc",
-    "${dawn_abseil_dir}/absl/time/duration.cc",
-    "${dawn_abseil_dir}/absl/time/format.cc",
-    "${dawn_abseil_dir}/absl/time/internal/get_current_time_chrono.inc",
-    "${dawn_abseil_dir}/absl/time/internal/get_current_time_posix.inc",
-    "${dawn_abseil_dir}/absl/time/time.cc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/time/civil_time.h",
-    "${dawn_abseil_dir}/absl/time/clock.h",
-    "${dawn_abseil_dir}/absl/time/time.h",
-  ]
-  deps = [
-    ":base",
-    ":civil_time",
-    ":config",
-    ":core_headers",
-    ":int128",
-    ":optional",
-    ":raw_logging_internal",
-    ":string_view",
-    ":strings",
-    ":time_zone",
-  ]
-}
-
-absl_source_set("time_zone") {
-  sources = [
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_fixed.cc",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_fixed.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_format.cc",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_if.cc",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_if.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_impl.cc",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_impl.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_info.cc",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_info.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_libc.cc",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_libc.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_lookup.cc",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_posix.cc",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/time_zone_posix.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/tzfile.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/src/zone_info_source.cc",
-  ]
-  public = [
-    "${dawn_abseil_dir}/absl/time/internal/cctz/include/cctz/time_zone.h",
-    "${dawn_abseil_dir}/absl/time/internal/cctz/include/cctz/zone_info_source.h",
-  ]
-  if (is_apple) {
-    frameworks = [ "Foundation.framework" ]
-  }
-  deps = [
-    ":civil_time",
-    ":config",
-  ]
-  if (is_fuchsia) {
-    # Remove when fixed in Fuchsia SDK:
-    # https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=127301
-    cflags_cc = [ "-Wno-sign-conversion" ]
-    deps += [
-      "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.intl:fuchsia.intl_hlcpp",
-      "//third_party/fuchsia-sdk/sdk/pkg/async",
-      "//third_party/fuchsia-sdk/sdk/pkg/async-loop-cpp",
-      "//third_party/fuchsia-sdk/sdk/pkg/sys_cpp",
-      "//third_party/fuchsia-sdk/sdk/pkg/zx",
-    ]
-  }
-}
-
-#
-# absl/types
-#
-
-absl_source_set("bad_optional_access") {
-  sources = [ "${dawn_abseil_dir}/absl/types/bad_optional_access.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/types/bad_optional_access.h" ]
-  public_deps = [ ":config" ]
-  deps = [ ":raw_logging_internal" ]
-}
-
-absl_source_set("bad_variant_access") {
-  sources = [ "${dawn_abseil_dir}/absl/types/bad_variant_access.cc" ]
-  public = [ "${dawn_abseil_dir}/absl/types/bad_variant_access.h" ]
-  public_deps = [ ":config" ]
-  deps = [ ":raw_logging_internal" ]
-}
-
-absl_source_set("optional") {
-  sources = [ "${dawn_abseil_dir}/absl/types/internal/optional.h" ]
-  public = [ "${dawn_abseil_dir}/absl/types/internal/optional.h" ]
-  public_deps = [
-    ":bad_optional_access",
-    ":base_internal",
-    ":config",
-    ":core_headers",
-    ":memory",
-    ":type_traits",
-    ":utility",
-  ]
-}
-
-absl_source_set("variant") {
-  sources = [ "${dawn_abseil_dir}/absl/types/internal/variant.h" ]
-  public = [ "${dawn_abseil_dir}/absl/types/variant.h" ]
-  public_deps = [
-    ":bad_variant_access",
-    ":base_internal",
-    ":config",
-    ":core_headers",
-    ":type_traits",
-    ":utility",
-  ]
-}
-
-#
-# absl/utility
-#
-
-absl_source_set("utility") {
-  public = [ "${dawn_abseil_dir}/absl/utility/utility.h" ]
-  deps = [
-    ":base_internal",
-    ":config",
-    ":type_traits",
-  ]
-}