diff --git a/CMakeLists.txt b/CMakeLists.txt index 183fb5e668..a5965131d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -255,11 +255,11 @@ if(TINT_IS_SUBPROJECT) set(TINT_BUILD_DOCS_DEFAULT OFF) set(TINT_BUILD_TESTS_DEFAULT OFF) else() - set(TINT_BUILD_DOCS_DEFAULT ON) - set(TINT_BUILD_TESTS_DEFAULT ON) + set(TINT_BUILD_DOCS_DEFAULT OFF) + set(TINT_BUILD_TESTS_DEFAULT OFF) endif() -option_if_not_defined(TINT_BUILD_SAMPLES "Build samples" ON) +option_if_not_defined(TINT_BUILD_SAMPLES "Build samples" OFF) option_if_not_defined(TINT_BUILD_DOCS "Build documentation" ${TINT_BUILD_DOCS_DEFAULT}) option_if_not_defined(TINT_DOCS_WARN_AS_ERROR "When building documentation, treat warnings as errors" OFF) option_if_not_defined(TINT_BUILD_SPV_READER "Build the SPIR-V input reader" ON) diff --git a/mach/add-dependencies.sh b/mach/add-dependencies.sh index 93d2615156..33dfedbeda 100755 --- a/mach/add-dependencies.sh +++ b/mach/add-dependencies.sh @@ -8,22 +8,25 @@ rm -rf build rm -rf buildtools rm -rf testing rm -rf third_party/angle +rm -rf third_party/benchmark rm -rf third_party/catapult rm -rf third_party/googletest +rm -rf third_party/gpuweb-cts rm -rf third_party/llvm-build rm -rf third_party/markupsafe +rm -rf third_party/protobuf rm -rf third_party/swiftshader rm -rf third_party/vulkan_memory_allocator rm -rf third_party/vulkan-deps/glslang rm -rf third_party/vulkan-deps/spirv-cross -rm -rf third_party/vulkan-deps/vulkan-headers rm -rf third_party/vulkan-deps/vulkan-loader rm -rf third_party/vulkan-deps/vulkan-tools rm -rf third_party/vulkan-deps/vulkan-validation-layers +rm -rf third_party/webgpu-cts rm -rf third_party/zlib # Ensure vulkan-deps are committed -rm third_party/vulkan-deps/.gitignore +rm -f third_party/vulkan-deps/.gitignore # Remove gitmodules, some third_party/ repositories contain these and leaving them around would # cause any recursive submodule clones to fail because e.g. some reference internal Google @@ -37,7 +40,6 @@ find third_party -depth -type d -name .git -exec rm -rf {} \; find third_party -depth -type d -name tests -print -exec rm -rf {} \; find third_party -depth -type d -name docs -print -exec rm -rf {} \; find third_party -depth -type d -name samples -print -exec rm -rf {} \; -rm -rf third_party/tint/test/ rm -rf third_party/swiftshader/third_party/SPIRV-Tools # already in third_party/vulkan-deps/spirv-tools rm -rf third_party/swiftshader/third_party/SPIRV-Headers # already in third_party/vulkan-deps/spirv-headers diff --git a/third_party/abseil-cpp/BUILD.gn b/third_party/abseil-cpp/BUILD.gn new file mode 100644 index 0000000000..81af32368f --- /dev/null +++ b/third_party/abseil-cpp/BUILD.gn @@ -0,0 +1,230 @@ +# Copyright (c) 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# Flags specified here must not impact ABI. Code compiled with and without these +# opts will be linked together, and in some cases headers compiled with and +# without these options will be part of the same program. + +import("//build/config/c++/c++.gni") +import("//build/config/sanitizers/sanitizers.gni") +import("//build/toolchain/toolchain.gni") +import("//build_overrides/build.gni") +import("//third_party/abseil-cpp/absl.gni") + +config("absl_component_build") { + defines = [ "ABSL_CONSUME_DLL" ] +} + +component("absl") { + public_deps = [ ":absl_component_deps" ] + if (is_component_build) { + public_configs = [ ":absl_component_build" ] + + if (is_win && is_clang) { + if (current_cpu == "x64") { + if (is_debug) { + sources = [ "symbols_x64_dbg.def" ] + } else { + if (is_asan) { + sources = [ "symbols_x64_rel_asan.def" ] + } else { + sources = [ "symbols_x64_rel.def" ] + } + } + } + if (current_cpu == "x86") { + if (is_debug) { + sources = [ "symbols_x86_dbg.def" ] + } else { + sources = [ "symbols_x86_rel.def" ] + } + } + if (current_cpu == "arm64") { + if (is_debug) { + sources = [ "symbols_arm64_dbg.def" ] + } else { + sources = [ "symbols_arm64_rel.def" ] + } + } + } + } +} + +group("absl_component_deps") { + public_deps = [ + "//third_party/abseil-cpp/absl/algorithm:container", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/container:btree", + "//third_party/abseil-cpp/absl/container:fixed_array", + "//third_party/abseil-cpp/absl/container:flat_hash_map", + "//third_party/abseil-cpp/absl/container:flat_hash_set", + "//third_party/abseil-cpp/absl/container:inlined_vector", + "//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", + "//third_party/abseil-cpp/absl/debugging:stacktrace", + "//third_party/abseil-cpp/absl/debugging:symbolize", + "//third_party/abseil-cpp/absl/functional:bind_front", + "//third_party/abseil-cpp/absl/hash", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:bits", + "//third_party/abseil-cpp/absl/numeric:int128", + "//third_party/abseil-cpp/absl/status", + "//third_party/abseil-cpp/absl/status:statusor", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/strings:str_format", + "//third_party/abseil-cpp/absl/synchronization", + "//third_party/abseil-cpp/absl/time", + "//third_party/abseil-cpp/absl/types:optional", + "//third_party/abseil-cpp/absl/types:span", + "//third_party/abseil-cpp/absl/types:variant", + ] + + # The following dependencies currently don't build with NaCl. + # TODO(https://crbug.com/1114625): Fix build errors and remove this section. + if (is_nacl) { + public_deps -= [ + "//third_party/abseil-cpp/absl/container:flat_hash_map", + "//third_party/abseil-cpp/absl/container:flat_hash_set", + "//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", + ] + } + + visibility = [ ":absl" ] +} + +group("default") { + deps = [ + "absl/types:any", + "absl/types:bad_any_cast", + "absl/types:bad_optional_access", + "absl/types:optional", + "absl/types:span", + ] +} + +config("absl_include_config") { + include_dirs = [ "." ] +} + +config("absl_define_config") { + defines = [ "ABSL_ALLOCATOR_NOTHROW=1" ] + + if (is_win && !use_custom_libcxx) { + defines += [ + # See crbug.com/1101367: Acknowledge extended alignment when using + # MSVC's standard library. + "_ENABLE_EXTENDED_ALIGNED_STORAGE", + ] + } +} + +config("absl_default_cflags_cc") { + cflags_cc = [] + if (is_clang) { + cflags_cc += [ + # TODO(crbug.com/588506): Explicitly enable conversion warnings. + "-Wbool-conversion", + "-Wconstant-conversion", + "-Wenum-conversion", + "-Wint-conversion", + "-Wliteral-conversion", + "-Wnon-literal-null-conversion", + "-Wnull-conversion", + "-Wobjc-literal-conversion", + "-Wno-sign-conversion", + "-Wstring-conversion", + ] + if (!is_nacl && !use_xcode_clang) { + cflags_cc += [ "-Wbitfield-enum-conversion" ] + } + } + if (is_win) { + cflags_cc += [ + "/wd4005", # macro-redefinition + "/wd4018", # sign-compare + "/wd4068", # unknown pragma + "/wd4702", # unreachable code + ] + } +} + +config("absl_test_cflags_cc") { + cflags_cc = [] + if (is_clang || !is_win) { + cflags_cc += [ + "-Wno-conversion-null", + "-Wno-missing-declarations", + "-Wno-sign-compare", + "-Wno-unused-function", + "-Wno-unused-parameter", + "-Wno-unused-private-field", + ] + } + if (is_win) { + cflags_cc += [ + "/wd4018", # signed/unsigned mismatch + "/wd4101", # unreferenced local variable + ] + } +} + +if (build_with_chromium) { + import("//testing/test.gni") + + if (!is_component_build) { + test("absl_tests") { + testonly = true + deps = [ + "absl/algorithm:algorithm_test", + "absl/algorithm:container_test", + "absl/base:config_test", + "absl/cleanup:cleanup_test", + "absl/container:inlined_vector_test", + "absl/hash:low_level_hash_test", + "absl/memory:memory_test", + "absl/meta:type_traits_test", + "absl/status:statusor_test", + "absl/strings:ascii_test", + "absl/strings:cord_rep_btree_test", + "absl/strings:cord_rep_btree_reader_test", + "absl/strings:cord_rep_consume_test", + "absl/strings:cordz_functions_test", + "absl/strings:cordz_info_statistics_test", + "absl/strings:cordz_info_test", + "absl/strings:cordz_test", + "absl/strings:cordz_update_scope_test", + "absl/strings:cord_rep_btree_navigator_test", + "absl/strings:cordz_update_tracker_test", + "absl/strings:match_test", + "absl/strings:str_replace_test", + "absl/strings:string_view_test", + "absl/types:optional_test", + "absl/types:variant_test", + "//third_party/googletest:gtest_main", + ] + } + } + + test("absl_hardening_tests") { + testonly = true + sources = [ "absl_hardening_test.cc" ] + deps = [ + "//base/test:run_all_unittests", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/container:fixed_array", + "//third_party/abseil-cpp/absl/container:inlined_vector", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/types:optional", + "//third_party/abseil-cpp/absl/types:span", + "//third_party/abseil-cpp/absl/types:variant", + "//third_party/googletest:gtest", + ] + } +} diff --git a/third_party/abseil-cpp/absl.gni b/third_party/abseil-cpp/absl.gni new file mode 100644 index 0000000000..7519b32f26 --- /dev/null +++ b/third_party/abseil-cpp/absl.gni @@ -0,0 +1,81 @@ +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +# This file contains the definition of the template absl_source_set which +# should be the only type of target needed in abseil's BUILD.gn files. +# This template will correctly set "configs" and "public_configs" in order +# to correctly compile abseil in Chromium. +# +# Usage: +# Most of the times its usage will be similar to the example below but all +# the arguments avilable in source_set are also available for absl_source_set. +# +# absl_source_set("foo") { +# sources = [ "foo.cc" ] +# public = [ "foo.h" ] +# deps = [ ":bar" ] +# } + +import("//build_overrides/build.gni") + +template("absl_source_set") { + source_set(target_name) { + forward_variables_from(invoker, "*") + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ + "//build/config/compiler:no_chromium_code", + "//third_party/abseil-cpp:absl_default_cflags_cc", + "//third_party/abseil-cpp:absl_define_config", + ] + + if (is_component_build) { + defines = [ "ABSL_BUILD_DLL" ] + if (!is_win) { + configs -= [ "//build/config/gcc:symbol_visibility_hidden" ] + configs += [ "//build/config/gcc:symbol_visibility_default" ] + } + } + + if (!defined(public_configs)) { + public_configs = [] + } + public_configs += [ "//third_party/abseil-cpp:absl_include_config" ] + + if (!defined(visibility)) { + # Within Chromium builds, restrict direct visibility of Abseil sources, so + # users must depend on //third_party/abseil-cpp:absl. This prevents use of + # banned targets like absl/types:any. A few targets require exceptions. + # TODO(crbug.com/1096380): Consider replacing build_with_chromium with + # is_component_build for a narrower, more accurate condition. + if (build_with_chromium) { + visibility = [ + # Abseil itself. + "//third_party/abseil-cpp/*", + + # GTest. It unconditionally #includes any.h if pretty-print support + # for absl types is enabled. + "//third_party/googletest/*", + + # WebRTC binary to run PSNR and SSIM video quality analysis. It + # statically links absl and it is used by "browser_tests" when + # is_component_build=false but it cannot depend on the absl + # component because it uses absl/flags. + "//third_party/webrtc/rtc_tools:frame_analyzer", + + # WebRTC binaries used by //:chromium_builder_asan. They both + # statically link absl (because they depend on absl/flags) and are + # used by Chromium only when is_component_build=false. + "//third_party/webrtc/rtc_tools:rtp_generator", + "//third_party/webrtc/rtc_tools:video_replay", + + # Not used by Chromium directly. + "//chromecast/internal/*", + "//libassistant/*", + ] + } else { + visibility = [ "*" ] + } + } + } +} diff --git a/third_party/abseil-cpp/absl/algorithm/BUILD.gn b/third_party/abseil-cpp/absl/algorithm/BUILD.gn new file mode 100644 index 0000000000..4c93eb2b5b --- /dev/null +++ b/third_party/abseil-cpp/absl/algorithm/BUILD.gn @@ -0,0 +1,43 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("algorithm") { + public = [ "algorithm.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("container") { + public = [ "container.h" ] + deps = [ + ":algorithm", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} + +absl_source_set("algorithm_test") { + testonly = true + sources = [ "algorithm_test.cc" ] + deps = [ + ":algorithm", + "//third_party/googletest:gtest", + "//third_party/googletest:gmock", + ] +} + +absl_source_set("container_test") { + testonly = true + sources = [ "container_test.cc" ] + deps = [ + ":container", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/types:span", + "//third_party/googletest:gtest", + "//third_party/googletest:gmock", + ] +} diff --git a/third_party/abseil-cpp/absl/base/BUILD.gn b/third_party/abseil-cpp/absl/base/BUILD.gn new file mode 100644 index 0000000000..9d9dfcac0a --- /dev/null +++ b/third_party/abseil-cpp/absl/base/BUILD.gn @@ -0,0 +1,293 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("atomic_hook") { + public = [ "internal/atomic_hook.h" ] + public_deps = [ + ":config", + ":core_headers", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("errno_saver") { + public = [ "internal/errno_saver.h" ] + public_deps = [ ":config" ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("log_severity") { + sources = [ "log_severity.cc" ] + public = [ "log_severity.h" ] + public_deps = [ + ":config", + ":core_headers", + ] +} + +absl_source_set("raw_logging_internal") { + sources = [ "internal/raw_logging.cc" ] + public = [ "internal/raw_logging.h" ] + public_deps = [ + ":atomic_hook", + ":config", + ":core_headers", + ":log_severity", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("spinlock_wait") { + sources = [ + "internal/spinlock_akaros.inc", + "internal/spinlock_linux.inc", + "internal/spinlock_posix.inc", + "internal/spinlock_wait.cc", + "internal/spinlock_win32.inc", + ] + public = [ "internal/spinlock_wait.h" ] + deps = [ + ":base_internal", + ":core_headers", + ":errno_saver", + ] + visibility = [ "//third_party/abseil-cpp/absl/base:*" ] +} + +absl_source_set("config") { + public = [ + "config.h", + "options.h", + "policy_checks.h", + ] +} + +absl_source_set("dynamic_annotations") { + public = [ "dynamic_annotations.h" ] + + # Abseil's dynamic annotations are only visible inside Abseil because + # their usage is deprecated in Chromium (see README.chromium for more info). + visibility = [ "//third_party/abseil-cpp/absl/*" ] + deps = [ + ":config", + ":core_headers", + ] +} + +absl_source_set("core_headers") { + public = [ + "attributes.h", + "const_init.h", + "macros.h", + "optimization.h", + "port.h", + "thread_annotations.h", + ] + public_deps = [ ":config" ] +} + +absl_source_set("malloc_internal") { + sources = [ "internal/low_level_alloc.cc" ] + public = [ + "internal/direct_mmap.h", + "internal/low_level_alloc.h", + ] + public_deps = [ + ":base", + ":base_internal", + ":config", + ":core_headers", + ":dynamic_annotations", + ":raw_logging_internal", + ] +} + +absl_source_set("base_internal") { + public = [ + "internal/hide_ptr.h", + "internal/identity.h", + "internal/inline_variable.h", + "internal/invoke.h", + "internal/scheduling_mode.h", + ] + public_deps = [ + ":config", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("base") { + sources = [ + "internal/cycleclock.cc", + "internal/spinlock.cc", + "internal/sysinfo.cc", + "internal/thread_identity.cc", + "internal/unscaledcycleclock.cc", + ] + public = [ + "call_once.h", + "casts.h", + "internal/cycleclock.h", + "internal/low_level_scheduling.h", + "internal/per_thread_tls.h", + "internal/spinlock.h", + "internal/sysinfo.h", + "internal/thread_identity.h", + "internal/tsan_mutex_interface.h", + "internal/unscaledcycleclock.h", + ] + + # TODO(mbonadei): The bazel file has: + # "-DEFAULTLIB:advapi32.lib" + # understand if this is needed here as well. + public_deps = [ + ":atomic_hook", + ":base_internal", + ":config", + ":core_headers", + ":dynamic_annotations", + ":log_severity", + ":raw_logging_internal", + ":spinlock_wait", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} + +absl_source_set("throw_delegate") { + sources = [ "internal/throw_delegate.cc" ] + public = [ "internal/throw_delegate.h" ] + public_deps = [ + ":config", + ":raw_logging_internal", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("exception_testing") { + testonly = true + public = [ "internal/exception_testing.h" ] + public_deps = [ ":config" ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("pretty_function") { + public = [ "internal/pretty_function.h" ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +# TODO(mbonadei): This target throws by design. We should probably +# just remove it. +# source_set("exception_safety_testing") { +# testonly = true +# configs -= [ "//build/config/compiler:chromium_code" ] +# configs += [ +# "//build/config/compiler:no_chromium_code", +# "//third_party/abseil-cpp:absl_test_cflags_cc", +# ] +# public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] +# sources = [ +# "internal/exception_safety_testing.cc", +# ] +# public = [ +# "internal/exception_safety_testing.h", +# ] +# deps = [ +# ":config", +# ":pretty_function", +# "//third_party/abseil-cpp/absl/memory", +# "//third_party/abseil-cpp/absl/meta:type_traits", +# "//third_party/abseil-cpp/absl/strings", +# "//third_party/abseil-cpp/absl/utility", +# "//third_party/googletest:gtest", +# ] +# } + +absl_source_set("spinlock_test_common") { + testonly = true + sources = [ "spinlock_test_common.cc" ] + deps = [ + ":base", + ":base_internal", + ":config", + ":core_headers", + "//third_party/abseil-cpp/absl/synchronization", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("endian") { + public = [ + "internal/endian.h", + "internal/unaligned_access.h", + ] + public_deps = [ + ":base", + ":config", + ":core_headers", + ] +} + +absl_source_set("exponential_biased") { + sources = [ "internal/exponential_biased.cc" ] + public = [ "internal/exponential_biased.h" ] + public_deps = [ + ":config", + ":core_headers", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("periodic_sampler") { + sources = [ "internal/periodic_sampler.cc" ] + public = [ "internal/periodic_sampler.h" ] + public_deps = [ + ":core_headers", + ":exponential_biased", + ] +} + +absl_source_set("scoped_set_env") { + testonly = true + public = [ "internal/scoped_set_env.h" ] + sources = [ "internal/scoped_set_env.cc" ] + public_deps = [ + ":config", + ] + deps = [ + ":raw_logging_internal", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("strerror") { + sources = [ "internal/strerror.cc" ] + public = [ "internal/strerror.h" ] + public_deps = [ + ":config", + ] + deps = [ + ":core_headers", + ":errno_saver", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("fast_type_id") { + public = [ "internal/fast_type_id.h" ] + public_deps = [ ":config" ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("config_test") { + testonly = true + sources = [ "config_test.cc" ] + deps = [ + ":config", + "//third_party/abseil-cpp/absl/synchronization:thread_pool", + "//third_party/googletest:gtest", + ] +} diff --git a/third_party/abseil-cpp/absl/cleanup/BUILD.gn b/third_party/abseil-cpp/absl/cleanup/BUILD.gn new file mode 100644 index 0000000000..3b7b6c06d8 --- /dev/null +++ b/third_party/abseil-cpp/absl/cleanup/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright 2021 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("cleanup_internal") { + public = [ "internal/cleanup.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/utility", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("cleanup") { + public = [ "cleanup.h" ] + deps = [ + ":cleanup_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + ] +} + +absl_source_set("cleanup_test") { + testonly = true + sources = [ "cleanup_test.cc" ] + deps = [ + ":cleanup", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/utility", + "//third_party/googletest:gtest", + ] +} diff --git a/third_party/abseil-cpp/absl/container/BUILD.gn b/third_party/abseil-cpp/absl/container/BUILD.gn new file mode 100644 index 0000000000..ba939ae920 --- /dev/null +++ b/third_party/abseil-cpp/absl/container/BUILD.gn @@ -0,0 +1,375 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("compressed_tuple") { + public = [ "internal/compressed_tuple.h" ] + deps = [ "//third_party/abseil-cpp/absl/utility" ] +} + +absl_source_set("fixed_array") { + public = [ "fixed_array.h" ] + deps = [ + ":compressed_tuple", + "//third_party/abseil-cpp/absl/algorithm", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:dynamic_annotations", + "//third_party/abseil-cpp/absl/base:throw_delegate", + "//third_party/abseil-cpp/absl/memory", + ] +} + +absl_source_set("inlined_vector_internal") { + public = [ "internal/inlined_vector.h" ] + deps = [ + ":compressed_tuple", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("inlined_vector") { + public = [ "inlined_vector.h" ] + deps = [ + ":inlined_vector_internal", + "//third_party/abseil-cpp/absl/algorithm", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:throw_delegate", + "//third_party/abseil-cpp/absl/memory", + ] +} + +absl_source_set("counting_allocator") { + testonly = true + public = [ "internal/counting_allocator.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] + visibility = [ ":*" ] +} + +absl_source_set("test_instance_tracker") { + testonly = true + sources = [ "internal/test_instance_tracker.cc" ] + public = [ "internal/test_instance_tracker.h" ] + deps = [ "//third_party/abseil-cpp/absl/types:compare" ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("flat_hash_map") { + public = [ "flat_hash_map.h" ] + deps = [ + ":container_memory", + ":hash_function_defaults", + ":raw_hash_map", + "//third_party/abseil-cpp/absl/algorithm:container", + "//third_party/abseil-cpp/absl/memory", + ] +} + +absl_source_set("flat_hash_set") { + public = [ "flat_hash_set.h" ] + deps = [ + ":container_memory", + ":hash_function_defaults", + ":raw_hash_set", + "//third_party/abseil-cpp/absl/algorithm:container", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/memory", + ] +} + +absl_source_set("node_hash_map") { + public = [ "node_hash_map.h" ] + deps = [ + ":container_memory", + ":hash_function_defaults", + ":node_hash_policy", + ":raw_hash_map", + "//third_party/abseil-cpp/absl/algorithm:container", + "//third_party/abseil-cpp/absl/memory", + ] +} + +absl_source_set("node_hash_set") { + public = [ "node_hash_set.h" ] + deps = [ + ":container_memory", + ":hash_function_defaults", + ":node_hash_policy", + ":raw_hash_set", + "//third_party/abseil-cpp/absl/algorithm:container", + "//third_party/abseil-cpp/absl/memory", + ] +} + +absl_source_set("container_memory") { + public = [ "internal/container_memory.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("hash_function_defaults") { + public = [ "internal/hash_function_defaults.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/hash", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/strings:cord", + ] +} + +absl_source_set("hash_generator_testing") { + testonly = true + sources = [ "internal/hash_generator_testing.cc" ] + public = [ "internal/hash_generator_testing.h" ] + deps = [ + ":hash_policy_testing", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/strings", + ] +} + +absl_source_set("hash_policy_testing") { + testonly = true + public = [ "internal/hash_policy_testing.h" ] + deps = [ + "//third_party/abseil-cpp/absl/hash", + "//third_party/abseil-cpp/absl/strings", + ] +} + +absl_source_set("hash_policy_traits") { + public = [ "internal/hash_policy_traits.h" ] + deps = [ "//third_party/abseil-cpp/absl/meta:type_traits" ] +} + +absl_source_set("hashtable_debug") { + public = [ "internal/hashtable_debug.h" ] + deps = [ ":hashtable_debug_hooks" ] +} + +absl_source_set("hashtable_debug_hooks") { + public = [ "internal/hashtable_debug_hooks.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("hashtablez_sampler") { + public = [ "internal/hashtablez_sampler.h" ] + sources = [ + "internal/hashtablez_sampler.cc", + "internal/hashtablez_sampler_force_weak_definition.cc", + ] + deps = [ + ":have_sse", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:exponential_biased", + "//third_party/abseil-cpp/absl/debugging:stacktrace", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/synchronization", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("node_hash_policy") { + public = [ "internal/node_hash_policy.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("raw_hash_map") { + public = [ "internal/raw_hash_map.h" ] + deps = [ + ":container_memory", + ":raw_hash_set", + "//third_party/abseil-cpp/absl/base:throw_delegate", + ] +} + +absl_source_set("have_sse") { + public = [ "internal/have_sse.h" ] + visibility = [ ":*" ] +} + +absl_source_set("common") { + public = [ "internal/common.h" ] + deps = [ + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/types:optional", + ] +} + +absl_source_set("raw_hash_set") { + sources = [ "internal/raw_hash_set.cc" ] + public = [ "internal/raw_hash_set.h" ] + deps = [ + ":common", + ":compressed_tuple", + ":container_memory", + ":hash_policy_traits", + ":hashtable_debug_hooks", + ":hashtablez_sampler", + ":have_sse", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:bits", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("layout") { + public = [ "internal/layout.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/types:span", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("tracked") { + testonly = true + public = [ "internal/tracked.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("unordered_map_constructor_test") { + testonly = true + public = [ "internal/unordered_map_constructor_test.h" ] + deps = [ + ":hash_generator_testing", + ":hash_policy_testing", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("unordered_map_lookup_test") { + testonly = true + public = [ "internal/unordered_map_lookup_test.h" ] + deps = [ + ":hash_generator_testing", + ":hash_policy_testing", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("unordered_map_modifiers_test") { + testonly = true + public = [ "internal/unordered_map_modifiers_test.h" ] + deps = [ + ":hash_generator_testing", + ":hash_policy_testing", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("unordered_set_constructor_test") { + testonly = true + public = [ "internal/unordered_set_constructor_test.h" ] + deps = [ + ":hash_generator_testing", + ":hash_policy_testing", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("unordered_set_members_test") { + testonly = true + public = [ "internal/unordered_set_members_test.h" ] + deps = [ + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("unordered_map_members_test") { + testonly = true + public = [ "internal/unordered_map_members_test.h" ] + deps = [ + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("unordered_set_lookup_test") { + testonly = true + public = [ "internal/unordered_set_lookup_test.h" ] + deps = [ + ":hash_generator_testing", + ":hash_policy_testing", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("unordered_set_modifiers_test") { + testonly = true + public = [ "internal/unordered_set_modifiers_test.h" ] + deps = [ + ":hash_generator_testing", + ":hash_policy_testing", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("btree") { + sources = [ + "internal/btree.h", + "internal/btree_container.h", + ] + public = [ + "btree_map.h", + "btree_set.h", + ] + deps = [ + ":common", + ":compressed_tuple", + ":container_memory", + ":layout", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:throw_delegate", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/strings:cord", + "//third_party/abseil-cpp/absl/types:compare", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("inlined_vector_test") { + testonly = true + sources = [ "inlined_vector_test.cc" ] + if (is_win && !is_clang) { + cflags_cc = [ "/wd4996" ] + } else { + cflags_cc = [ "-Wno-deprecated-declarations" ] + } + deps = [ + ":counting_allocator", + ":inlined_vector", + ":test_instance_tracker", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:exception_testing", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/hash:hash_testing", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/strings", + "//third_party/googletest:gtest", + "//third_party/googletest:gmock", + ] +} diff --git a/third_party/abseil-cpp/absl/debugging/BUILD.gn b/third_party/abseil-cpp/absl/debugging/BUILD.gn new file mode 100644 index 0000000000..8774b9a6f4 --- /dev/null +++ b/third_party/abseil-cpp/absl/debugging/BUILD.gn @@ -0,0 +1,171 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/sanitizers/sanitizers.gni") +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("stacktrace") { + sources = [ + "internal/stacktrace_aarch64-inl.inc", + "internal/stacktrace_arm-inl.inc", + "internal/stacktrace_config.h", + "internal/stacktrace_emscripten-inl.inc", + "internal/stacktrace_generic-inl.inc", + "internal/stacktrace_powerpc-inl.inc", + "internal/stacktrace_riscv-inl.inc", + "internal/stacktrace_unimplemented-inl.inc", + "internal/stacktrace_win32-inl.inc", + "internal/stacktrace_x86-inl.inc", + "stacktrace.cc", + ] + public = [ "stacktrace.h" ] + deps = [ + ":debugging_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("symbolize") { + sources = [ + "symbolize.cc", + "symbolize_darwin.inc", + "symbolize_elf.inc", + "symbolize_emscripten.inc", + "symbolize_unimplemented.inc", + "symbolize_win32.inc", + ] + public = [ + "internal/symbolize.h", + "symbolize.h", + ] + deps = [ + ":debugging_internal", + ":demangle_internal", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:dynamic_annotations", + "//third_party/abseil-cpp/absl/base:malloc_internal", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/strings", + ] + + # TODO(mbonadei): The bazel file has: + # -DEFAULTLIB:dbghelp.lib + # evaluate if this needs to be added here as well. +} + +absl_source_set("examine_stack") { + sources = [ "internal/examine_stack.cc" ] + public = [ "internal/examine_stack.h" ] + visibility = [ ":*" ] + deps = [ + ":stacktrace", + ":symbolize", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("failure_signal_handler") { + sources = [ "failure_signal_handler.cc" ] + public = [ "failure_signal_handler.h" ] + deps = [ + ":examine_stack", + ":stacktrace", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:errno_saver", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("debugging_internal") { + sources = [ + "internal/address_is_readable.cc", + "internal/elf_mem_image.cc", + "internal/vdso_support.cc", + ] + public = [ + "internal/address_is_readable.h", + "internal/elf_mem_image.h", + "internal/vdso_support.h", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:dynamic_annotations", + "//third_party/abseil-cpp/absl/base:errno_saver", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("demangle_internal") { + sources = [ "internal/demangle.cc" ] + public = [ "internal/demangle.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + ] +} + +absl_source_set("leak_check") { + if (is_ios || is_win) { + sources = [] + public = [] + } else { + sources = [ "leak_check.cc" ] + public = [ "leak_check.h" ] + } + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + ] +} + +absl_source_set("leak_check_disable") { + sources = [ "leak_check_disable.cc" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +if (is_lsan) { + absl_source_set("leak_check_api_enabled_for_testing") { + testonly = true + sources = [ "leak_check.cc" ] + public = [ "leak_check.h" ] + visibility = [ ":*" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + ] + } +} else { + absl_source_set("leak_check_api_disabled_for_testing") { + testonly = true + sources = [ "leak_check.cc" ] + public = [ "leak_check.h" ] + visibility = [ ":*" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + ] + } +} + +absl_source_set("stack_consumption") { + testonly = true + sources = [ "internal/stack_consumption.cc" ] + public = [ "internal/stack_consumption.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] + visibility = [ ":*" ] +} diff --git a/third_party/abseil-cpp/absl/flags/BUILD.gn b/third_party/abseil-cpp/absl/flags/BUILD.gn new file mode 100644 index 0000000000..a47248b97a --- /dev/null +++ b/third_party/abseil-cpp/absl/flags/BUILD.gn @@ -0,0 +1,215 @@ +# Copyright 2019 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("path_util") { + public = [ "internal/path_util.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/strings", + ] + visibility = [ ":*" ] +} + +absl_source_set("program_name") { + sources = [ "internal/program_name.cc" ] + public = [ "internal/program_name.h" ] + deps = [ + ":path_util", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/synchronization", + ] + visibility = [ ":*" ] +} + +# Since absl/flags are only used by some test binaries (e.g. in WebRTC), +# there is no need to strip flags from mobile platforms binaries. +# This does not affect Chromium. +config("absl_flags_config") { + defines = [ "ABSL_FLAGS_STRIP_NAMES=0" ] +} + +absl_source_set("config") { + sources = [ "usage_config.cc" ] + public_configs = [ ":absl_flags_config" ] + public = [ + "config.h", + "usage_config.h", + ] + deps = [ + ":path_util", + ":program_name", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/synchronization", + ] +} + +absl_source_set("marshalling") { + sources = [ "marshalling.cc" ] + public = [ "marshalling.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:log_severity", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/strings:str_format", + ] +} + +absl_source_set("commandlineflag_internal") { + public = [ "internal/commandlineflag.h" ] + sources = [ "internal/commandlineflag.cc" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:fast_type_id", + ] +} + +absl_source_set("commandlineflag") { + sources = [ "commandlineflag.cc" ] + public = [ "commandlineflag.h" ] + deps = [ + ":commandlineflag_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:fast_type_id", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/types:optional", + ] +} + +absl_source_set("private_handle_accessor") { + sources = [ "internal/private_handle_accessor.cc" ] + public = [ "internal/private_handle_accessor.h" ] + deps = [ + ":commandlineflag", + ":commandlineflag_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/strings", + ] + visibility = [ ":*" ] +} + +absl_source_set("reflection") { + sources = [ "reflection.cc" ] + public = [ + "internal/registry.h", + "reflection.h", + ] + deps = [ + ":commandlineflag", + ":commandlineflag_internal", + ":config", + ":private_handle_accessor", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/container:flat_hash_map", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/synchronization", + ] +} + +absl_source_set("flag_internal") { + sources = [ "internal/flag.cc" ] + public = [ + "internal/flag.h", + "internal/sequence_lock.h", + ] + deps = [ + ":commandlineflag", + ":commandlineflag_internal", + ":config", + ":marshalling", + ":reflection", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/synchronization", + "//third_party/abseil-cpp/absl/utility", + ] + visibility = [ + ":*", + "//third_party/abseil-cpp/absl/base/*", + ] +} + +absl_source_set("flag") { + sources = [ "flag.cc" ] + public = [ + "declare.h", + "flag.h", + ] + deps = [ + ":config", + ":flag_internal", + ":reflection", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/strings", + ] +} + +absl_source_set("usage_internal") { + sources = [ "internal/usage.cc" ] + public = [ "internal/usage.h" ] + deps = [ + ":commandlineflag", + ":config", + ":flag", + ":flag_internal", + ":path_util", + ":private_handle_accessor", + ":program_name", + ":reflection", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/container:flat_hash_map", + "//third_party/abseil-cpp/absl/strings", + ] + visibility = [ ":*" ] +} + +absl_source_set("usage") { + sources = [ "usage.cc" ] + public = [ "usage.h" ] + deps = [ + ":usage_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/synchronization", + ] +} + +absl_source_set("parse") { + sources = [ "parse.cc" ] + public = [ + "internal/parse.h", + "parse.h", + ] + deps = [ + ":commandlineflag", + ":commandlineflag_internal", + ":config", + ":flag", + ":flag_internal", + ":private_handle_accessor", + ":program_name", + ":reflection", + ":usage", + ":usage_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/synchronization", + ] +} diff --git a/third_party/abseil-cpp/absl/functional/BUILD.gn b/third_party/abseil-cpp/absl/functional/BUILD.gn new file mode 100644 index 0000000000..64daddeafd --- /dev/null +++ b/third_party/abseil-cpp/absl/functional/BUILD.gn @@ -0,0 +1,26 @@ +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("bind_front") { + sources = [ "internal/front_binder.h" ] + public = [ "bind_front.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/container:compressed_tuple", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("function_ref") { + sources = [ "internal/function_ref.h" ] + public = [ "function_ref.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} diff --git a/third_party/abseil-cpp/absl/hash/BUILD.gn b/third_party/abseil-cpp/absl/hash/BUILD.gn new file mode 100644 index 0000000000..bec226c5d9 --- /dev/null +++ b/third_party/abseil-cpp/absl/hash/BUILD.gn @@ -0,0 +1,84 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build_overrides/build.gni") +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("hash") { + sources = [ + "internal/hash.cc", + "internal/hash.h", + ] + public = [ "hash.h" ] + deps = [ + ":city", + ":low_level_hash", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/container:fixed_array", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:int128", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/types:optional", + "//third_party/abseil-cpp/absl/types:variant", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("hash_testing") { + testonly = true + public = [ "hash_testing.h" ] + deps = [ + ":spy_hash_state", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/types:variant", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("spy_hash_state") { + testonly = true + public = [ "internal/spy_hash_state.h" ] + deps = [ + ":hash", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/strings:str_format", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("city") { + public = [ "internal/city.h" ] + sources = [ "internal/city.cc" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + ] +} + +absl_source_set("low_level_hash") { + public = [ "internal/low_level_hash.h" ] + sources = [ "internal/low_level_hash.cc" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/numeric:bits", + "//third_party/abseil-cpp/absl/numeric:int128", + ] + visibility = [ ":*" ] +} + +absl_source_set("low_level_hash_test") { + testonly = true + sources = [ "internal/low_level_hash_test.cc" ] + deps = [ + ":low_level_hash", + "//third_party/abseil-cpp/absl/strings", + "//third_party/googletest:gtest", + "//third_party/googletest:gmock", + ] +} diff --git a/third_party/abseil-cpp/absl/memory/BUILD.gn b/third_party/abseil-cpp/absl/memory/BUILD.gn new file mode 100644 index 0000000000..db5fc235ca --- /dev/null +++ b/third_party/abseil-cpp/absl/memory/BUILD.gn @@ -0,0 +1,29 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("memory") { + public = [ "memory.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} + +absl_source_set("memory_test") { + testonly = true + + # TODO(https://crbug.com/1116473): memory_test.cc fails to build in + # standalone ANGLE on Windows + if (!build_with_chromium && !is_win) { + sources = [ "memory_test.cc" ] + deps = [ + ":memory", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] + } +} diff --git a/third_party/abseil-cpp/absl/meta/BUILD.gn b/third_party/abseil-cpp/absl/meta/BUILD.gn new file mode 100644 index 0000000000..0cec53a5b3 --- /dev/null +++ b/third_party/abseil-cpp/absl/meta/BUILD.gn @@ -0,0 +1,22 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("type_traits") { + public = [ "type_traits.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("type_traits_test") { + testonly = true + sources = [ "type_traits_test.cc" ] + if (is_clang) { + cflags_cc = [ "-Wno-unused-private-field" ] + } + deps = [ + ":type_traits", + "//third_party/googletest:gtest", + ] +} diff --git a/third_party/abseil-cpp/absl/numeric/BUILD.gn b/third_party/abseil-cpp/absl/numeric/BUILD.gn new file mode 100644 index 0000000000..63688697e2 --- /dev/null +++ b/third_party/abseil-cpp/absl/numeric/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("bits") { + public = [ + "bits.h", + "internal/bits.h", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + ] +} + +absl_source_set("int128") { + sources = [ + "int128.cc", + "int128_have_intrinsic.inc", + "int128_no_intrinsic.inc", + ] + public = [ "int128.h" ] + deps = [ + ":bits", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + ] +} + +absl_source_set("representation") { + public = [ "internal/representation.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} diff --git a/third_party/abseil-cpp/absl/random/BUILD.gn b/third_party/abseil-cpp/absl/random/BUILD.gn new file mode 100644 index 0000000000..e5aeea2065 --- /dev/null +++ b/third_party/abseil-cpp/absl/random/BUILD.gn @@ -0,0 +1,85 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("random") { + public = [ "random.h" ] + deps = [ + ":distributions", + ":seed_sequences", + "//third_party/abseil-cpp/absl/random/internal:nonsecure_base", + "//third_party/abseil-cpp/absl/random/internal:pcg_engine", + "//third_party/abseil-cpp/absl/random/internal:pool_urbg", + "//third_party/abseil-cpp/absl/random/internal:randen_engine", + ] +} + +absl_source_set("distributions") { + public = [ + "bernoulli_distribution.h", + "beta_distribution.h", + "discrete_distribution.h", + "distributions.h", + "exponential_distribution.h", + "gaussian_distribution.h", + "log_uniform_int_distribution.h", + "poisson_distribution.h", + "uniform_int_distribution.h", + "uniform_real_distribution.h", + "zipf_distribution.h", + ] + sources = [ + "discrete_distribution.cc", + "gaussian_distribution.cc", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:bits", + "//third_party/abseil-cpp/absl/random/internal:distribution_caller", + "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits", + "//third_party/abseil-cpp/absl/random/internal:fastmath", + "//third_party/abseil-cpp/absl/random/internal:generate_real", + "//third_party/abseil-cpp/absl/random/internal:iostream_state_saver", + "//third_party/abseil-cpp/absl/random/internal:traits", + "//third_party/abseil-cpp/absl/random/internal:uniform_helper", + "//third_party/abseil-cpp/absl/random/internal:wide_multiply", + "//third_party/abseil-cpp/absl/strings", + ] +} + +absl_source_set("seed_gen_exception") { + public = [ "seed_gen_exception.h" ] + sources = [ "seed_gen_exception.cc" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("seed_sequences") { + public = [ "seed_sequences.h" ] + sources = [ "seed_sequences.cc" ] + deps = [ + ":seed_gen_exception", + "//third_party/abseil-cpp/absl/container:inlined_vector", + "//third_party/abseil-cpp/absl/random/internal:nonsecure_base", + "//third_party/abseil-cpp/absl/random/internal:pool_urbg", + "//third_party/abseil-cpp/absl/random/internal:salted_seed_seq", + "//third_party/abseil-cpp/absl/random/internal:seed_material", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("bit_gen_ref") { + public = [ "bit_gen_ref.h" ] + deps = [ + ":random", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:fast_type_id", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/random/internal:distribution_caller", + "//third_party/abseil-cpp/absl/random/internal:fast_uniform_bits", + ] +} diff --git a/third_party/abseil-cpp/absl/random/internal/BUILD.gn b/third_party/abseil-cpp/absl/random/internal/BUILD.gn new file mode 100644 index 0000000000..9f8edc2875 --- /dev/null +++ b/third_party/abseil-cpp/absl/random/internal/BUILD.gn @@ -0,0 +1,269 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("traits") { + public = [ "traits.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("distribution_caller") { + public = [ "distribution_caller.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:fast_type_id", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("fast_uniform_bits") { + public = [ "fast_uniform_bits.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} + +absl_source_set("seed_material") { + public = [ "seed_material.h" ] + sources = [ "seed_material.cc" ] + if (is_win) { + # TODO(mbonadei): In the bazel file this is -DEFAULTLIB:bcrypt.lib. + libs = [ "bcrypt.lib" ] + } + deps = [ + ":fast_uniform_bits", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:dynamic_annotations", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/types:optional", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("pool_urbg") { + public = [ "pool_urbg.h" ] + sources = [ "pool_urbg.cc" ] + deps = [ + ":randen", + ":seed_material", + ":traits", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/random:seed_gen_exception", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("explicit_seed_seq") { + testonly = true + public = [ "explicit_seed_seq.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:endian", + ] +} + +absl_source_set("sequence_urbg") { + testonly = true + public = [ "sequence_urbg.h" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("salted_seed_seq") { + public = [ "salted_seed_seq.h" ] + deps = [ + ":seed_material", + "//third_party/abseil-cpp/absl/container:inlined_vector", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/types:optional", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("iostream_state_saver") { + public = [ "iostream_state_saver.h" ] + deps = [ + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:int128", + ] +} + +absl_source_set("generate_real") { + public = [ "generate_real.h" ] + deps = [ + ":fastmath", + ":traits", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:bits", + ] +} + +absl_source_set("fastmath") { + public = [ "fastmath.h" ] + deps = [ "//third_party/abseil-cpp/absl/numeric:bits" ] +} + +absl_source_set("wide_multiply") { + public = [ "wide_multiply.h" ] + deps = [ + ":traits", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/numeric:bits", + "//third_party/abseil-cpp/absl/numeric:int128", + ] +} + +absl_source_set("nonsecure_base") { + public = [ "nonsecure_base.h" ] + deps = [ + ":pool_urbg", + ":salted_seed_seq", + ":seed_material", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/types:optional", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("pcg_engine") { + public = [ "pcg_engine.h" ] + deps = [ + ":fastmath", + ":iostream_state_saver", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:bits", + "//third_party/abseil-cpp/absl/numeric:int128", + ] +} + +absl_source_set("randen_engine") { + public = [ "randen_engine.h" ] + deps = [ + ":iostream_state_saver", + ":randen", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} + +absl_source_set("platform") { + public = [ + "platform.h", + "randen_traits.h", + ] + sources = [ "randen_round_keys.cc" ] + deps = [ + "//build:chromeos_buildflags", + "//third_party/abseil-cpp/absl/base:config", + ] +} + +absl_source_set("randen") { + public = [ "randen.h" ] + sources = [ "randen.cc" ] + deps = [ + ":platform", + ":randen_hwaes", + ":randen_slow", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("randen_slow") { + public = [ "randen_slow.h" ] + sources = [ "randen_slow.cc" ] + deps = [ + ":platform", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/numeric:int128", + ] +} + +absl_source_set("randen_hwaes") { + public = [ + "randen_detect.h", + "randen_hwaes.h", + ] + sources = [ "randen_detect.cc" ] + deps = [ + ":platform", + ":randen_hwaes_impl", + "//third_party/abseil-cpp/absl/base:config", + ] +} + +absl_source_set("randen_hwaes_impl") { + sources = [ + "randen_hwaes.cc", + "randen_hwaes.h", + ] + deps = [ + ":platform", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/numeric:int128", + ] +} + +executable("gaussian_distribution_gentables") { + sources = [ "gaussian_distribution_gentables.cc" ] + deps = [ + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/random:distributions", + ] +} + +absl_source_set("distribution_test_util") { + testonly = true + public = [ + "chi_square.h", + "distribution_test_util.h", + ] + sources = [ + "chi_square.cc", + "distribution_test_util.cc", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/strings:str_format", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +# TODO(danilchap): Enable when can be compiled on all chromium bots. +# nanobenchmark uses platform specific functions to take accurate current time, +# and fallbacks to clock_gettime. Several chromium configurations lack both +# dedicated code and the clock_gettime system function. +# absl_source_set("nanobenchmark") { +# sources = [ "nanobenchmark.cc" ] +# deps = [ +# ":platform", +# ":randen_engine", +# "//third_party/abseil-cpp/absl/base:config", +# "//third_party/abseil-cpp/absl/base:core_headers", +# "//third_party/abseil-cpp/absl/base:raw_logging_internal", +# ] +# } + +absl_source_set("uniform_helper") { + public = [ "uniform_helper.h" ] + deps = [ + ":traits", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} diff --git a/third_party/abseil-cpp/absl/status/BUILD.gn b/third_party/abseil-cpp/absl/status/BUILD.gn new file mode 100644 index 0000000000..7aee518c2a --- /dev/null +++ b/third_party/abseil-cpp/absl/status/BUILD.gn @@ -0,0 +1,69 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("status") { + public = [ + "status.h", + "status_payload_printer.h", + ] + sources = [ + "internal/status_internal.h", + "status.cc", + "status_payload_printer.cc", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:atomic_hook", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/container:inlined_vector", + "//third_party/abseil-cpp/absl/debugging:stacktrace", + "//third_party/abseil-cpp/absl/debugging:symbolize", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/strings:cord", + "//third_party/abseil-cpp/absl/strings:str_format", + "//third_party/abseil-cpp/absl/types:optional", + ] +} + +absl_source_set("statusor") { + public = [ + "statusor.h", + ] + sources = [ + "internal/statusor_internal.h", + "statusor.cc", + ] + deps = [ + ":status", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/types:variant", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("statusor_test") { + testonly = true + sources = [ + "statusor_test.cc", + ] + deps = [ + ":status", + ":statusor", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/types:any", + "//third_party/abseil-cpp/absl/utility", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + diff --git a/third_party/abseil-cpp/absl/strings/BUILD.gn b/third_party/abseil-cpp/absl/strings/BUILD.gn new file mode 100644 index 0000000000..ad9f925449 --- /dev/null +++ b/third_party/abseil-cpp/absl/strings/BUILD.gn @@ -0,0 +1,548 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build_overrides/build.gni") +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("strings") { + sources = [ + "ascii.cc", + "charconv.cc", + "escaping.cc", + "internal/charconv_bigint.cc", + "internal/charconv_bigint.h", + "internal/charconv_parse.cc", + "internal/charconv_parse.h", + "internal/memutil.cc", + "internal/memutil.h", + "internal/stl_type_traits.h", + "internal/str_join_internal.h", + "internal/str_split_internal.h", + "match.cc", + "numbers.cc", + "str_cat.cc", + "str_replace.cc", + "str_split.cc", + "string_view.cc", + "substitute.cc", + ] + public = [ + "ascii.h", + "charconv.h", + "escaping.h", + "internal/string_constant.h", + "match.h", + "numbers.h", + "str_cat.h", + "str_join.h", + "str_replace.h", + "str_split.h", + "string_view.h", + "strip.h", + "substitute.h", + ] + deps = [ + ":internal", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/base:throw_delegate", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:bits", + "//third_party/abseil-cpp/absl/numeric:int128", + ] +} + +absl_source_set("internal") { + sources = [ + "internal/escaping.cc", + "internal/ostringstream.cc", + "internal/utf8.cc", + ] + public = [ + "internal/char_map.h", + "internal/escaping.h", + "internal/ostringstream.h", + "internal/resize_uninitialized.h", + "internal/utf8.h", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} + +absl_source_set("str_format") { + public = [ "str_format.h" ] + deps = [ ":str_format_internal" ] +} + +absl_source_set("str_format_internal") { + sources = [ + "internal/str_format/arg.cc", + "internal/str_format/bind.cc", + "internal/str_format/extension.cc", + "internal/str_format/float_conversion.cc", + "internal/str_format/output.cc", + "internal/str_format/parser.cc", + ] + public = [ + "internal/str_format/arg.h", + "internal/str_format/bind.h", + "internal/str_format/checker.h", + "internal/str_format/extension.h", + "internal/str_format/float_conversion.h", + "internal/str_format/output.h", + "internal/str_format/parser.h", + ] + visibility = [ ":*" ] + deps = [ + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/functional:function_ref", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/numeric:bits", + "//third_party/abseil-cpp/absl/numeric:int128", + "//third_party/abseil-cpp/absl/numeric:representation", + "//third_party/abseil-cpp/absl/types:optional", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("cord_internal") { + sources = [ + "internal/cord_internal.cc", + "internal/cord_rep_btree.cc", + "internal/cord_rep_btree_navigator.cc", + "internal/cord_rep_btree_reader.cc", + "internal/cord_rep_consume.cc", + "internal/cord_rep_ring.cc", + ] + public = [ + "internal/cord_internal.h", + "internal/cord_rep_btree.h", + "internal/cord_rep_btree_navigator.h", + "internal/cord_rep_btree_reader.h", + "internal/cord_rep_consume.h", + "internal/cord_rep_flat.h", + "internal/cord_rep_ring.h", + "internal/cord_rep_ring_reader.h", + ] + visibility = [ ":*" ] + deps = [ + ":strings", + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/base:throw_delegate", + "//third_party/abseil-cpp/absl/container:compressed_tuple", + "//third_party/abseil-cpp/absl/container:inlined_vector", + "//third_party/abseil-cpp/absl/container:layout", + "//third_party/abseil-cpp/absl/functional:function_ref", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("cord_rep_btree_test") { + testonly = true + sources = ["internal/cord_rep_btree_test.cc"] + deps = [ + ":cord_internal", + ":cord_rep_test_util", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/cleanup", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("cord_rep_btree_reader_test") { + testonly = true + sources = ["internal/cord_rep_btree_reader_test.cc"] + deps = [ + ":cord", + ":cord_internal", + ":cord_rep_test_util", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("cordz_update_tracker") { + public = ["internal/cordz_update_tracker.h"] + visibility = [ "//third_party/abseil-cpp/*" ] + deps = ["//third_party/abseil-cpp/absl/base:config"] +} + +absl_source_set("cordz_update_tracker_test") { + testonly = true + sources = ["internal/cordz_update_tracker_test.cc"] + deps = [ + ":cordz_update_tracker", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/synchronization", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("cord") { + sources = [ "cord.cc" ] + public = [ "cord.h" ] + deps = [ + ":cord_internal", + ":cordz_functions", + ":cordz_info", + ":cordz_statistics", + ":cordz_update_scope", + ":cordz_update_tracker", + ":internal", + ":str_format", + ":strings", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:endian", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/container:fixed_array", + "//third_party/abseil-cpp/absl/container:inlined_vector", + "//third_party/abseil-cpp/absl/functional:function_ref", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/types:optional", + ] +} + +absl_source_set("cordz_handle") { + sources = ["internal/cordz_handle.cc"] + public = ["internal/cordz_handle.h"] + visibility = [ "//third_party/abseil-cpp/*" ] + deps = [ + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/synchronization", + ] +} + +absl_source_set("cordz_info") { + sources = ["internal/cordz_info.cc"] + public = ["internal/cordz_info.h"] + visibility = [ "//third_party/abseil-cpp/*" ] + deps = [ + ":cord_internal", + ":cordz_functions", + ":cordz_handle", + ":cordz_statistics", + ":cordz_update_tracker", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/container:inlined_vector", + "//third_party/abseil-cpp/absl/debugging:stacktrace", + "//third_party/abseil-cpp/absl/synchronization", + "//third_party/abseil-cpp/absl/types:span", + ] +} + +absl_source_set("cordz_update_scope") { + public = ["internal/cordz_update_scope.h"] + visibility = [ "//third_party/abseil-cpp/*" ] + deps = [ + ":cord_internal", + ":cordz_info", + ":cordz_update_tracker", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + ] +} + +absl_source_set("cordz_update_scope_test") { + testonly = true + sources = ["internal/cordz_update_scope_test.cc"] + deps = [ + ":cord_internal", + ":cordz_info", + ":cordz_test_helpers", + ":cordz_update_scope", + ":cordz_update_tracker", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("cordz_sample_token") { + sources = ["internal/cordz_sample_token.cc"] + public = ["internal/cordz_sample_token.h"] + visibility = [ "//third_party/abseil-cpp/*" ] + deps = [ + ":cordz_handle", + ":cordz_info", + "//third_party/abseil-cpp/absl/base:config", + ] +} + +absl_source_set("cordz_functions") { + sources = ["internal/cordz_functions.cc"] + public = ["internal/cordz_functions.h"] + visibility = [ "//third_party/abseil-cpp/*" ] + deps = [ + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:exponential_biased", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("cordz_statistics") { + public = ["internal/cordz_statistics.h"] + visibility = [ "//third_party/abseil-cpp/*" ] + deps = [ + ":cordz_update_tracker", + "//third_party/abseil-cpp/absl/base:config", + ] +} + +absl_source_set("cordz_functions_test") { + testonly = true + sources = [ "internal/cordz_functions_test.cc" ] + deps = [ + ":cordz_functions", + ":cordz_test_helpers", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +# TODO(b/186638384): Re-enable when random is compilable on win32-archive-rel bot +# absl_source_set("cordz_handle_test") { +# testonly = true +# sources = [ "internal/cordz_handle_test.cc" ] +# deps = [ +# ":cordz_handle", +# "//third_party/abseil-cpp/absl/base:config", +# "//third_party/abseil-cpp/absl/memory", +# "//third_party/abseil-cpp/absl/random", +# "//third_party/abseil-cpp/absl/random:distributions", +# "//third_party/abseil-cpp/absl/synchronization", +# "//third_party/abseil-cpp/absl/synchronization:thread_pool", +# "//third_party/abseil-cpp/absl/time", +# "//third_party/googletest:gmock", +# "//third_party/googletest:gtest", +# ] +# } + +absl_source_set("cordz_info_test") { + testonly = true + sources = [ "internal/cordz_info_test.cc" ] + deps = [ + ":cord_internal", + ":cordz_handle", + ":cordz_info", + ":cordz_statistics", + ":cordz_test_helpers", + ":cordz_update_tracker", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/debugging:stacktrace", + "//third_party/abseil-cpp/absl/debugging:symbolize", + "//third_party/abseil-cpp/absl/types:span", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("cordz_info_statistics_test") { + testonly = true + sources = [ "internal/cordz_info_statistics_test.cc" ] + deps = [ + ":cord", + ":cord_internal", + ":cordz_info", + ":cordz_sample_token", + ":cordz_statistics", + ":cordz_update_scope", + ":cordz_update_tracker", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/synchronization", + "//third_party/abseil-cpp/absl/synchronization:thread_pool", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +# TODO(b/186638384): Re-enable when random is compilable on win32-archive-rel bot +# absl_source_set("cordz_sample_token_test") { +# testonly = true +# sources = [ "internal/cordz_sample_token_test.cc" ] +# deps = [ +# ":cord_internal", +# ":cordz_handle", +# ":cordz_info", +# ":cordz_sample_token", +# ":cordz_test_helpers", +# "//third_party/abseil-cpp/absl/base:config", +# "//third_party/abseil-cpp/absl/memory", +# "//third_party/abseil-cpp/absl/random", +# "//third_party/abseil-cpp/absl/synchronization", +# "//third_party/abseil-cpp/absl/synchronization:thread_pool", +# "//third_party/abseil-cpp/absl/time", +# "//third_party/googletest:gmock", +# "//third_party/googletest:gtest", +# ] +# } + +absl_source_set("cord_test_helpers") { + testonly = true + public = [ "cord_test_helpers.h" ] + deps = [ + ":cord", + ":cord_internal", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + ] +} + +absl_source_set("cord_rep_test_util") { + testonly = true + public = ["internal/cord_rep_test_util.h"] + deps = [ + ":cord_internal", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("cordz_test_helpers") { + testonly = true + public = ["cordz_test_helpers.h"] + deps = [ + ":cord", + ":cord_internal", + ":cordz_info", + ":cordz_sample_token", + ":cordz_statistics", + ":cordz_update_tracker", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("cordz_test") { + testonly = true + sources = ["cordz_test.cc"] + deps = [ + ":cord", + ":cord_test_helpers", + ":cordz_functions", + ":cordz_info", + ":cordz_sample_token", + ":cordz_statistics", + ":cordz_test_helpers", + ":cordz_update_tracker", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("cord_rep_consume_test") { + testonly = true + sources = ["internal/cord_rep_consume_test.cc"] + deps = [ + ":cord_internal", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/debugging:leak_check", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("pow10_helper") { + testonly = true + sources = [ "internal/pow10_helper.cc" ] + public = [ "internal/pow10_helper.h" ] + visibility = [ ":*" ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("ascii_test") { + testonly = true + sources = [ "ascii_test.cc" ] + deps = [ + ":strings", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("match_test") { + testonly = true + sources = [ "match_test.cc" ] + deps = [ + ":strings", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("str_replace_test") { + testonly = true + sources = [ "str_replace_test.cc" ] + deps = [ + ":strings", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("string_view_test") { + testonly = true + sources = [ "string_view_test.cc" ] + deps = [ + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:dynamic_annotations", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("cord_rep_btree_navigator_test") { + testonly = true + sources = [ "internal/cord_rep_btree_navigator_test.cc" ] + deps = [ + ":cord_internal", + ":cord_rep_test_util", + ":strings", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest", + ] +} diff --git a/third_party/abseil-cpp/absl/synchronization/BUILD.gn b/third_party/abseil-cpp/absl/synchronization/BUILD.gn new file mode 100644 index 0000000000..78f64cdf8d --- /dev/null +++ b/third_party/abseil-cpp/absl/synchronization/BUILD.gn @@ -0,0 +1,89 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("graphcycles_internal") { + sources = [ "internal/graphcycles.cc" ] + public = [ "internal/graphcycles.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:malloc_internal", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("kernel_timeout_internal") { + public = [ "internal/kernel_timeout.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/time", + ] + visibility = [ ":*" ] +} + +absl_source_set("synchronization") { + sources = [ + "barrier.cc", + "blocking_counter.cc", + "internal/create_thread_identity.cc", + "internal/per_thread_sem.cc", + "internal/waiter.cc", + "mutex.cc", + "notification.cc", + ] + public = [ + "barrier.h", + "blocking_counter.h", + "internal/create_thread_identity.h", + "internal/futex.h", + "internal/per_thread_sem.h", + "internal/waiter.h", + "mutex.h", + "notification.h", + ] + deps = [ + ":graphcycles_internal", + ":kernel_timeout_internal", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:atomic_hook", + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:dynamic_annotations", + "//third_party/abseil-cpp/absl/base:malloc_internal", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/debugging:stacktrace", + "//third_party/abseil-cpp/absl/debugging:symbolize", + "//third_party/abseil-cpp/absl/time", + ] +} + +absl_source_set("thread_pool") { + testonly = true + public = [ "internal/thread_pool.h" ] + deps = [ + ":synchronization", + "//third_party/abseil-cpp/absl/base:core_headers", + ] + visibility = [ "//third_party/abseil-cpp/absl/*" ] +} + +absl_source_set("per_thread_sem_test_common") { + testonly = true + sources = [ "internal/per_thread_sem_test.cc" ] + deps = [ + ":synchronization", + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/time", + "//third_party/googletest:gtest", + ] +} diff --git a/third_party/abseil-cpp/absl/time/BUILD.gn b/third_party/abseil-cpp/absl/time/BUILD.gn new file mode 100644 index 0000000000..729ccb4857 --- /dev/null +++ b/third_party/abseil-cpp/absl/time/BUILD.gn @@ -0,0 +1,49 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("time") { + sources = [ + "civil_time.cc", + "clock.cc", + "duration.cc", + "format.cc", + "internal/get_current_time_chrono.inc", + "internal/get_current_time_posix.inc", + "time.cc", + ] + public = [ + "civil_time.h", + "clock.h", + "time.h", + ] + deps = [ + "//third_party/abseil-cpp/absl/base", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/numeric:int128", + "//third_party/abseil-cpp/absl/strings", + "//third_party/abseil-cpp/absl/time/internal/cctz:civil_time", + "//third_party/abseil-cpp/absl/time/internal/cctz:time_zone", + ] +} + +absl_source_set("test_util") { + testonly = true + sources = [ + "internal/test_util.cc", + "internal/zoneinfo.inc", + ] + public = [ "internal/test_util.h" ] + deps = [ + ":time", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/time/internal/cctz:time_zone", + "//third_party/googletest:gtest", + "//third_party/googletest:gmock", + ] + visibility = [ "//third_party/abseil-cpp/absl/time:*" ] +} diff --git a/third_party/abseil-cpp/absl/time/internal/cctz/BUILD.gn b/third_party/abseil-cpp/absl/time/internal/cctz/BUILD.gn new file mode 100644 index 0000000000..b32f56569f --- /dev/null +++ b/third_party/abseil-cpp/absl/time/internal/cctz/BUILD.gn @@ -0,0 +1,46 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("civil_time") { + sources = [ "src/civil_time_detail.cc" ] + public = [ + "include/cctz/civil_time.h", + "include/cctz/civil_time_detail.h", + ] + deps = [ "//third_party/abseil-cpp/absl/base:config" ] +} + +absl_source_set("time_zone") { + sources = [ + "src/time_zone_fixed.cc", + "src/time_zone_fixed.h", + "src/time_zone_format.cc", + "src/time_zone_if.cc", + "src/time_zone_if.h", + "src/time_zone_impl.cc", + "src/time_zone_impl.h", + "src/time_zone_info.cc", + "src/time_zone_info.h", + "src/time_zone_libc.cc", + "src/time_zone_libc.h", + "src/time_zone_lookup.cc", + "src/time_zone_posix.cc", + "src/time_zone_posix.h", + "src/tzfile.h", + "src/zone_info_source.cc", + ] + public = [ + "include/cctz/time_zone.h", + "include/cctz/zone_info_source.h", + ] + if (is_apple) { + frameworks = [ "Foundation.framework" ] + } + deps = [ + ":civil_time", + "//third_party/abseil-cpp/absl/base:config", + ] +} diff --git a/third_party/abseil-cpp/absl/types/BUILD.gn b/third_party/abseil-cpp/absl/types/BUILD.gn new file mode 100644 index 0000000000..61ce7f4c14 --- /dev/null +++ b/third_party/abseil-cpp/absl/types/BUILD.gn @@ -0,0 +1,139 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build_overrides/build.gni") +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("any") { + public = [ "any.h" ] + public_deps = [ + ":bad_any_cast", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:fast_type_id", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("bad_any_cast") { + public = [ "bad_any_cast.h" ] + deps = [ + ":bad_any_cast_impl", + ] + public_deps = [ + "//third_party/abseil-cpp/absl/base:config", + ] +} + +absl_source_set("bad_any_cast_impl") { + sources = [ "bad_any_cast.cc" ] + public = [ "bad_any_cast.h" ] + public_deps = [ + "//third_party/abseil-cpp/absl/base:config", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] + visibility = [ ":*" ] +} + +absl_source_set("span") { + public = [ "span.h" ] + sources = [ "internal/span.h" ] + public_deps = [ + "//third_party/abseil-cpp/absl/algorithm", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/base:throw_delegate", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} + +absl_source_set("optional") { + sources = [ "internal/optional.h" ] + public = [ "optional.h" ] + public_deps = [ + ":bad_optional_access", + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("bad_optional_access") { + sources = [ "bad_optional_access.cc" ] + public = [ "bad_optional_access.h" ] + public_deps = [ + "//third_party/abseil-cpp/absl/base:config", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("bad_variant_access") { + sources = [ "bad_variant_access.cc" ] + public = [ "bad_variant_access.h" ] + public_deps = [ + "//third_party/abseil-cpp/absl/base:config", + ] + deps = [ + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + ] +} + +absl_source_set("variant") { + sources = [ "internal/variant.h" ] + public = [ "variant.h" ] + public_deps = [ + ":bad_variant_access", + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/utility", + ] +} + +absl_source_set("compare") { + public = [ "compare.h" ] + public_deps = [ + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} + +absl_source_set("optional_test") { + testonly = true + sources = [ "optional_test.cc" ] + deps = [ + ":optional", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:raw_logging_internal", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/strings", + "//third_party/googletest:gtest", + ] +} + +absl_source_set("variant_test") { + testonly = true + sources = [ "variant_test.cc" ] + if (is_clang) { + cflags_cc = [ "-Wno-unused-function" ] + } + deps = [ + ":variant", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/base:core_headers", + "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/meta:type_traits", + "//third_party/abseil-cpp/absl/strings", + "//third_party/googletest:gtest", + "//third_party/googletest:gmock", + ] +} diff --git a/third_party/abseil-cpp/absl/utility/BUILD.gn b/third_party/abseil-cpp/absl/utility/BUILD.gn new file mode 100644 index 0000000000..905f653ac5 --- /dev/null +++ b/third_party/abseil-cpp/absl/utility/BUILD.gn @@ -0,0 +1,14 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//third_party/abseil-cpp/absl.gni") + +absl_source_set("utility") { + public = [ "utility.h" ] + deps = [ + "//third_party/abseil-cpp/absl/base:base_internal", + "//third_party/abseil-cpp/absl/base:config", + "//third_party/abseil-cpp/absl/meta:type_traits", + ] +} diff --git a/third_party/jinja2/jinja2.gni b/third_party/jinja2/jinja2.gni new file mode 100644 index 0000000000..9374a43fec --- /dev/null +++ b/third_party/jinja2/jinja2.gni @@ -0,0 +1,29 @@ +jinja2_sources = [ + "//third_party/jinja2/__init__.py", + "//third_party/jinja2/_compat.py", + "//third_party/jinja2/_identifier.py", + "//third_party/jinja2/asyncfilters.py", + "//third_party/jinja2/asyncsupport.py", + "//third_party/jinja2/bccache.py", + "//third_party/jinja2/compiler.py", + "//third_party/jinja2/constants.py", + "//third_party/jinja2/debug.py", + "//third_party/jinja2/defaults.py", + "//third_party/jinja2/environment.py", + "//third_party/jinja2/exceptions.py", + "//third_party/jinja2/ext.py", + "//third_party/jinja2/filters.py", + "//third_party/jinja2/idtracking.py", + "//third_party/jinja2/lexer.py", + "//third_party/jinja2/loaders.py", + "//third_party/jinja2/meta.py", + "//third_party/jinja2/nativetypes.py", + "//third_party/jinja2/nodes.py", + "//third_party/jinja2/optimizer.py", + "//third_party/jinja2/parser.py", + "//third_party/jinja2/runtime.py", + "//third_party/jinja2/sandbox.py", + "//third_party/jinja2/tests.py", + "//third_party/jinja2/utils.py", + "//third_party/jinja2/visitor.py", +] diff --git a/third_party/tint/.clang-format b/third_party/tint/.clang-format deleted file mode 100644 index 2fb833a5df..0000000000 --- a/third_party/tint/.clang-format +++ /dev/null @@ -1,2 +0,0 @@ -# http://clang.llvm.org/docs/ClangFormatStyleOptions.html -BasedOnStyle: Chromium diff --git a/third_party/tint/.gitignore b/third_party/tint/.gitignore deleted file mode 100644 index 0503afb25a..0000000000 --- a/third_party/tint/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -.cipd -.DS_Store -.gclient -.gclient_entries -.vs -.vscode/* -!.vscode/tasks.json -.idea -coverage.summary -default.profraw -lcov.info - -/buildtools -/cmake-build-*/ -/out -/testing -/third_party/clang-format -/third_party/catapult -/third_party/cpplint -/third_party/benchmark -/third_party/binutils -/third_party/glslang -/third_party/googletest -/third_party/gpuweb-cts -/third_party/llvm-build -/third_party/protobuf -/third_party/spirv-headers -/third_party/spirv-tools -/tools/clang -/tools/bin - -/build*/ -/test.wgsl diff --git a/third_party/tint/.vscode/tasks.json b/third_party/tint/.vscode/tasks.json deleted file mode 100644 index f584277425..0000000000 --- a/third_party/tint/.vscode/tasks.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - // Available variables which can be used inside of strings. - // ${workspaceRoot}: the root folder of the team - // ${file}: the current opened file - // ${fileBasename}: the current opened file's basename - // ${fileDirname}: the current opened file's dirname - // ${fileExtname}: the current opened file's extension - // ${cwd}: the current working directory of the spawned process - "version": "2.0.0", - "tasks": [ - { - "label": "make", - "group": { - "kind": "build", - "isDefault": true - }, - "type": "shell", - "osx": { - "command": "sh", - "args": [ - "-c", - "cmake --build . && echo Done" - ], - "options": { - "cwd": "${workspaceRoot}/build", - }, - }, - "linux": { - "command": "sh", - "args": [ - "-c", - "cmake --build . && echo Done" - ], - "options": { - "cwd": "${workspaceRoot}/build", - }, - }, - "windows": { - // Invokes ninja in the 'out/active' directory, which is created - // with the 'generate' task (see below). - "command": "/C", - "args": [ - "ninja && echo Done" - ], - "options": { - "cwd": "${workspaceRoot}/out/active", - "shell": { - "executable": "cmd" - } - }, - }, - "presentation": { - "echo": false, - "reveal": "always", - "focus": false, - "panel": "shared", - "showReuseMessage": false, - "clear": true, - }, - "problemMatcher": { - "owner": "cpp", - "fileLocation": "absolute", - "pattern": { - "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", - "file": 1, - "line": 2, - "column": 3, - "severity": 4, - "message": 5 - } - } - }, - { - "label": "configure", - "type": "shell", - "osx": { - "command": "cmake", - "args": [ - "..", - "-GNinja", - "-DCMAKE_BUILD_TYPE=${input:buildType}", - ], - "options": { - "cwd": "${workspaceRoot}/build" - }, - }, - "linux": { - "command": "cmake", - "args": [ - "..", - "-GNinja", - "-DCMAKE_BUILD_TYPE=${input:buildType}", - ], - "options": { - "cwd": "${workspaceRoot}/build" - }, - }, - "windows": { - // Generates a GN build directory at 'out/' with the - // is_debug argument set to true iff the build-type is Debug. - // A symbolic link to this build directory is created at 'out/active' - // which is used to track the active build directory. - "command": "/C", - "args": [ - "(IF \"${input:buildType}\" == \"Debug\" ( gn gen \"out\\${input:buildType}\" --args=is_debug=true ) ELSE ( gn gen \"out\\${input:buildType}\" --args=is_debug=false )) && (IF EXIST \"out\\active\" rmdir \"out\\active\" /q /s) && (mklink /j \"out\\active\" \"out\\${input:buildType}\")", - ], - "options": { - "shell": { - "executable": "cmd" - } - }, - }, - "problemMatcher": [], - }, - { - "label": "Push branch for review", - "type": "shell", - "command": "git", - "args": [ - "push", - "origin", - "HEAD:refs/for/main" - ], - "options": { - "cwd": "${workspaceRoot}" - }, - "problemMatcher": [], - } - ], - "inputs": [ - { - "id": "buildType", - "type": "pickString", - "options": [ - "Debug", - "Release", - "MinSizeRel", - "RelWithDebInfo", - ], - "default": "Debug", - "description": "The type of build", - }, - ] -} \ No newline at end of file diff --git a/third_party/tint/AUTHORS b/third_party/tint/AUTHORS deleted file mode 100644 index a66d09ee44..0000000000 --- a/third_party/tint/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -# This is the list of the Tint authors for copyright purposes. -# -# This does not necessarily list everyone who has contributed code, since in -# some cases, their employer may be the copyright holder. To see the full list -# of contributors, see the revision history in source control. - -Google LLC -Vasyl Teliman diff --git a/third_party/tint/CMakeLists.txt b/third_party/tint/CMakeLists.txt deleted file mode 100644 index c26ae7e709..0000000000 --- a/third_party/tint/CMakeLists.txt +++ /dev/null @@ -1,428 +0,0 @@ -# Copyright 2020 The Tint Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -cmake_minimum_required(VERSION 3.10.2) - -project(tint) -enable_testing() -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) -set(CMAKE_POSITION_INDEPENDENT_CODE ON) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_DEBUG_POSTFIX "") - -if ("${CMAKE_BUILD_TYPE}" STREQUAL "") - message(STATUS "No build type selected, default to Debug") - set(CMAKE_BUILD_TYPE "Debug") -endif() - -# TINT_IS_SUBPROJECT is 1 if added via add_subdirectory() from another project. -get_directory_property(TINT_IS_SUBPROJECT PARENT_DIRECTORY) -if(TINT_IS_SUBPROJECT) - set(TINT_IS_SUBPROJECT 1) - - # If tint is used as a subproject, default to disabling the building of - # documentation and tests. These are unlikely to be desirable, but can be - # enabled. - set(TINT_BUILD_DOCS_DEFAULT OFF) - set(TINT_BUILD_TESTS_DEFAULT OFF) -else() - set(TINT_BUILD_DOCS_DEFAULT ON) - set(TINT_BUILD_TESTS_DEFAULT ON) -endif() - -# option_if_not_defined(name description default) -# Behaves like: -# option(name description default) -# If a variable is not already defined with the given name, otherwise the -# function does nothing. -# Simplifies customization by projects that use Dawn as a dependency. -function (option_if_not_defined name description default) - if(NOT DEFINED ${name}) - option(${name} ${description} ${default}) - endif() -endfunction() - -# set_if_not_defined(name value description) -# Behaves like: -# set(${name} ${value} CACHE STRING ${description}) -# If a variable is not already defined with the given name, otherwise the -# function does nothing. -# Simplifies customization by projects that use Dawn as a dependency. -function (set_if_not_defined name value description) - if(NOT DEFINED ${name}) - set(${name} ${value} CACHE STRING ${description}) - endif() -endfunction() - -set_if_not_defined(TINT_THIRD_PARTY_DIR "${tint_SOURCE_DIR}/third_party" "Directory in which to find third-party dependencies.") - -option_if_not_defined(TINT_BUILD_SAMPLES "Build samples" ON) -option_if_not_defined(TINT_BUILD_DOCS "Build documentation" ${TINT_BUILD_DOCS_DEFAULT}) -option_if_not_defined(TINT_DOCS_WARN_AS_ERROR "When building documentation, treat warnings as errors" OFF) -option_if_not_defined(TINT_BUILD_SPV_READER "Build the SPIR-V input reader" ON) -option_if_not_defined(TINT_BUILD_WGSL_READER "Build the WGSL input reader" ON) -option_if_not_defined(TINT_BUILD_GLSL_WRITER "Build the GLSL output writer" ON) -option_if_not_defined(TINT_BUILD_HLSL_WRITER "Build the HLSL output writer" ON) -option_if_not_defined(TINT_BUILD_MSL_WRITER "Build the MSL output writer" ON) -option_if_not_defined(TINT_BUILD_SPV_WRITER "Build the SPIR-V output writer" ON) -option_if_not_defined(TINT_BUILD_WGSL_WRITER "Build the WGSL output writer" ON) -option_if_not_defined(TINT_BUILD_FUZZERS "Build fuzzers" OFF) -option_if_not_defined(TINT_BUILD_SPIRV_TOOLS_FUZZER "Build SPIRV-Tools fuzzer" OFF) -option_if_not_defined(TINT_BUILD_AST_FUZZER "Build AST fuzzer" OFF) -option_if_not_defined(TINT_BUILD_REGEX_FUZZER "Build regex fuzzer" OFF) -option_if_not_defined(TINT_BUILD_BENCHMARKS "Build benchmarks" OFF) -option_if_not_defined(TINT_BUILD_TESTS "Build tests" ${TINT_BUILD_TESTS_DEFAULT}) -option_if_not_defined(TINT_BUILD_AS_OTHER_OS "Override OS detection to force building of *_other.cc files" OFF) -option_if_not_defined(TINT_BUILD_REMOTE_COMPILE "Build the remote-compile tool for validating shaders on a remote machine" OFF) - -set(TINT_LIB_FUZZING_ENGINE_LINK_OPTIONS "" CACHE STRING "Used by OSS-Fuzz to control, via link options, which fuzzing engine should be used") - -option_if_not_defined(TINT_ENABLE_MSAN "Enable memory sanitizer" OFF) -option_if_not_defined(TINT_ENABLE_ASAN "Enable address sanitizer" OFF) -option_if_not_defined(TINT_ENABLE_UBSAN "Enable undefined behaviour sanitizer" OFF) - -option_if_not_defined(TINT_EMIT_COVERAGE "Emit code coverage information" OFF) - -option_if_not_defined(TINT_CHECK_CHROMIUM_STYLE "Check for [chromium-style] issues during build" OFF) - -option_if_not_defined(TINT_SYMBOL_STORE_DEBUG_NAME "Enable storing of name in tint::ast::Symbol to help debugging the AST" OFF) - -message(STATUS "Tint build samples: ${TINT_BUILD_SAMPLES}") -message(STATUS "Tint build docs: ${TINT_BUILD_DOCS}") -message(STATUS "Tint build docs with warn as error: ${TINT_DOCS_WARN_AS_ERROR}") -message(STATUS "Tint build SPIR-V reader: ${TINT_BUILD_SPV_READER}") -message(STATUS "Tint build WGSL reader: ${TINT_BUILD_WGSL_READER}") -message(STATUS "Tint build GLSL writer: ${TINT_BUILD_GLSL_WRITER}") -message(STATUS "Tint build HLSL writer: ${TINT_BUILD_HLSL_WRITER}") -message(STATUS "Tint build MSL writer: ${TINT_BUILD_MSL_WRITER}") -message(STATUS "Tint build SPIR-V writer: ${TINT_BUILD_SPV_WRITER}") -message(STATUS "Tint build WGSL writer: ${TINT_BUILD_WGSL_WRITER}") -message(STATUS "Tint build fuzzers: ${TINT_BUILD_FUZZERS}") -message(STATUS "Tint build SPIRV-Tools fuzzer: ${TINT_BUILD_SPIRV_TOOLS_FUZZER}") -message(STATUS "Tint build AST fuzzer: ${TINT_BUILD_AST_FUZZER}") -message(STATUS "Tint build regex fuzzer: ${TINT_BUILD_REGEX_FUZZER}") -message(STATUS "Tint build benchmarks: ${TINT_BUILD_BENCHMARKS}") -message(STATUS "Tint build tests: ${TINT_BUILD_TESTS}") -message(STATUS "Tint build with ASAN: ${TINT_ENABLE_ASAN}") -message(STATUS "Tint build with MSAN: ${TINT_ENABLE_MSAN}") -message(STATUS "Tint build with UBSAN: ${TINT_ENABLE_UBSAN}") -message(STATUS "Tint build checking [chromium-style]: ${TINT_CHECK_CHROMIUM_STYLE}") -message(STATUS "Tint build remote-compile tool: ${TINT_BUILD_REMOTE_COMPILE}") - -if (NOT ${TINT_LIB_FUZZING_ENGINE_LINK_OPTIONS} STREQUAL "") - message(STATUS "Using provided LIB_FUZZING_ENGINE options: ${TINT_LIB_FUZZING_ENGINE_LINK_OPTIONS}") -endif() - -message(STATUS "Using python3") -find_package(PythonInterp 3 REQUIRED) - -if (${TINT_BUILD_SPIRV_TOOLS_FUZZER}) - message(STATUS "TINT_BUILD_SPIRV_TOOLS_FUZZER is ON - setting - TINT_BUILD_FUZZERS - TINT_BUILD_SPV_READER - TINT_BUILD_SPV_WRITER - TINT_BUILD_WGSL_READER - TINT_BUILD_WGSL_WRITER - TINT_BUILD_GLSL_WRITER - TINT_BUILD_HLSL_WRITER - TINT_BUILD_MSL_WRITER to ON") - set(TINT_BUILD_FUZZERS ON CACHE BOOL "Build tint fuzzers" FORCE) - set(TINT_BUILD_SPV_READER ON CACHE BOOL "Build SPIR-V reader" FORCE) - set(TINT_BUILD_SPV_WRITER ON CACHE BOOL "Build SPIR-V writer" FORCE) - set(TINT_BUILD_WGSL_READER ON CACHE BOOL "Build WGSL reader" FORCE) - set(TINT_BUILD_WGSL_WRITER ON CACHE BOOL "Build WGSL writer" FORCE) - set(TINT_BUILD_GLSL_WRITER ON CACHE BOOL "Build HLSL writer" FORCE) - set(TINT_BUILD_HLSL_WRITER ON CACHE BOOL "Build HLSL writer" FORCE) - set(TINT_BUILD_MSL_WRITER ON CACHE BOOL "Build MSL writer" FORCE) -endif() - -if (${TINT_BUILD_AST_FUZZER}) - message(STATUS "TINT_BUILD_AST_FUZZER is ON - setting - TINT_BUILD_FUZZERS - TINT_BUILD_WGSL_READER - TINT_BUILD_WGSL_WRITER - TINT_BUILD_SPV_WRITER - TINT_BUILD_MSL_WRITER - TINT_BUILD_GLSL_WRITER - TINT_BUILD_HLSL_WRITER to ON") - set(TINT_BUILD_FUZZERS ON CACHE BOOL "Build tint fuzzers" FORCE) - set(TINT_BUILD_WGSL_READER ON CACHE BOOL "Build WGSL reader" FORCE) - set(TINT_BUILD_WGSL_WRITER ON CACHE BOOL "Build WGSL writer" FORCE) - set(TINT_BUILD_SPV_WRITER ON CACHE BOOL "Build SPIR-V writer" FORCE) - set(TINT_BUILD_MSL_WRITER ON CACHE BOOL "Build MSL writer" FORCE) - set(TINT_BUILD_GLSL_WRITER ON CACHE BOOL "Build GLSL writer" FORCE) - set(TINT_BUILD_HLSL_WRITER ON CACHE BOOL "Build HLSL writer" FORCE) -endif() - -if (${TINT_BUILD_REGEX_FUZZER}) - message(STATUS "TINT_BUILD_REGEX_FUZZER is ON - setting - TINT_BUILD_FUZZERS - TINT_BUILD_WGSL_READER - TINT_BUILD_WGSL_WRITER - TINT_BUILD_SPV_WRITER - TINT_BUILD_MSL_WRITER - TINT_BUILD_GLSL_WRITER - TINT_BUILD_HLSL_WRITER to ON") - set(TINT_BUILD_FUZZERS ON CACHE BOOL "Build tint fuzzers" FORCE) - set(TINT_BUILD_WGSL_READER ON CACHE BOOL "Build WGSL reader" FORCE) - set(TINT_BUILD_WGSL_WRITER ON CACHE BOOL "Build WGSL writer" FORCE) - set(TINT_BUILD_SPV_WRITER ON CACHE BOOL "Build SPIR-V writer" FORCE) - set(TINT_BUILD_MSL_WRITER ON CACHE BOOL "Build MSL writer" FORCE) - set(TINT_BUILD_GLSL_WRITER ON CACHE BOOL "Build GLSL writer" FORCE) - set(TINT_BUILD_HLSL_WRITER ON CACHE BOOL "Build HLSL writer" FORCE) -endif() - -set(TINT_ROOT_SOURCE_DIR ${PROJECT_SOURCE_DIR}) - -# CMake < 3.15 sets /W3 in CMAKE_CXX_FLAGS. Remove it if it's there. -# See https://gitlab.kitware.com/cmake/cmake/-/issues/18317 -if (MSVC) - if (CMAKE_CXX_FLAGS MATCHES "/W3") - string(REPLACE "/W3" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - endif() -endif() - -if (${TINT_CHECK_CHROMIUM_STYLE}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xclang -add-plugin -Xclang find-bad-constructs") -endif() - -if (${TINT_BUILD_SPV_READER}) - include_directories("${TINT_ROOT_SOURCE_DIR}/third_party/spirv-tools/include") -endif() - -if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")) - set(COMPILER_IS_CLANG_CL TRUE) -endif() - -if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR - (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") OR - ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND - (NOT COMPILER_IS_CLANG_CL))) - set(COMPILER_IS_LIKE_GNU TRUE) -endif() - -# Enable msbuild multiprocessor builds -if (MSVC AND NOT COMPILER_IS_CLANG_CL) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") -endif() - -set(TINT_OS_CC_SUFFIX "other") -if (NOT TINT_BUILD_AS_OTHER_OS) - if(UNIX OR APPLE) - set(TINT_OS_CC_SUFFIX "posix") - set(TINT_OS_CC_SUFFIX "posix") - elseif(WIN32) - set(TINT_OS_CC_SUFFIX "windows") - set(TINT_OS_CC_SUFFIX "windows") - endif() -endif() - -if(${TINT_BUILD_DOCS}) - find_package(Doxygen) - if(DOXYGEN_FOUND) - set(DOXYGEN_WARN_AS_ERROR NO) - if(TINT_DOCS_WARN_AS_ERROR) - set(DOXYGEN_WARN_AS_ERROR YES) - endif() - - set(DOXYGEN_WARN_FORMAT "$file:$line: $text") - if (MSVC) - set(DOXYGEN_WARN_FORMAT "$file($line): $text") - endif() - - add_custom_target(tint-docs ALL - COMMAND ${CMAKE_COMMAND} - -E env - "DOXYGEN_OUTPUT_DIRECTORY=${CMAKE_BINARY_DIR}/docs" - "DOXYGEN_WARN_AS_ERROR=${DOXYGEN_WARN_AS_ERROR}" - "DOXYGEN_WARN_FORMAT=${DOXYGEN_WARN_FORMAT}" - ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "Generating API documentation" - VERBATIM) - else() - message("Doxygen not found. Skipping documentation") - endif(DOXYGEN_FOUND) -endif() - -function(tint_core_compile_options TARGET) - target_include_directories(${TARGET} PUBLIC "${TINT_ROOT_SOURCE_DIR}") - target_include_directories(${TARGET} PUBLIC "${TINT_ROOT_SOURCE_DIR}/include") - - if (${TINT_BUILD_SPV_READER} OR ${TINT_BUILD_SPV_WRITER}) - target_include_directories(${TARGET} PUBLIC - "${TINT_ROOT_SOURCE_DIR}/third_party/spirv-headers/include") - endif() - - target_compile_definitions(${TARGET} PUBLIC -DTINT_BUILD_SPV_READER=$) - target_compile_definitions(${TARGET} PUBLIC -DTINT_BUILD_WGSL_READER=$) - target_compile_definitions(${TARGET} PUBLIC -DTINT_BUILD_GLSL_WRITER=$) - target_compile_definitions(${TARGET} PUBLIC -DTINT_BUILD_HLSL_WRITER=$) - target_compile_definitions(${TARGET} PUBLIC -DTINT_BUILD_MSL_WRITER=$) - target_compile_definitions(${TARGET} PUBLIC -DTINT_BUILD_SPV_WRITER=$) - target_compile_definitions(${TARGET} PUBLIC -DTINT_BUILD_WGSL_WRITER=$) - - if (COMPILER_IS_LIKE_GNU) - target_compile_options(${TARGET} PRIVATE - -std=c++17 - -fno-exceptions - -fno-rtti - ) - - if (${TINT_ENABLE_MSAN}) - target_compile_options(${TARGET} PRIVATE -fsanitize=memory) - target_link_options(${TARGET} PRIVATE -fsanitize=memory) - elseif (${TINT_ENABLE_ASAN}) - target_compile_options(${TARGET} PRIVATE -fsanitize=address) - target_link_options(${TARGET} PRIVATE -fsanitize=address) - elseif (${TINT_ENABLE_UBSAN}) - target_compile_options(${TARGET} PRIVATE -fsanitize=undefined) - target_link_options(${TARGET} PRIVATE -fsanitize=undefined) - endif() - endif(COMPILER_IS_LIKE_GNU) - - if (TINT_EMIT_COVERAGE) - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - target_compile_options(${TARGET} PRIVATE "--coverage") - target_link_options(${TARGET} PRIVATE "gcov") - elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_compile_options(${TARGET} PRIVATE "-fprofile-instr-generate" "-fcoverage-mapping") - target_link_options(${TARGET} PRIVATE "-fprofile-instr-generate" "-fcoverage-mapping") - else() - message(FATAL_ERROR "Coverage generation not supported for the ${CMAKE_CXX_COMPILER_ID} toolchain") - endif() - endif(TINT_EMIT_COVERAGE) -endfunction() - -function(tint_default_compile_options TARGET) - tint_core_compile_options(${TARGET}) - - set(COMMON_GNU_OPTIONS - -Wall - -Werror - -Wextra - -Wno-documentation-unknown-command - -Wno-padded - -Wno-switch-enum - -Wno-unknown-pragmas - ) - - set(COMMON_CLANG_OPTIONS - -Wno-c++98-compat - -Wno-c++98-compat-pedantic - -Wno-format-pedantic - -Wno-return-std-move-in-c++11 - -Wno-unknown-warning-option - -Wno-undefined-var-template - -Wno-used-but-marked-unused - -Weverything - ) - - if (COMPILER_IS_LIKE_GNU) - target_compile_options(${TARGET} PRIVATE - -pedantic-errors - ${COMMON_GNU_OPTIONS} - ) - - if (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") OR - ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")) - target_compile_options(${TARGET} PRIVATE - ${COMMON_CLANG_OPTIONS} - ) - endif() - endif(COMPILER_IS_LIKE_GNU) - - if (MSVC) - # Specify /EHs for exception handling. - target_compile_options(${TARGET} PRIVATE - /bigobj - /EHsc - /W4 - /WX - /wd4068 - /wd4127 - /wd4244 - /wd4267 - /wd4324 - /wd4458 - /wd4514 - /wd4571 - /wd4625 - /wd4626 - /wd4710 - /wd4774 - /wd4820 - /wd5026 - /wd5027 - ) - - # When building with clang-cl on Windows, try to match our clang build - # options as much as possible. - if (COMPILER_IS_CLANG_CL) - target_compile_options(${TARGET} PRIVATE - ${COMMON_GNU_OPTIONS} - ${COMMON_CLANG_OPTIONS} - # Disable warnings that are usually disabled in downstream deps for - # gcc/clang, but aren't for clang-cl. - -Wno-global-constructors - -Wno-zero-as-null-pointer-constant - -Wno-shorten-64-to-32 - -Wno-shadow-field-in-constructor - -Wno-reserved-id-macro - -Wno-language-extension-token - ) - endif() - endif() -endfunction() - -add_subdirectory(third_party) -add_subdirectory(src) -if (TINT_BUILD_SAMPLES) - add_subdirectory(samples) -endif() - -if (TINT_BUILD_FUZZERS) - add_subdirectory(fuzzers) -endif() - -add_custom_target(tint-lint - COMMAND ./tools/lint - WORKING_DIRECTORY ${TINT_ROOT_SOURCE_DIR} - COMMENT "Running linter" - VERBATIM) - -add_custom_target(tint-format - COMMAND ./tools/format - WORKING_DIRECTORY ${TINT_ROOT_SOURCE_DIR} - COMMENT "Running formatter" - VERBATIM) - - -if (TINT_EMIT_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang") - # Generates a lcov.info file at the project root. - # This can be used by tools such as VSCode's Coverage Gutters extension to - # visualize code coverage in the editor. - get_filename_component(CLANG_BIN_DIR ${CMAKE_C_COMPILER} DIRECTORY) - set(PATH_WITH_CLANG "${CLANG_BIN_DIR}:$ENV{PATH}") - add_custom_target(tint-generate-coverage - COMMAND ${CMAKE_COMMAND} -E env PATH=${PATH_WITH_CLANG} ./tools/tint-generate-coverage $ - DEPENDS tint_unittests - WORKING_DIRECTORY ${TINT_ROOT_SOURCE_DIR} - COMMENT "Generating tint coverage data" - VERBATIM) -endif() - -if (TINT_BUILD_REMOTE_COMPILE) - add_subdirectory(tools/src/cmd/remote-compile) -endif() diff --git a/third_party/tint/CMakeSettings.json b/third_party/tint/CMakeSettings.json deleted file mode 100644 index b958807b46..0000000000 --- a/third_party/tint/CMakeSettings.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "configurations": [ - { - "name": "x64-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": [ "msvc_x64_x64" ], - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "variables": [] - }, - { - "name": "x64-Release", - "generator": "Ninja", - "configurationType": "RelWithDebInfo", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "msvc_x64_x64" ], - "variables": [] - }, - { - "name": "x86-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "msvc_x86" ], - "variables": [] - }, - { - "name": "x86-Release", - "generator": "Ninja", - "configurationType": "RelWithDebInfo", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "msvc_x86" ], - "variables": [] - }, - { - "name": "x64-Clang-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "clang_cl_x64_x64" ], - "variables": [] - }, - { - "name": "x64-Clang-Release", - "generator": "Ninja", - "configurationType": "RelWithDebInfo", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "clang_cl_x64_x64" ], - "variables": [] - }, - { - "name": "x86-Clang-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "clang_cl_x86" ], - "variables": [] - }, - { - "name": "x86-Clang-Release", - "generator": "Ninja", - "configurationType": "RelWithDebInfo", - "buildRoot": "${projectDir}\\out\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "clang_cl_x86" ], - "variables": [] - } - ] -} \ No newline at end of file diff --git a/third_party/tint/CODE_OF_CONDUCT.md b/third_party/tint/CODE_OF_CONDUCT.md deleted file mode 100644 index 12921d9f17..0000000000 --- a/third_party/tint/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,93 +0,0 @@ -# Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of -experience, education, socio-economic status, nationality, personal appearance, -race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, or to ban temporarily or permanently any -contributor for other behaviors that they deem inappropriate, threatening, -offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -This Code of Conduct also applies outside the project spaces when the Project -Steward has a reasonable belief that an individual's behavior may have a -negative impact on the project or its community. - -## Conflict Resolution - -We do not believe that all conflict is bad; healthy debate and disagreement -often yield positive results. However, it is never okay to be disrespectful or -to engage in behavior that violates the project’s code of conduct. - -If you see someone violating the code of conduct, you are encouraged to address -the behavior directly with those involved. Many issues can be resolved quickly -and easily, and this gives people more control over the outcome of their -dispute. If you are unable to resolve the matter for any reason, or if the -behavior is threatening or harassing, report it. We are dedicated to providing -an environment where participants feel welcome and safe. - -Reports should be directed to David Neto , the -Project Steward(s) for Tint. It is the Project Steward’s duty to -receive and address reported violations of the code of conduct. They will then -work with a committee consisting of representatives from the Open Source -Programs Office and the Google Open Source Strategy team. If for any reason you -are uncomfortable reaching out the Project Steward, please email -opensource@google.com. - -We will investigate every complaint, but you may not receive a direct response. -We will use our discretion in determining when and how to follow up on reported -incidents, which may range from not taking action to permanent expulsion from -the project and project-sponsored spaces. We will notify the accused of the -report and provide them an opportunity to discuss it before any action is taken. -The identity of the reporter will be omitted from the details of the report -supplied to the accused. In potentially harmful situations, such as ongoing -harassment or threats to anyone's safety, we may take action without notice. - -## Attribution - -This Code of Conduct is adapted from the Contributor Covenant, version 1.4, -available at -https://www.contributor-covenant.org/version/1/4/code-of-conduct.html diff --git a/third_party/tint/CONTRIBUTING.md b/third_party/tint/CONTRIBUTING.md deleted file mode 100644 index 4d59e356f6..0000000000 --- a/third_party/tint/CONTRIBUTING.md +++ /dev/null @@ -1,45 +0,0 @@ -# How to Contribute - -We'd love to accept your patches and contributions to this project. There are -just a few small guidelines you need to follow. - -## Contributor License Agreement - -Contributions to this project must be accompanied by a Contributor License -Agreement. You (or your employer) retain the copyright to your contribution; -this simply gives us permission to use and redistribute your contributions as -part of the project. Head over to to see -your current agreements on file or to sign a new one. - -You generally only need to submit a CLA once, so if you've already submitted one -(even if it was for a different project), you probably don't need to do it -again. - -## Code reviews - -All submissions, including submissions by project members, require review. We -use [Dawn's Gerrit](https://dawn-review.googlesource.com/) for this purpose. - -Submissions should follow the [Tint style guide](docs/style_guide.md). - -## Pushing to Gerrit - -Each change requires a `Change-Id` field in the commit message, which is generated by the [Gerrit commit-msg hook](](https://gerrit-review.googlesource.com/Documentation/cmd-hook-commit-msg.html)). \ -In a bash terminal, with the current path set to your tint source tree, this can be obtained by running the following: - -```bash -f=`git rev-parse --git-dir`/hooks/commit-msg ; mkdir -p $(dirname $f) ; curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x $f -``` - -If you've already locally committed a change without the `Change-Id`, running `git commit --amend` will add the missing `Change-Id`. - -To create a Gerrit change for review, type: - -```bash -git push origin HEAD:refs/for/main -``` - -## Community Guidelines - -This project follows -[Google's Open Source Community Guidelines](https://opensource.google.com/conduct/). diff --git a/third_party/tint/CPPLINT.cfg b/third_party/tint/CPPLINT.cfg deleted file mode 100644 index 36d9cb2654..0000000000 --- a/third_party/tint/CPPLINT.cfg +++ /dev/null @@ -1 +0,0 @@ -set noparent diff --git a/third_party/tint/DEPS b/third_party/tint/DEPS deleted file mode 100644 index fbd2af5d7e..0000000000 --- a/third_party/tint/DEPS +++ /dev/null @@ -1,213 +0,0 @@ -use_relative_paths = True - -gclient_gn_args_file = 'build/config/gclient_args.gni' - -gclient_gn_args = [ - 'generate_location_tags', -] - -vars = { - 'chromium_git': 'https://chromium.googlesource.com', - 'github': '/external/github.com', - - 'benchmark_revision': 'e991355c02b93fe17713efe04cbc2e278e00fdbd', - 'build_revision': '555c8b467c21e2c4b22d00e87e3faa0431df9ac2', - 'buildtools_revision': 'f78b4b9f33bd8ef9944d5ce643daff1c31880189', - 'catapult_revision': 'fa35beefb3429605035f98211ddb8750dee6a13d', - 'clang_format_revision': '2271e89c145a5e27d6c110b6a1113c057a8301a3', - 'clang_revision': '8b7330592cb85ba09505a6be7bacabd0ad6160a3', - 'glslang_revision': '4b7b86d568b40f4b076259dc2fc4cdd006340f34', - 'googletest_revision': '6b74da4757a549563d7c37c8fae3e704662a043b', - 'gpuweb_cts_revision': 'b0291fd966b55a5efc496772555b94842bde1085', - 'libcxx_revision': '79a2e924d96e2fc1e4b937c42efd08898fa472d7', - 'libcxxabi_revision': '2715a6c0de8dac4c7674934a6b3d30ba0c685271', - 'protobuf_revision': 'fde7cf7358ec7cd69e8db9be4f1fa6a5c431386a', - 'spirv_headers_revision': 'eddd4dfc930f1374a70797460240a501c7d333f7', - 'spirv_tools_revision': 'df2aad68b98279412494a6d449bd71b6756e699b', - 'testing_revision': 'd485ae97b7900c1fb7edfbe2901ae5adcb120865', - 'tint_gn_revision': 'git_revision:281ba2c91861b10fec7407c4b6172ec3d4661243', - - # We don't use location metadata in our test isolates. - 'generate_location_tags': False, -} - -deps = { - 'third_party/gpuweb-cts': Var('chromium_git') + Var('github') + - '/gpuweb/cts.git@' + Var('gpuweb_cts_revision'), - - 'third_party/spirv-headers': Var('chromium_git') + Var('github') + - '/KhronosGroup/SPIRV-Headers.git@' + Var('spirv_headers_revision'), - - 'third_party/spirv-tools': Var('chromium_git') + Var('github') + - '/KhronosGroup//SPIRV-Tools.git@' + Var('spirv_tools_revision'), - - 'third_party/glslang': Var('chromium_git') + Var('github') + - '/KhronosGroup/glslang.git@' + Var('glslang_revision'), - - # Dependencies required to use GN/Clang in standalone - 'build': Var('chromium_git') + '/chromium/src/build@' + - Var('build_revision'), - - 'buildtools': Var('chromium_git') + '/chromium/src/buildtools@' + - Var('buildtools_revision'), - - 'tools/clang': Var('chromium_git') + '/chromium/src/tools/clang@' + - Var('clang_revision'), - - 'buildtools/clang_format/script': { - 'url': Var('chromium_git') + - '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' + - Var('clang_format_revision'), - }, - - 'buildtools/linux64': { - 'packages': [{ - 'package': 'gn/gn/linux-amd64', - 'version': Var('tint_gn_revision'), - }], - 'dep_type': 'cipd', - 'condition': 'host_os == "linux"', - }, - 'buildtools/mac': { - 'packages': [{ - 'package': 'gn/gn/mac-${{arch}}', - 'version': Var('tint_gn_revision'), - }], - 'dep_type': 'cipd', - 'condition': 'host_os == "mac"', - }, - 'buildtools/win': { - 'packages': [{ - 'package': 'gn/gn/windows-amd64', - 'version': Var('tint_gn_revision'), - }], - 'dep_type': 'cipd', - 'condition': 'host_os == "win"', - }, - - 'buildtools/third_party/libc++/trunk': - Var('chromium_git') + - '/external/github.com/llvm/llvm-project/libcxx.git@' + - Var('libcxx_revision'), - - 'buildtools/third_party/libc++abi/trunk': - Var('chromium_git') + - '/external/github.com/llvm/llvm-project/libcxxabi.git@' + - Var('libcxxabi_revision'), - - # Dependencies required for testing - 'testing': Var('chromium_git') + '/chromium/src/testing@' + - Var('testing_revision'), - - 'third_party/catapult': Var('chromium_git') + '/catapult.git@' + - Var('catapult_revision'), - - 'third_party/benchmark': Var('chromium_git') + Var('github') + - '/google/benchmark.git@' + Var('benchmark_revision'), - - 'third_party/googletest': Var('chromium_git') + Var('github') + - '/google/googletest.git@' + Var('googletest_revision'), - - 'third_party/protobuf': Var('chromium_git') + Var('github') + - '/protocolbuffers/protobuf.git@' + Var('protobuf_revision'), -} - -hooks = [ - # Pull clang-format binaries using checked-in hashes. - { - 'name': 'clang_format_win', - 'pattern': '.', - 'condition': 'host_os == "win"', - 'action': [ 'download_from_google_storage', - '--no_resume', - '--platform=win32', - '--no_auth', - '--bucket', 'chromium-clang-format', - '-s', 'buildtools/win/clang-format.exe.sha1', - ], - }, - { - 'name': 'clang_format_mac', - 'pattern': '.', - 'condition': 'host_os == "mac"', - 'action': [ 'download_from_google_storage', - '--no_resume', - '--platform=darwin', - '--no_auth', - '--bucket', 'chromium-clang-format', - '-s', 'buildtools/mac/clang-format.sha1', - ], - }, - { - 'name': 'clang_format_linux', - 'pattern': '.', - 'condition': 'host_os == "linux"', - 'action': [ 'download_from_google_storage', - '--no_resume', - '--platform=linux*', - '--no_auth', - '--bucket', 'chromium-clang-format', - '-s', 'buildtools/linux64/clang-format.sha1', - ], - }, - - # Pull the compilers and system libraries for hermetic builds - { - 'name': 'sysroot_x86', - 'pattern': '.', - 'condition': 'checkout_linux and ((checkout_x86 or checkout_x64))', - 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', - '--arch=x86'], - }, - { - 'name': 'sysroot_x64', - 'pattern': '.', - 'condition': 'checkout_linux and (checkout_x64)', - 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', - '--arch=x64'], - }, - { - # Update the Mac toolchain if necessary. - 'name': 'mac_toolchain', - 'pattern': '.', - 'condition': 'checkout_mac', - 'action': ['python3', 'build/mac_toolchain.py'], - }, - { - # Update the Windows toolchain if necessary. Must run before 'clang' below. - 'name': 'win_toolchain', - 'pattern': '.', - 'condition': 'checkout_win', - 'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'], - }, - { - # Note: On Win, this should run after win_toolchain, as it may use it. - 'name': 'clang', - 'pattern': '.', - 'action': ['python3', 'tools/clang/scripts/update.py'], - }, - { - # Pull rc binaries using checked-in hashes. - 'name': 'rc_win', - 'pattern': '.', - 'condition': 'checkout_win and (host_os == "win")', - 'action': [ 'download_from_google_storage', - '--no_resume', - '--no_auth', - '--bucket', 'chromium-browser-clang/rc', - '-s', 'build/toolchain/win/rc/win/rc.exe.sha1', - ], - }, - # Update build/util/LASTCHANGE. - { - 'name': 'lastchange', - 'pattern': '.', - 'action': ['python3', 'build/util/lastchange.py', - '-o', 'build/util/LASTCHANGE'], - }, -] - -recursedeps = [ - # buildtools provides clang_format, libc++, and libc++abi - 'buildtools', -] diff --git a/third_party/tint/Doxyfile b/third_party/tint/Doxyfile deleted file mode 100644 index 211e3b8565..0000000000 --- a/third_party/tint/Doxyfile +++ /dev/null @@ -1,2481 +0,0 @@ -# Doxyfile 1.8.14 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a double hash (##) is considered a comment and is placed in -# front of the TAG it is preceding. -# -# All text after a single hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists, items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (\" \"). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See -# https://www.gnu.org/software/libiconv/ for the list of possible encodings. -# The default value is: UTF-8. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by -# double-quotes, unless you are using Doxywizard) that should identify the -# project for which the documentation is generated. This name is used in the -# title of most generated pages and in a few other places. -# The default value is: My Project. - -PROJECT_NAME = "Tint" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. This -# could be handy for archiving the generated documentation or if some version -# control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a -# quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = Tint - -# With the PROJECT_LOGO tag one can specify a logo or an icon that is included -# in the documentation. The maximum height of the logo should not exceed 55 -# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy -# the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path -# into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If -# left blank the current directory will be used. - -OUTPUT_DIRECTORY = $(DOXYGEN_OUTPUT_DIRECTORY) - -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. -# The default value is: NO. - -CREATE_SUBDIRS = NO - -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII -# characters to appear in the names of generated files. If set to NO, non-ASCII -# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode -# U+3044. -# The default value is: NO. - -ALLOW_UNICODE_NAMES = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. -# The default value is: English. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member -# descriptions after the members that are listed in the file and class -# documentation (similar to Javadoc). Set to NO to disable this. -# The default value is: YES. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief -# description of a member or function before the detailed description -# -# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. -# The default value is: YES. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator that is -# used to form the text in various listings. Each string in this list, if found -# as the leading text of the brief description, will be stripped from the text -# and the result, after processing the whole list, is used as the annotated -# text. Otherwise, the brief description is used as-is. If left blank, the -# following values are used ($name is automatically replaced with the name of -# the entity):The $name class, The $name widget, The $name file, is, provides, -# specifies, contains, represents, a, an and the. - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief -# description. -# The default value is: NO. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. -# The default value is: NO. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path -# before files name in the file list and in the header files. If set to NO the -# shortest path that makes the file name unique will be used -# The default value is: YES. - -FULL_PATH_NAMES = YES - -# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. -# Stripping is only done if one of the specified strings matches the left-hand -# part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to -# strip. -# -# Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. -# This tag requires that the tag FULL_PATH_NAMES is set to YES. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the -# path mentioned in the documentation of a class, which tells the reader which -# header file to include in order to use a class. If left blank only the name of -# the header file containing the class definition is used. Otherwise one should -# specify the list of include paths that are normally passed to the compiler -# using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't -# support long names like on DOS, Mac, or CD-ROM. -# The default value is: NO. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) -# The default value is: NO. - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) -# The default value is: NO. - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a -# multi-line C++ special comment block (i.e. a block of //! or /// comments) as -# a brief description. This used to be the default behavior. The new default is -# to treat a multi-line C++ comment block as a detailed description. Set this -# tag to YES if you prefer the old behavior instead. -# -# Note that setting this tag to YES also means that rational rose comments are -# not recognized any more. -# The default value is: NO. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the -# documentation from any documented member that it re-implements. -# The default value is: YES. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new -# page for each member. If set to NO, the documentation of a member will be part -# of the file/class/namespace that contains it. -# The default value is: NO. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen -# uses this value to replace tabs by spaces in code fragments. -# Minimum value: 1, maximum value: 16, default value: 4. - -TAB_SIZE = 2 - -# This tag can be used to specify a number of aliases that act as commands in -# the documentation. An alias has the form: -# name=value -# For example adding -# "sideeffect=@par Side Effects:\n" -# will allow you to put the command \sideeffect (or @sideeffect) in the -# documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines (in the resulting output). You can put ^^ in the value part of an -# alias to insert a newline as if a physical newline was in the original file. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. For -# instance, some of the names that are used will be different. The list of all -# members will be omitted, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or -# Python sources only. Doxygen will then generate output that is more tailored -# for that language. For instance, namespaces will be presented as packages, -# qualified scopes will look different, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources. Doxygen will then generate output that is tailored for Fortran. -# The default value is: NO. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for VHDL. -# The default value is: NO. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: -# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: -# Fortran. In the later case the parser tries to guess whether the code is fixed -# or free formatted code, this is the default for Fortran type files), VHDL. For -# instance to make doxygen treat .inc files as Fortran files (default is PHP), -# and .f files as C (default is Fortran), use: inc=Fortran f=C. -# -# Note: For files without extension you can use no_extension as a placeholder. -# -# Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments -# according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in -# case of backward compatibilities issues. -# The default value is: YES. - -MARKDOWN_SUPPORT = YES - -# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up -# to that level are automatically included in the table of contents, even if -# they do not have an id attribute. -# Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 0. -# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. - -TOC_INCLUDE_HEADINGS = 0 - -# When enabled doxygen tries to link words that correspond to documented -# classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. -# The default value is: YES. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. -# The default value is: NO. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. -# The default value is: NO. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. -# The default value is: NO. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. -# This will only work if the methods are indeed getting or setting a simple -# type. If this is not the case, or you want to show the methods anyway, you -# should set this option to NO. -# The default value is: YES. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. -# The default value is: NO. - -DISTRIBUTE_GROUP_DOC = NO - -# If one adds a struct or class to a group and this option is enabled, then also -# any nested class or struct is added to the same group. By default this option -# is disabled and one has to add nested compounds explicitly via \ingroup. -# The default value is: NO. - -GROUP_NESTED_COMPOUNDS = NO - -# Set the SUBGROUPING tag to YES to allow class member groups of the same type -# (for instance a group of public functions) to be put as a subgroup of that -# type (e.g. under the Public Functions section). Set it to NO to prevent -# subgrouping. Alternatively, this can be done per class using the -# \nosubgrouping command. -# The default value is: YES. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions -# are shown inside the group in which they are included (e.g. using \ingroup) -# instead of on a separate page (for HTML and Man pages) or section (for LaTeX -# and RTF). -# -# Note that this feature does not work in combination with -# SEPARATE_MEMBER_PAGES. -# The default value is: NO. - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions -# with only public data fields or simple typedef fields will be shown inline in -# the documentation of the scope in which they are defined (i.e. file, -# namespace, or group documentation), provided this scope is documented. If set -# to NO, structs, classes, and unions are shown on a separate page (for HTML and -# Man pages) or section (for LaTeX and RTF). -# The default value is: NO. - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or -# enum is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically be -# useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. -# The default value is: NO. - -TYPEDEF_HIDES_STRUCT = NO - -# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This -# cache is used to resolve symbols given their name and scope. Since this can be -# an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The -# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range -# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest -# the optimal cache size from a speed point of view. -# Minimum value: 0, maximum value: 9, default value: 0. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in -# documentation are documented, even if no documentation was available. Private -# class members and static file members will be hidden unless the -# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. -# Note: This will also disable the warnings about undocumented members that are -# normally produced when WARNINGS is set to YES. -# The default value is: NO. - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will -# be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal -# scope will be included in the documentation. -# The default value is: NO. - -EXTRACT_PACKAGE = yes - -# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be -# included in the documentation. -# The default value is: NO. - -EXTRACT_STATIC = yes - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO, -# only classes defined in header files are included. Does not have any effect -# for Java sources. -# The default value is: YES. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. If set to YES, local methods, -# which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO, only methods in the interface are -# included. -# The default value is: NO. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base name of -# the file that contains the anonymous namespace. By default anonymous namespace -# are hidden. -# The default value is: NO. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all -# undocumented members inside documented classes or files. If set to NO these -# members will be included in the various overviews, but no documentation -# section is generated. This option has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. If set -# to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO, these declarations will be -# included in the documentation. -# The default value is: NO. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO, these -# blocks will be appended to the function's detailed documentation block. -# The default value is: NO. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation that is typed after a -# \internal command is included. If the tag is set to NO then the documentation -# will be excluded. Set it to YES to include the internal documentation. -# The default value is: NO. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. -# The default value is: system dependent. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES, the -# scope will be hidden. -# The default value is: NO. - -HIDE_SCOPE_NAMES = NO - -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will -# append additional text to a page's title, such as Class Reference. If set to -# YES the compound reference will be hidden. -# The default value is: NO. - -HIDE_COMPOUND_REFERENCE= NO - -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of -# the files that are included by a file in the documentation of that file. -# The default value is: YES. - -SHOW_INCLUDE_FILES = YES - -# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each -# grouped member an include statement to the documentation, telling the reader -# which file to include in order to use the member. -# The default value is: NO. - -SHOW_GROUPED_MEMB_INC = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include -# files with double quotes in the documentation rather than with sharp brackets. -# The default value is: NO. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the -# documentation for inline members. -# The default value is: YES. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the -# (detailed) documentation of file and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. -# The default value is: YES. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief -# descriptions of file, namespace and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. Note that -# this will also influence the order of the classes in the class list. -# The default value is: NO. - -SORT_BRIEF_DOCS = YES - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the -# (brief and detailed) documentation of class members so that constructors and -# destructors are listed first. If set to NO the constructors will appear in the -# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. -# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief -# member documentation. -# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting -# detailed member documentation. -# The default value is: NO. - -SORT_MEMBERS_CTORS_1ST = YES - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy -# of group names into alphabetical order. If set to NO the group names will -# appear in their defined order. -# The default value is: NO. - -SORT_GROUP_NAMES = YES - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by -# fully-qualified names, including namespaces. If set to NO, the class list will -# be sorted only by class name, not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the alphabetical -# list. -# The default value is: NO. - -SORT_BY_SCOPE_NAME = YES - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper -# type resolution of all parameters of a function it will reject a match between -# the prototype and the implementation of a member function even if there is -# only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still -# accept a match between prototype and implementation in such cases. -# The default value is: NO. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo -# list. This list is created by putting \todo commands in the documentation. -# The default value is: YES. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test -# list. This list is created by putting \test commands in the documentation. -# The default value is: YES. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug -# list. This list is created by putting \bug commands in the documentation. -# The default value is: YES. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) -# the deprecated list. This list is created by putting \deprecated commands in -# the documentation. -# The default value is: YES. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional documentation -# sections, marked by \if ... \endif and \cond -# ... \endcond blocks. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -# initial value of a variable or macro / define can have for it to appear in the -# documentation. If the initializer consists of more lines than specified here -# it will be hidden. Use a value of 0 to hide initializers completely. The -# appearance of the value of individual variables and macros / defines can be -# controlled using \showinitializer or \hideinitializer command in the -# documentation regardless of this setting. -# Minimum value: 0, maximum value: 10000, default value: 30. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES, the -# list will mention the files that were used to generate the documentation. -# The default value is: YES. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This -# will remove the Files entry from the Quick Index and from the Folder Tree View -# (if specified). -# The default value is: YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces -# page. This will remove the Namespaces entry from the Quick Index and from the -# Folder Tree View (if specified). -# The default value is: YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command command input-file, where command is the value of the -# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file -# version. For an example see the documentation. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can -# optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. -# -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE -# tag is left empty. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files containing -# the reference definitions. This must be a list of .bib files. The .bib -# extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. -# For LaTeX the style of the bibliography can be controlled using -# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. See also \cite for info how to create references. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# Configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the -# messages are off. -# The default value is: NO. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES -# this implies that the warnings are on. -# -# Tip: Turn warnings on while writing the documentation. -# The default value is: YES. - -WARNINGS = YES - -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate -# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: YES. - -WARN_IF_UNDOCUMENTED = YES - -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. -# The default value is: YES. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that -# are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. -# The default value is: NO. - -WARN_NO_PARAMDOC = YES - -# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. -# The default value is: NO. - -WARN_AS_ERROR = $(DOXYGEN_WARN_AS_ERROR) - -# The WARN_FORMAT tag determines the format of the warning messages that doxygen -# can produce. The string should contain the $file, $line, and $text tags, which -# will be replaced by the file and line number from which the warning originated -# and the warning text. Optionally the format may contain $version, which will -# be replaced by the version of the file (if it could be obtained via -# FILE_VERSION_FILTER) -# The default value is: $file:$line: $text. - -WARN_FORMAT = $(DOXYGEN_WARN_FORMAT) - -# The WARN_LOGFILE tag can be used to specify a file to which warning and error -# messages should be written. If left blank the output is written to standard -# error (stderr). - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag is used to specify the files and/or directories that contain -# documented source files. You may enter file names like myfile.cpp or -# directories like /usr/src/myproject. Separate the files or directories with -# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING -# Note: If this tag is empty the current directory is searched. - -INPUT = CODE_OF_CONDUCT.md \ - fuzzers/tint_spirv_tools_fuzzer \ - src \ - tools/src \ - fuzzers/tint_spirv_tools_fuzzer \ - fuzzers/tint_ast_fuzzer - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses -# libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: https://www.gnu.org/software/libiconv/) for the list of -# possible encodings. -# The default value is: UTF-8. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. -# -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, -# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.idl \ - *.ddl \ - *.odl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.cs \ - *.d \ - *.php \ - *.php4 \ - *.php5 \ - *.phtml \ - *.inc \ - *.m \ - *.markdown \ - *.md \ - *.mm \ - *.dox \ - *.py \ - *.pyw \ - *.f90 \ - *.f95 \ - *.f03 \ - *.f08 \ - *.f \ - *.for \ - *.tcl \ - *.vhd \ - *.vhdl \ - *.ucf \ - *.qsf - -# The RECURSIVE tag can be used to specify whether or not subdirectories should -# be searched for input files as well. -# The default value is: NO. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. -# The default value is: NO. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories for example use the pattern */test/* - -EXCLUDE_PATTERNS = *_test.cc - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or directories -# that contain example code fragments that are included (see the \include -# command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank all -# files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude commands -# irrespective of the value of the RECURSIVE tag. -# The default value is: NO. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or directories -# that contain images that are to be included in the documentation (see the -# \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command: -# -# -# -# where is the value of the INPUT_FILTER tag, and is the -# name of an input file. Doxygen will then use the output that the filter -# program writes to standard output. If FILTER_PATTERNS is specified, this tag -# will be ignored. -# -# Note that the filter must not add or remove lines; it is applied before the -# code is scanned, but not when the output code is generated. If lines are added -# or removed, the anchors will not be placed correctly. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: pattern=filter -# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how -# filters are used. If the FILTER_PATTERNS tag is empty or if none of the -# patterns match the file name, INPUT_FILTER is applied. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will also be used to filter the input files that are used for -# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). -# The default value is: NO. - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and -# it is also possible to disable source filtering for a specific pattern using -# *.ext= (so without naming a filter). -# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page -# (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = ./README.md - -#--------------------------------------------------------------------------- -# Configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will be -# generated. Documented entities will be cross-referenced with these sources. -# -# Note: To get rid of all source code in the generated output, make sure that -# also VERBATIM_HEADERS is set to NO. -# The default value is: NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. -# The default value is: NO. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any -# special comment blocks from generated source code fragments. Normal C, C++ and -# Fortran comments will always remain visible. -# The default value is: YES. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. -# The default value is: NO. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES then for each documented function -# all documented entities called/used by that function will be listed. -# The default value is: NO. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES then the hyperlinks from functions in REFERENCES_RELATION and -# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will -# link to the documentation. -# The default value is: YES. - -REFERENCES_LINK_SOURCE = YES - -# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the -# source code will show a tooltip with additional information such as prototype, -# brief description and links to the definition and documentation. Since this -# will make the HTML file larger and loading of large files a bit slower, you -# can opt to disable this feature. -# The default value is: YES. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -SOURCE_TOOLTIPS = YES - -# If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in -# source browser. The htags tool is part of GNU's global source tagging system -# (see https://www.gnu.org/software/global/global.html). You will need version -# 4.8.6 or higher. -# -# To use it do the following: -# - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file -# - Make sure the INPUT points to the root of the source tree -# - Run doxygen as normal -# -# Doxygen will invoke htags (and that will in turn invoke gtags), so these -# tools must be available from the command line (i.e. in the search path). -# -# The result: instead of the source browser generated by doxygen, the links to -# source code will now point to the output of htags. -# The default value is: NO. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a -# verbatim copy of the header file for each class for which an include is -# specified. Set to NO to disable this. -# See also: Section \class. -# The default value is: YES. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# Configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all -# compounds will be generated. Enable this if the project contains a lot of -# classes, structs, unions or interfaces. -# The default value is: YES. - -ALPHABETICAL_INDEX = YES - -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output -# The default value is: YES. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a -# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -# it. -# The default directory is: html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each -# generated HTML page (for example: .htm, .php, .asp). -# The default value is: .html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a -# standard header. -# -# To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. -# the setting GENERATE_TREEVIEW). It is highly recommended to start with a -# default header using -# doxygen -w html new_header.html new_footer.html new_stylesheet.css -# YourConfigFile -# and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally -# uses. -# Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description -# of the possible markers and block names see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard -# footer. See HTML_HEADER for more information on how to generate a default -# footer and what special commands can be used inside the footer. See also -# section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style -# sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. -# See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. -# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as -# it is more robust and this tag (HTML_STYLESHEET) will in the future become -# obsolete. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined -# cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. -# This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefore more robust against future updates. -# Doxygen will copy the style sheet files to the output directory. -# Note: The order of the extra style sheet files is of importance (e.g. the last -# style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that the -# files will be copied as-is; there are no commands or markers available. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# https://en.wikipedia.org/wiki/Hue for more information. For instance the value -# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 -# purple, and 360 is red again. -# Minimum value: 0, maximum value: 359, default value: 220. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A -# value of 255 will produce the most vivid colors. -# Minimum value: 0, maximum value: 255, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the -# luminance component of the colors in the HTML output. Values below 100 -# gradually make the output lighter, whereas values above 100 make the output -# darker. The value divided by 100 is the actual gamma applied, so 80 represents -# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not -# change the gamma. -# Minimum value: 40, maximum value: 240, default value: 80. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML -# documentation will contain a main index with vertical navigation menus that -# are dynamically created via Javascript. If disabled, the navigation index will -# consists of multiple levels of tabs that are statically embedded in every HTML -# page. Disable this option to support browsers that do not have Javascript, -# like the Qt help browser. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -#HTML_DYNAMIC_MENUS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries -# shown in the various tree structured indices initially; the user can expand -# and collapse entries dynamically later on. Doxygen will expand the tree to -# such a level that at most the specified number of entries are visible (unless -# a fully collapsed tree already exceeds this amount). So setting the number of -# entries 1 will produce a full collapsed tree by default. 0 is a special value -# representing an infinite number of entries and will result in a full expanded -# tree by default. -# Minimum value: 0, maximum value: 9999, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files will be -# generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: https://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See https://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_DOCSET = NO - -# This tag determines the name of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# The default value is: Doxygen generated docs. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# This tag specifies a string that should uniquely identify the documentation -# set bundle. This should be a reverse domain-name style string, e.g. -# com.mycompany.MyDocSet. Doxygen will append .docset to the name. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. -# The default value is: org.doxygen.Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. -# The default value is: Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three -# additional HTML index files: index.hhp, index.hhc, and index.hhk. The -# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. -# -# The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML -# files are now used as the Windows 98 help format, and will replace the old -# Windows help format (.hlp) on all Windows platforms in the future. Compressed -# HTML files also contain an index, a table of contents, and you can search for -# words in the documentation. The HTML workshop also contains a viewer for -# compressed HTML files. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_HTMLHELP = NO - -# The CHM_FILE tag can be used to specify the file name of the resulting .chm -# file. You can add a path in front of the file if the result should not be -# written to the html output directory. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_FILE = - -# The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. -# The file has to be specified with full path. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -HHC_LOCATION = - -# The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -GENERATE_CHI = NO - -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) -# and project file content. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_INDEX_ENCODING = - -# The BINARY_TOC flag controls whether a binary table of contents is generated -# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it -# enables the Previous and Next buttons. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members to -# the table of contents of the HTML help documentation and to the tree view. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that -# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help -# (.qch) of the generated HTML documentation. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify -# the file name of the resulting .qch file. The path specified is relative to -# the HTML output folder. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help -# Project output. For more information please see Qt Help Project / Namespace -# (see: http://doc.qt.io/qt-4.8/qthelpproject.html#namespace). -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt -# Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://doc.qt.io/qt-4.8/qthelpproject.html#virtual-folders). -# The default value is: doc. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_VIRTUAL_FOLDER = doc - -# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom -# filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://doc.qt.io/qt-4.8/qthelpproject.html#filter-attributes). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_SECT_FILTER_ATTRS = - -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be -# generated, together with the HTML files, they form an Eclipse help plugin. To -# install this plugin and make it available under the help contents menu in -# Eclipse, the contents of the directory containing the HTML and XML files needs -# to be copied into the plugins directory of eclipse. The name of the directory -# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. -# After copying Eclipse needs to be restarted before the help appears. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the Eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have this -# name. Each documentation set should have its own identifier. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# If you want full control over the layout of the generated HTML pages it might -# be necessary to disable the index and replace it with your own. The -# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top -# of each HTML page. A value of NO enables the index and the value YES disables -# it. Since the tabs in the index contain the same information as the navigation -# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. If the tag -# value is set to YES, a side panel will be generated containing a tree-like -# index structure (just like the one that is generated for HTML Help). For this -# to work a browser that supports JavaScript, DHTML, CSS and frames is required -# (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. -# -# Note that a value of 0 will completely suppress the enum values from appearing -# in the overview section. -# Minimum value: 0, maximum value: 20, default value: 4. -# This tag requires that the tag GENERATE_HTML is set to YES. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used -# to set the initial width (in pixels) of the frame in which the tree is shown. -# Minimum value: 0, maximum value: 1500, default value: 250. -# This tag requires that the tag GENERATE_HTML is set to YES. - -TREEVIEW_WIDTH = 250 - -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to -# external symbols imported via tag files in a separate window. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of LaTeX formulas included as images in -# the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML -# output directory to force them to be regenerated. -# Minimum value: 8, maximum value: 50, default value: 10. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANSPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# https://www.mathjax.org) which uses client side Javascript for the rendering -# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX -# installed or if you want to formulas look prettier in the HTML output. When -# enabled you may also need to install MathJax separately and configure the path -# to it using the MATHJAX_RELPATH option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. -# Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. -# The default value is: HTML-CSS. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. -# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/ - -# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax -# extension names that should be enabled during MathJax rendering. For example -# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_EXTENSIONS = - -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an -# example see the documentation. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_CODEFILE = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and -# should work on any modern browser. Note that when using HTML help -# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) -# there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then -# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to -# search using the keyboard; to jump to the search box use + S -# (what the is depends on the OS and browser, but it is typically -# , /