blob: 4bb1c231ad5da9eb0281e642ab65a237f48a1be9 [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.
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",
]
}