blob: 4e34b8d4fd3d26c73ead83d3f8266ae455954931 [file] [log] [blame]
# 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.
# This file exists for two reasons:
# a) it allows for when using Dawn outside of Chromium to only include
# the minimal amount of abseil needed (Chromium already includes
# all of abseil, so there is no need to minimize there)
# b) addresses the fact that the BUILD.gn files supplied via Chromium
# for abseill are opinionated on exactly where the checkout of
# abseil should be, and some embedders (i.e. Skia) use a different
# location.
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",
# Allows use of _Nullable, _Nonnull & _Null_unspecified
"-Wno-nullability-extension",
# vlog has some shadowing, which Windows Clang doesn't like
"-Wno-shadow",
]
}
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
#
# Includes only what is defined in this file, not all deps from the
# original abseil GN file. If there are missing dependencies when
# using this target that indicates they need to be ported over.
#
# DO NOT DEPEND ON THIS IN DAWN CODE
#
# This exists only for third party dependencies that need it. When
# using abseil in Dawn, use depend directly on the target that is
# needed
source_set("absl") {
public_deps = [ ":absl_component_deps" ]
}
# Commented out deps are targets that exist in the original BUILD.gn,
# but currently do not have an equivalent here. DO NOT just uncomment
# them, since that will cause symbol duplication issues. The rules
# will need to be ported to this file to use.
group("absl_component_deps") {
public_deps = [
":absl_check",
":absl_log",
":absl_vlog_is_on",
":algorithm",
":any_invocable",
":base",
":bits",
":cleanup",
":config",
":container",
":cord",
":core_headers",
":die_if_null",
# "//third_party/abseil-cpp/absl/container:btree",
":fixed_array",
":flat_hash_map",
":flat_hash_set",
# "//third_party/abseil-cpp/absl/functional:bind_front",
":function_ref",
":has_ostream_operator",
# "//third_party/abseil-cpp/absl/functional:overload",
":hash",
":inlined_vector",
":int128",
":log_entry",
":log_globals",
":log_initialize",
":log_severity",
":log_sink",
":log_sink_registry",
":memory",
":no_destructor",
":nullability",
":optional",
":prefetch",
":span",
# "//third_party/abseil-cpp/absl/container:node_hash_map",
# "//third_party/abseil-cpp/absl/container:node_hash_set",
# "//third_party/abseil-cpp/absl/debugging:failure_signal_handler",
":stacktrace",
# "//third_party/abseil-cpp/absl/random",
# "//third_party/abseil-cpp/absl/random:bit_gen_ref",
# "//third_party/abseil-cpp/absl/random:distributions",
":status",
":statusor",
":str_format",
":string_view",
":strings",
":symbolize",
":synchronization",
":time",
":type_traits",
":utility",
":variant",
]
# Dependencies that preferably shouldn't be public in chromium.
public_deps += [
# public in abseil, but deprecated in chromium, yet used.
":dynamic_annotations",
# base/logging.cc uses this non-public absl dependency while there no better
# alternative to inject abort hook. See notes in `base/logging.cc`.
":raw_logging_internal",
# absl internal utilities used by protobuf.
":if_constexpr",
":layout",
]
if (is_component_build) {
public_deps += [ ":absl_full_deps" ]
}
# The following dependencies currently don't build with NaCl.
# TODO(https://crbug.com/1114625): Fix build errors and remove this section.
#
# Note: This target currently is not implemented in this file, so
# this logic is disabled, if :failure_signal_handler gets ported
# this will need to be re-enabled
# if (is_nacl) {
# public_deps -=
# [ "//third_party/abseil-cpp/absl/debugging:failure_signal_handler" ]
# }
}
# The 'absl_full' target is not implemented here, since it includes a
# bunch of targets that are generally not allowed in Chromium. If you
# think you need to add it in, because a dependency uses it, seriously
# consider if you can avoid doing that, since it will likely be a lot
# of effort to implement, and opens the door to should we just fork
# the entire GN structure from upstream.
#
# Examples of of how to avoid implementing this, there are custom
# build rules for googletest in standalone builds, and a stub fuzztest
# BUILD.gn.
# Commented out deps are targets that exist in the original BUILD.gn,
# but currently do not have an equivalent here. DO NOT just uncomment
# them, since that will cause symbol duplication issues. The rules
# will need to be ported to this file to use.
group("absl_full_deps") {
public_deps = [
# Banned because each flag registration generates a static initializer, and
# the flag registration mechanism is problematic in component builds.
# "//third_party/abseil-cpp/absl/flags:config",
# "//third_party/abseil-cpp/absl/flags:flag",
# "//third_party/abseil-cpp/absl/flags:parse",
# "//third_party/abseil-cpp/absl/flags:reflection",
# "//third_party/abseil-cpp/absl/flags:usage",
# Banned because the LOG and CHECK macros conflict with Chrome's version of
# those macros.
":log",
":check",
]
# public_configs = [ "//third_party/abseil-cpp/absl/flags:absl_flags_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" ]
public_deps = [
":algorithm",
":core_headers",
":nullability",
":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",
":nullability",
":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("no_destructor") {
public = [ "${dawn_abseil_dir}/absl/base/no_destructor.h" ]
deps = [
":config",
":nullability",
]
}
absl_source_set("nullability") {
sources = [ "${dawn_abseil_dir}/absl/base/internal/nullability_impl.h" ]
public = [ "${dawn_abseil_dir}/absl/base/nullability.h" ]
deps = [
":core_headers",
":type_traits",
]
}
absl_source_set("prefetch") {
public = [ "${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("strerror") {
sources = [ "${dawn_abseil_dir}/absl/base/internal/strerror.cc" ]
public = [ "${dawn_abseil_dir}/absl/base/internal/strerror.h" ]
deps = [
":config",
":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_source_set("tracing_internal") {
public = [ "${dawn_abseil_dir}/absl/base/internal/tracing.h" ]
sources = [ "${dawn_abseil_dir}/absl/base/internal/tracing.cc" ]
deps = [
":config",
":core_headers",
]
}
#
# absl/cleanup
#
absl_source_set("cleanup") {
public = [ "${dawn_abseil_dir}/absl/cleanup/cleanup.h" ]
deps = [
":cleanup_internal",
":config",
":core_headers",
]
}
absl_source_set("cleanup_internal") {
public = [ "${dawn_abseil_dir}/absl/cleanup/internal/cleanup.h" ]
deps = [
":base_internal",
":core_headers",
":utility",
]
}
#
# 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 = [
":common",
":config",
":cord",
":hash",
":string_view",
":type_traits",
]
}
absl_source_set("hash_policy_traits") {
public = [ "${dawn_abseil_dir}/absl/container/internal/hash_policy_traits.h" ]
public_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",
":no_destructor",
":raw_logging_internal",
":sample_recorder",
":stacktrace",
":synchronization",
":time",
":tracing_internal",
":utility",
]
}
absl_source_set("inlined_vector") {
public = [ "${dawn_abseil_dir}/absl/container/inlined_vector.h" ]
deps = [
":algorithm",
":core_headers",
":inlined_vector_internal",
":memory",
":throw_delegate",
":type_traits",
]
}
absl_source_set("inlined_vector_internal") {
public = [ "${dawn_abseil_dir}/absl/container/internal/inlined_vector.h" ]
deps = [
":base_internal",
":compressed_tuple",
":config",
":core_headers",
":memory",
":span",
":type_traits",
]
}
absl_source_set("layout") {
public = [ "${dawn_abseil_dir}/absl/container/internal/layout.h" ]
deps = [
":config",
":core_headers",
":demangle_internal",
":span",
":strings",
":type_traits",
":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",
":function_ref",
":hash",
":hash_function_defaults",
":hash_policy_traits",
":hashtable_debug_hooks",
":hashtablez_sampler",
":memory",
":prefetch",
":raw_logging_internal",
":type_traits",
":utility",
]
}
#
# absl/crc
#
absl_source_set("crc32c") {
public = [
"${dawn_abseil_dir}/absl/crc/crc32c.h",
"${dawn_abseil_dir}/absl/crc/internal/crc32c.h",
"${dawn_abseil_dir}/absl/crc/internal/crc_memcpy.h",
]
sources = [
"${dawn_abseil_dir}/absl/crc/crc32c.cc",
"${dawn_abseil_dir}/absl/crc/internal/crc32c_inline.h",
"${dawn_abseil_dir}/absl/crc/internal/crc_memcpy_fallback.cc",
"${dawn_abseil_dir}/absl/crc/internal/crc_memcpy_x86_arm_combined.cc",
"${dawn_abseil_dir}/absl/crc/internal/crc_non_temporal_memcpy.cc",
]
deps = [
":config",
":core_headers",
":cpu_detect",
":crc_internal",
":endian",
":non_temporal_memcpy",
":prefetch",
":str_format",
":string_view",
]
}
absl_source_set("crc_internal") {
public = [
"${dawn_abseil_dir}/absl/crc/internal/crc.h",
"${dawn_abseil_dir}/absl/crc/internal/crc32_x86_arm_combined_simd.h",
]
sources = [
"${dawn_abseil_dir}/absl/crc/internal/crc.cc",
"${dawn_abseil_dir}/absl/crc/internal/crc_internal.h",
"${dawn_abseil_dir}/absl/crc/internal/crc_x86_arm_combined.cc",
]
deps = [
":bits",
":config",
":core_headers",
":cpu_detect",
":endian",
":memory",
":prefetch",
":raw_logging_internal",
]
}
absl_source_set("cpu_detect") {
public = [ "${dawn_abseil_dir}/absl/crc/internal/cpu_detect.h" ]
sources = [ "${dawn_abseil_dir}/absl/crc/internal/cpu_detect.cc" ]
deps = [
":base",
":config",
":optional",
]
}
absl_source_set("crc_cord_state") {
public = [ "${dawn_abseil_dir}/absl/crc/internal/crc_cord_state.h" ]
sources = [ "${dawn_abseil_dir}/absl/crc/internal/crc_cord_state.cc" ]
deps = [
":bits",
":config",
":crc32c",
":no_destructor",
]
}
absl_source_set("non_temporal_arm_intrinsics") {
public =
[ "${dawn_abseil_dir}/absl/crc/internal/non_temporal_arm_intrinsics.h" ]
deps = [ ":config" ]
}
absl_source_set("non_temporal_memcpy") {
public = [ "${dawn_abseil_dir}/absl/crc/internal/non_temporal_memcpy.h" ]
deps = [
":config",
":core_headers",
":non_temporal_arm_intrinsics",
]
}
#
# 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("bounded_utf8_length_sequence") {
public = [
"${dawn_abseil_dir}/absl/debugging/internal/bounded_utf8_length_sequence.h",
]
deps = [
":bits",
":config",
]
}
absl_source_set("decode_rust_punycode") {
sources =
[ "${dawn_abseil_dir}/absl/debugging/internal/decode_rust_punycode.cc" ]
public =
[ "${dawn_abseil_dir}/absl/debugging/internal/decode_rust_punycode.h" ]
deps = [
":bounded_utf8_length_sequence",
":config",
":nullability",
":utf8_for_code_point",
]
}
absl_source_set("demangle_internal") {
sources = [
"${dawn_abseil_dir}/absl/debugging/internal/demangle.cc",
"${dawn_abseil_dir}/absl/debugging/internal/demangle_rust.cc",
]
public = [
"${dawn_abseil_dir}/absl/debugging/internal/demangle.h",
"${dawn_abseil_dir}/absl/debugging/internal/demangle_rust.h",
]
deps = [
":base",
":config",
":core_headers",
":decode_rust_punycode",
]
}
absl_source_set("examine_stack") {
sources = [ "${dawn_abseil_dir}/absl/debugging/internal/examine_stack.cc" ]
public = [ "${dawn_abseil_dir}/absl/debugging/internal/examine_stack.h" ]
deps = [
":config",
":core_headers",
":raw_logging_internal",
":stacktrace",
":symbolize",
]
}
absl_source_set("leak_check") {
sources = [ "${dawn_abseil_dir}/absl/debugging/leak_check.cc" ]
public = [ "${dawn_abseil_dir}/absl/debugging/leak_check.h" ]
deps = [
":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_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/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_source_set("overload") {
public = [ "${dawn_abseil_dir}/absl/functional/overload.h" ]
deps = [
":config",
":type_traits",
]
}
absl_source_set("utf8_for_code_point") {
sources =
[ "${dawn_abseil_dir}/absl/debugging/internal/utf8_for_code_point.cc" ]
public =
[ "${dawn_abseil_dir}/absl/debugging/internal/utf8_for_code_point.h" ]
deps = [ ":config" ]
}
#
# 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/log
#
absl_source_set("log") {
public = [ "${dawn_abseil_dir}/absl/log/log.h" ]
deps = [
":log_impl",
":vlog_is_on",
]
}
# There are separated absl/log:globals and absl/log/internal:globals
# targets in the original GN files. Renamed to log_global and
# _log_global respectively.
absl_source_set("log_globals") {
sources = [ "${dawn_abseil_dir}/absl/log/globals.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/globals.h" ]
deps = [
":atomic_hook",
":config",
":core_headers",
":hash",
":log_severity",
":raw_logging_internal",
":string_view",
":vlog_config",
]
}
absl_source_set("_log_globals") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/globals.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/globals.h" ]
deps = [
":config",
":core_headers",
":log_severity",
":raw_logging_internal",
":string_view",
":strings",
":time",
]
}
absl_source_set("log_config") {
public = [ "${dawn_abseil_dir}/absl/log/internal/config.h" ]
deps = [
":config",
":core_headers",
]
}
absl_source_set("absl_check") {
public = [ "${dawn_abseil_dir}/absl/log/absl_check.h" ]
deps = [ ":check_impl" ]
}
absl_source_set("absl_log") {
public = [ "${dawn_abseil_dir}/absl/log/absl_log.h" ]
deps = [ ":log_impl" ]
}
absl_source_set("absl_vlog_is_on") {
public = [ "${dawn_abseil_dir}/absl/log/absl_vlog_is_on.h" ]
deps = [
":config",
":core_headers",
":strings",
":vlog_config",
]
}
absl_source_set("append_truncated") {
public = [ "${dawn_abseil_dir}/absl/log/internal/append_truncated.h" ]
deps = [
":config",
":span",
":string_view",
]
}
absl_source_set("check") {
public = [ "${dawn_abseil_dir}/absl/log/check.h" ]
deps = [
":check_impl",
":check_op",
":conditions",
":log_message",
":strip",
]
}
absl_source_set("check_impl") {
public = [ "${dawn_abseil_dir}/absl/log/internal/check_impl.h" ]
deps = [
":check_op",
":conditions",
":core_headers",
":log_message",
":strip",
]
}
absl_source_set("check_op") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/check_op.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/check_op.h" ]
deps = [
":base",
":config",
":core_headers",
":leak_check",
":nullability",
":nullguard",
":nullstream",
":strings",
":strip",
]
}
absl_source_set("conditions") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/conditions.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/conditions.h" ]
deps = [
":base",
":config",
":core_headers",
":voidify",
]
}
absl_source_set("die_if_null") {
sources = [ "${dawn_abseil_dir}/absl/log/die_if_null.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/die_if_null.h" ]
deps = [
":config",
":core_headers",
":log",
":strings",
]
}
absl_source_set("fnmatch") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/fnmatch.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/fnmatch.h" ]
deps = [
":config",
":strings",
]
}
absl_source_set("format") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/log_format.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/log_format.h" ]
deps = [
":_log_globals",
":append_truncated",
":config",
":core_headers",
":log_config",
":log_severity",
":span",
":str_format",
":string_view",
":strings",
":time",
]
}
absl_source_set("log_initialize") {
sources = [ "${dawn_abseil_dir}/absl/log/initialize.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/initialize.h" ]
deps = [
":_log_globals",
":config",
":log_globals",
":time",
]
}
absl_source_set("log_entry") {
sources = [ "${dawn_abseil_dir}/absl/log/log_entry.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/log_entry.h" ]
deps = [
":config",
":core_headers",
":log_config",
":log_severity",
":span",
":string_view",
":time",
]
}
absl_source_set("log_impl") {
public = [ "${dawn_abseil_dir}/absl/log/internal/log_impl.h" ]
deps = [
":absl_vlog_is_on",
":conditions",
":log_message",
":strip",
]
}
absl_source_set("log_message") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/log_message.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/log_message.h" ]
deps = [
":_log_globals",
":_log_globals",
":append_truncated",
":base",
":config",
":core_headers",
":errno_saver",
":examine_stack",
":format",
":inlined_vector",
":log_entry",
":log_globals",
":log_severity",
":log_sink",
":log_sink_registry",
":log_sink_set",
":memory",
":nullability",
":nullguard",
":proto",
":raw_logging_internal",
":span",
":strerror",
":string_view",
":strings",
":structured_proto",
":time",
]
}
absl_source_set("log_sink") {
sources = [ "${dawn_abseil_dir}/absl/log/log_sink.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/log_sink.h" ]
deps = [
":config",
":log_entry",
]
}
absl_source_set("log_sink_registry") {
public = [ "${dawn_abseil_dir}/absl/log/log_sink_registry.h" ]
deps = [
":config",
":log_sink",
":log_sink_set",
":nullability",
]
}
absl_source_set("log_sink_set") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/log_sink_set.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/log_sink_set.h" ]
deps = [
":_log_globals",
":base",
":cleanup",
":config",
":core_headers",
":log_config",
":log_entry",
":log_globals",
":log_severity",
":log_sink",
":no_destructor",
":raw_logging_internal",
":span",
":string_view",
":synchronization",
]
if (is_android) {
libs = [ "log" ]
}
}
absl_source_set("nullguard") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/nullguard.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/nullguard.h" ]
deps = [
":config",
":core_headers",
]
}
absl_source_set("nullstream") {
public = [ "${dawn_abseil_dir}/absl/log/internal/nullstream.h" ]
deps = [
":config",
":core_headers",
":log_severity",
":string_view",
]
}
absl_source_set("proto") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/proto.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/proto.h" ]
deps = [
":base",
":config",
":core_headers",
":span",
":string_view",
]
}
absl_source_set("strip") {
public = [ "${dawn_abseil_dir}/absl/log/internal/strip.h" ]
deps = [
":core_headers",
":log_message",
":log_severity",
":nullstream",
]
}
absl_source_set("structured_proto") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/structured_proto.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/structured_proto.h" ]
deps = [
":config",
":proto",
":span",
":strings",
":variant",
]
}
absl_source_set("vlog_config") {
sources = [ "${dawn_abseil_dir}/absl/log/internal/vlog_config.cc" ]
public = [ "${dawn_abseil_dir}/absl/log/internal/vlog_config.h" ]
deps = [
":base",
":config",
":core_headers",
":fnmatch",
":memory",
":no_destructor",
":optional",
":strings",
":synchronization",
]
}
absl_source_set("vlog_is_on") {
public = [ "${dawn_abseil_dir}/absl/log/vlog_is_on.h" ]
deps = [ ":absl_vlog_is_on" ]
}
absl_source_set("voidify") {
public = [ "${dawn_abseil_dir}/absl/log/internal/voidify.h" ]
deps = [ ":config" ]
}
#
# 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",
":compare",
":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/internal/stringify_sink.cc",
"${dawn_abseil_dir}/absl/strings/internal/stringify_sink.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",
]
public_deps = [
":base",
":bits",
":endian",
":int128",
":raw_logging_internal",
":string_view",
":strings_internal",
":throw_delegate",
":type_traits",
]
}
absl_source_set("cord") {
sources = [
"${dawn_abseil_dir}/absl/strings/cord.cc",
"${dawn_abseil_dir}/absl/strings/cord_analysis.cc",
"${dawn_abseil_dir}/absl/strings/cord_analysis.h",
"${dawn_abseil_dir}/absl/strings/cord_buffer.cc",
]
public = [
"${dawn_abseil_dir}/absl/strings/cord.h",
"${dawn_abseil_dir}/absl/strings/cord_buffer.h",
]
deps = [
":bits",
":compare",
":config",
":cord_internal",
":cordz_info",
":cordz_update_scope",
":cordz_update_tracker",
":core_headers",
":crc32c",
":crc_cord_state",
":endian",
":function_ref",
":inlined_vector",
":nullability",
":optional",
":raw_logging_internal",
":span",
":string_view",
":strings",
":strings_internal",
":type_traits",
]
}
absl_source_set("cord_internal") {
sources = [
"${dawn_abseil_dir}/absl/strings/internal/cord_internal.cc",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_btree.cc",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_btree_navigator.cc",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_btree_reader.cc",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_consume.cc",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_crc.cc",
]
public = [
"${dawn_abseil_dir}/absl/strings/internal/cord_data_edge.h",
"${dawn_abseil_dir}/absl/strings/internal/cord_internal.h",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_btree.h",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_btree_navigator.h",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_btree_reader.h",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_consume.h",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_crc.h",
"${dawn_abseil_dir}/absl/strings/internal/cord_rep_flat.h",
]
visibility = [ ":*" ]
deps = [
":base_internal",
":compressed_tuple",
":config",
":container_memory",
":core_headers",
":crc_cord_state",
":endian",
":function_ref",
":inlined_vector",
":nullability",
":raw_logging_internal",
":span",
":string_view",
":strings",
]
}
absl_source_set("cordz_functions") {
sources = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_functions.cc" ]
public = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_functions.h" ]
deps = [
":config",
":core_headers",
":exponential_biased",
":raw_logging_internal",
]
}
absl_source_set("cordz_handle") {
sources = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_handle.cc" ]
public = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_handle.h" ]
deps = [
":config",
":no_destructor",
":raw_logging_internal",
":synchronization",
]
}
absl_source_set("cordz_info") {
sources = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_info.cc" ]
public = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_info.h" ]
deps = [
":base",
":config",
":cord_internal",
":cordz_functions",
":cordz_handle",
":cordz_statistics",
":cordz_update_tracker",
":core_headers",
":inlined_vector",
":raw_logging_internal",
":span",
":stacktrace",
":synchronization",
":time",
]
}
absl_source_set("cordz_statistics") {
public = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_statistics.h" ]
deps = [
":config",
":cordz_update_tracker",
]
}
absl_source_set("cordz_update_scope") {
public = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_update_scope.h" ]
deps = [
":config",
":cord_internal",
":cordz_info",
":cordz_update_tracker",
":core_headers",
]
}
absl_source_set("cordz_update_tracker") {
public = [ "${dawn_abseil_dir}/absl/strings/internal/cordz_update_tracker.h" ]
deps = [ ":config" ]
}
absl_source_set("has_ostream_operator") {
public = [ "${dawn_abseil_dir}/absl/strings/has_ostream_operator.h" ]
deps = [ ":config" ]
}
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/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 = [
":core_headers",
":nullability",
":span",
":str_format_internal",
":string_view",
]
}
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",
":fixed_array",
":function_ref",
":inlined_vector",
":int128",
":optional",
":span",
":string_view",
":strings",
":type_traits",
":utility",
]
}
#
# absl/status
#
absl_source_set("status") {
public = [
"${dawn_abseil_dir}/absl/status/status.h",
"${dawn_abseil_dir}/absl/status/status_payload_printer.h",
]
sources = [
"${dawn_abseil_dir}/absl/status/internal/status_internal.cc",
"${dawn_abseil_dir}/absl/status/internal/status_internal.h",
"${dawn_abseil_dir}/absl/status/status.cc",
"${dawn_abseil_dir}/absl/status/status_payload_printer.cc",
]
deps = [
":atomic_hook",
":config",
":cord",
":core_headers",
":function_ref",
":inlined_vector",
":leak_check",
":memory",
":no_destructor",
":nullability",
":optional",
":raw_logging_internal",
":span",
":stacktrace",
":str_format",
":strerror",
":string_view",
":strings",
":symbolize",
]
}
absl_source_set("statusor") {
public = [ "${dawn_abseil_dir}/absl/status/statusor.h" ]
sources = [
"${dawn_abseil_dir}/absl/status/internal/statusor_internal.h",
"${dawn_abseil_dir}/absl/status/statusor.cc",
]
deps = [
":base",
":config",
":core_headers",
":has_ostream_operator",
":nullability",
":raw_logging_internal",
":status",
":str_format",
":string_view",
":strings",
":type_traits",
":utility",
":variant",
]
}
#
# 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("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",
":tracing_internal",
]
}
#
# 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",
]
defines = []
if (is_apple) {
frameworks = [ "Foundation.framework" ]
# Work-around for https://github.com/llvm/llvm-project/issues/117630
defines += [ "_XOPEN_SOURCE=700" ]
}
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("compare") {
public = [ "${dawn_abseil_dir}/absl/types/compare.h" ]
deps = [
":config",
":core_headers",
":type_traits",
]
}
absl_source_set("optional") {
sources = [ "${dawn_abseil_dir}/absl/types/internal/optional.h" ]
public = [ "${dawn_abseil_dir}/absl/types/optional.h" ]
public_deps = [
":bad_optional_access",
":base_internal",
":config",
":core_headers",
":memory",
":nullability",
":type_traits",
":utility",
]
}
absl_source_set("span") {
public = [ "${dawn_abseil_dir}/absl/types/span.h" ]
sources = [ "${dawn_abseil_dir}/absl/types/internal/span.h" ]
public_deps = [
":algorithm",
":core_headers",
":nullability",
":throw_delegate",
":type_traits",
]
}
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",
]
}
absl_source_set("if_constexpr") {
public = [ "${dawn_abseil_dir}/absl/utility/internal/if_constexpr.h" ]
deps = [ ":config" ]
}