# Copyright 2021 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.

import("//build_overrides/build.gni")

import("../../scripts/dawn_overrides_with_defaults.gni")
import("../../tint_overrides_with_defaults.gni")

if (tint_build_unittests) {
  import("//testing/test.gni")
}

###############################################################################
# Common - Configs, etc. shared across targets
###############################################################################

config("tint_common_config") {
  include_dirs = [
    "${target_gen_dir}",
    "${tint_root_dir}/",
    "${tint_spirv_headers_dir}/include",
    "${tint_spirv_tools_dir}/",
    "${tint_spirv_tools_dir}/include",
  ]
}

config("tint_public_config") {
  defines = []
  if (tint_build_spv_reader) {
    defines += [ "TINT_BUILD_SPV_READER=1" ]
  } else {
    defines += [ "TINT_BUILD_SPV_READER=0" ]
  }

  if (tint_build_spv_writer) {
    defines += [ "TINT_BUILD_SPV_WRITER=1" ]
  } else {
    defines += [ "TINT_BUILD_SPV_WRITER=0" ]
  }

  if (tint_build_wgsl_reader) {
    defines += [ "TINT_BUILD_WGSL_READER=1" ]
  } else {
    defines += [ "TINT_BUILD_WGSL_READER=0" ]
  }

  if (tint_build_wgsl_writer) {
    defines += [ "TINT_BUILD_WGSL_WRITER=1" ]
  } else {
    defines += [ "TINT_BUILD_WGSL_WRITER=0" ]
  }

  if (tint_build_msl_writer) {
    defines += [ "TINT_BUILD_MSL_WRITER=1" ]
  } else {
    defines += [ "TINT_BUILD_MSL_WRITER=0" ]
  }

  if (tint_build_hlsl_writer) {
    defines += [ "TINT_BUILD_HLSL_WRITER=1" ]
  } else {
    defines += [ "TINT_BUILD_HLSL_WRITER=0" ]
  }

  if (tint_build_glsl_writer) {
    defines += [ "TINT_BUILD_GLSL_WRITER=1" ]
  } else {
    defines += [ "TINT_BUILD_GLSL_WRITER=0" ]
  }

  if (tint_build_syntax_tree_writer) {
    defines += [ "TINT_BUILD_SYNTAX_TREE_WRITER=1" ]
  } else {
    defines += [ "TINT_BUILD_SYNTAX_TREE_WRITER=0" ]
  }

  if (tint_build_ir) {
    defines += [ "TINT_BUILD_IR=1" ]
  } else {
    defines += [ "TINT_BUILD_IR=0" ]
  }

  include_dirs = [
    "${tint_root_dir}/",
    "${tint_root_dir}/include/",
    "${tint_spirv_headers_dir}/include",
  ]
}

config("tint_config") {
  include_dirs = []
  if (tint_build_spv_reader || tint_build_spv_writer) {
    include_dirs += [ "${tint_spirv_tools_dir}/include/" ]
  }
}

group("abseil") {
  # When build_with_chromium=true we need to include "//third_party/abseil-cpp:absl" while
  # it's beneficial to be more specific with standalone Dawn, especially when it comes to
  # including it as a dependency in other projects (such as Skia).
  if (build_with_chromium) {
    public_deps = [ "$dawn_abseil_dir:absl" ]
  } else {
    public_deps = [ "${dawn_root}/third_party/gn/abseil-cpp:strings" ]
  }
}

###############################################################################
# Helper library for IO operations
# Only to be used by tests and sample executable
###############################################################################
source_set("tint_utils_io") {
  sources = [
    "utils/command/command.h",
    "utils/file/tmpfile.h",
  ]

  if (is_linux || is_mac) {
    sources += [ "utils/command/command_posix.cc" ]
    sources += [ "utils/file/tmpfile_posix.cc" ]
  } else if (is_win) {
    sources += [ "utils/command/command_windows.cc" ]
    sources += [ "utils/file/tmpfile_windows.cc" ]
  } else {
    sources += [ "utils/command/command_other.cc" ]
    sources += [ "utils/file/tmpfile_other.cc" ]
  }

  deps = [ ":libtint_utils_src" ]
}

###############################################################################
# Helper library for validating generated shaders
# As this depends on tint_utils_io, this is only to be used by tests and sample
# executable
###############################################################################
source_set("tint_val") {
  sources = [
    "lang/hlsl/validate/hlsl.cc",
    "lang/hlsl/validate/val.h",
    "lang/msl/validate/msl.cc",
    "lang/msl/validate/val.h",
  ]
  deps = [
    ":libtint_ast_src",
    ":libtint_program_src",
    ":libtint_utils_src",
    ":tint_utils_io",
  ]
}

###############################################################################
# Library - Tint core and optional modules of libtint
###############################################################################
# Targets that want to use tint as a library should depend on ":libtint" and
# use the build flags to control what is included, instead of trying to specify
# the subsets that they want.

template("libtint_source_set") {
  source_set(target_name) {
    forward_variables_from(invoker, "*", [ "configs" ])

    if (!defined(invoker.deps)) {
      deps = []
    }
    deps += [
      "${tint_spirv_headers_dir}:spv_headers",
      "${tint_spirv_tools_dir}:spvtools_core_enums_unified1",
      "${tint_spirv_tools_dir}:spvtools_core_tables_unified1",
      "${tint_spirv_tools_dir}:spvtools_headers",
      "${tint_spirv_tools_dir}:spvtools_language_header_cldebuginfo100",
      "${tint_spirv_tools_dir}:spvtools_language_header_debuginfo",
      "${tint_spirv_tools_dir}:spvtools_language_header_vkdebuginfo100",
    ]

    if (defined(invoker.configs)) {
      configs += invoker.configs
    }
    configs += [ ":tint_common_config" ]
    if (build_with_chromium) {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
    }

    if (!defined(invoker.public_configs)) {
      public_configs = []
    }
    public_configs += [ ":tint_public_config" ]
  }
}

libtint_source_set("libtint_symbols_src") {
  sources = [
    "utils/containers/scope_stack.h",
    "utils/generation_id.cc",
    "utils/generation_id.h",
    "utils/reflection/reflection.h",
    "utils/text/symbol.cc",
    "utils/text/symbol.h",
    "utils/text/symbol_table.cc",
    "utils/text/symbol_table.h",
  ]
  deps = [ ":libtint_utils_src" ]
}

libtint_source_set("libtint_utils_src") {
  sources = [
    "utils/cli/cli.cc",
    "utils/cli/cli.h",
    "utils/containers/bitset.h",
    "utils/containers/enum_set.h",
    "utils/containers/hashmap.h",
    "utils/containers/hashmap_base.h",
    "utils/containers/hashset.h",
    "utils/containers/map.h",
    "utils/containers/predicates.h",
    "utils/containers/slice.h",
    "utils/containers/unique_allocator.h",
    "utils/containers/unique_vector.h",
    "utils/containers/vector.h",
    "utils/debug/debug.cc",
    "utils/debug/debug.h",
    "utils/debug/debugger.cc",
    "utils/debug/debugger.h",
    "utils/diagnostic/diagnostic.cc",
    "utils/diagnostic/diagnostic.h",
    "utils/diagnostic/formatter.cc",
    "utils/diagnostic/formatter.h",
    "utils/diagnostic/printer.cc",
    "utils/diagnostic/printer.h",
    "utils/diagnostic/source.cc",
    "utils/diagnostic/source.h",
    "utils/macros/compiler.h",
    "utils/macros/concat.h",
    "utils/macros/defer.h",
    "utils/macros/foreach.h",
    "utils/macros/scoped_assignment.h",
    "utils/math/crc32.h",
    "utils/math/hash.h",
    "utils/math/math.h",
    "utils/memory/bitcast.h",
    "utils/memory/block_allocator.h",
    "utils/memory/bump_allocator.h",
    "utils/rtti/castable.cc",
    "utils/rtti/castable.h",
    "utils/rtti/switch.h",
    "utils/text/parse_num.cc",
    "utils/text/parse_num.h",
    "utils/text/string.cc",
    "utils/text/string.h",
    "utils/text/string_stream.cc",
    "utils/text/string_stream.h",
    "utils/text/unicode.cc",
    "utils/text/unicode.h",
    "utils/traits/traits.h",
  ]

  if (is_linux || is_mac) {
    sources += [ "utils/diagnostic/printer_posix.cc" ]
  } else if (is_win) {
    sources += [ "utils/diagnostic/printer_windows.cc" ]
  } else {
    sources += [ "utils/diagnostic/printer_other.cc" ]
  }

  deps = [ ":abseil" ]
}

libtint_source_set("libtint_clone_context_hdrs") {
  sources = [ "lang/wgsl/ast/clone_context.h" ]
  deps = [
    ":libtint_symbols_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_program_src") {
  sources = [
    "lang/wgsl/ast/clone_context.cc",
    "lang/wgsl/program/program.cc",
    "lang/wgsl/program/program_builder.cc",
    "lang/wgsl/resolver/const_eval.cc",
    "lang/wgsl/resolver/const_eval.h",
    "lang/wgsl/resolver/ctor_conv_intrinsic.cc",
    "lang/wgsl/resolver/ctor_conv_intrinsic.h",
    "lang/wgsl/resolver/dependency_graph.cc",
    "lang/wgsl/resolver/dependency_graph.h",
    "lang/wgsl/resolver/intrinsic_table.cc",
    "lang/wgsl/resolver/intrinsic_table.h",
    "lang/wgsl/resolver/intrinsic_table.inl",
    "lang/wgsl/resolver/resolver.cc",
    "lang/wgsl/resolver/sem_helper.cc",
    "lang/wgsl/resolver/sem_helper.h",
    "lang/wgsl/resolver/uniformity.cc",
    "lang/wgsl/resolver/uniformity.h",
    "lang/wgsl/resolver/validator.cc",
    "lang/wgsl/resolver/validator.h",
  ]
  public = [
    "lang/wgsl/program/program.h",
    "lang/wgsl/program/program_builder.h",
    "lang/wgsl/resolver/resolver.h",
  ]
  friend = [
    ":tint_unittests_resolver_src",  # For resolver test access
  ]

  public_deps = [ ":libtint_clone_context_hdrs" ]

  deps = [
    ":libtint_ast_hdrs",
    ":libtint_builtins_src",
    ":libtint_constant_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_initializer_src") {
  sources = [ "tint.cc" ]
}

libtint_source_set("libtint_inspector_src") {
  sources = [
    "lang/wgsl/inspector/entry_point.cc",
    "lang/wgsl/inspector/entry_point.h",
    "lang/wgsl/inspector/inspector.cc",
    "lang/wgsl/inspector/inspector.h",
    "lang/wgsl/inspector/resource_binding.cc",
    "lang/wgsl/inspector/resource_binding.h",
    "lang/wgsl/inspector/scalar.cc",
    "lang/wgsl/inspector/scalar.h",
  ]
  deps = [
    ":libtint_ast_src",
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_ast_transform_base_src") {
  sources = [
    "lang/wgsl/ast/transform/data.cc",
    "lang/wgsl/ast/transform/data.h",
    "lang/wgsl/ast/transform/manager.cc",
    "lang/wgsl/ast/transform/manager.h",
    "lang/wgsl/ast/transform/transform.cc",
    "lang/wgsl/ast/transform/transform.h",
  ]
  deps = [
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_ast_transform_src") {
  sources = [
    "lang/wgsl/ast/transform/add_block_attribute.cc",
    "lang/wgsl/ast/transform/add_block_attribute.h",
    "lang/wgsl/ast/transform/add_empty_entry_point.cc",
    "lang/wgsl/ast/transform/add_empty_entry_point.h",
    "lang/wgsl/ast/transform/array_length_from_uniform.cc",
    "lang/wgsl/ast/transform/array_length_from_uniform.h",
    "lang/wgsl/ast/transform/binding_remapper.cc",
    "lang/wgsl/ast/transform/binding_remapper.h",
    "lang/wgsl/ast/transform/builtin_polyfill.cc",
    "lang/wgsl/ast/transform/builtin_polyfill.h",
    "lang/wgsl/ast/transform/calculate_array_length.cc",
    "lang/wgsl/ast/transform/calculate_array_length.h",
    "lang/wgsl/ast/transform/canonicalize_entry_point_io.cc",
    "lang/wgsl/ast/transform/canonicalize_entry_point_io.h",
    "lang/wgsl/ast/transform/clamp_frag_depth.cc",
    "lang/wgsl/ast/transform/clamp_frag_depth.h",
    "lang/wgsl/ast/transform/combine_samplers.cc",
    "lang/wgsl/ast/transform/combine_samplers.h",
    "lang/wgsl/ast/transform/decompose_memory_access.cc",
    "lang/wgsl/ast/transform/decompose_memory_access.h",
    "lang/wgsl/ast/transform/decompose_strided_array.cc",
    "lang/wgsl/ast/transform/decompose_strided_array.h",
    "lang/wgsl/ast/transform/decompose_strided_matrix.cc",
    "lang/wgsl/ast/transform/decompose_strided_matrix.h",
    "lang/wgsl/ast/transform/demote_to_helper.cc",
    "lang/wgsl/ast/transform/demote_to_helper.h",
    "lang/wgsl/ast/transform/direct_variable_access.cc",
    "lang/wgsl/ast/transform/direct_variable_access.h",
    "lang/wgsl/ast/transform/disable_uniformity_analysis.cc",
    "lang/wgsl/ast/transform/disable_uniformity_analysis.h",
    "lang/wgsl/ast/transform/expand_compound_assignment.cc",
    "lang/wgsl/ast/transform/expand_compound_assignment.h",
    "lang/wgsl/ast/transform/first_index_offset.cc",
    "lang/wgsl/ast/transform/first_index_offset.h",
    "lang/wgsl/ast/transform/fold_trivial_lets.cc",
    "lang/wgsl/ast/transform/fold_trivial_lets.h",
    "lang/wgsl/ast/transform/for_loop_to_loop.cc",
    "lang/wgsl/ast/transform/for_loop_to_loop.h",
    "lang/wgsl/ast/transform/localize_struct_array_assignment.cc",
    "lang/wgsl/ast/transform/localize_struct_array_assignment.h",
    "lang/wgsl/ast/transform/merge_return.cc",
    "lang/wgsl/ast/transform/merge_return.h",
    "lang/wgsl/ast/transform/module_scope_var_to_entry_point_param.cc",
    "lang/wgsl/ast/transform/module_scope_var_to_entry_point_param.h",
    "lang/wgsl/ast/transform/multiplanar_external_texture.cc",
    "lang/wgsl/ast/transform/multiplanar_external_texture.h",
    "lang/wgsl/ast/transform/num_workgroups_from_uniform.cc",
    "lang/wgsl/ast/transform/num_workgroups_from_uniform.h",
    "lang/wgsl/ast/transform/packed_vec3.cc",
    "lang/wgsl/ast/transform/packed_vec3.h",
    "lang/wgsl/ast/transform/pad_structs.cc",
    "lang/wgsl/ast/transform/pad_structs.h",
    "lang/wgsl/ast/transform/preserve_padding.cc",
    "lang/wgsl/ast/transform/preserve_padding.h",
    "lang/wgsl/ast/transform/promote_initializers_to_let.cc",
    "lang/wgsl/ast/transform/promote_initializers_to_let.h",
    "lang/wgsl/ast/transform/promote_side_effects_to_decl.cc",
    "lang/wgsl/ast/transform/promote_side_effects_to_decl.h",
    "lang/wgsl/ast/transform/remove_continue_in_switch.cc",
    "lang/wgsl/ast/transform/remove_continue_in_switch.h",
    "lang/wgsl/ast/transform/remove_phonies.cc",
    "lang/wgsl/ast/transform/remove_phonies.h",
    "lang/wgsl/ast/transform/remove_unreachable_statements.cc",
    "lang/wgsl/ast/transform/remove_unreachable_statements.h",
    "lang/wgsl/ast/transform/renamer.cc",
    "lang/wgsl/ast/transform/renamer.h",
    "lang/wgsl/ast/transform/robustness.cc",
    "lang/wgsl/ast/transform/robustness.h",
    "lang/wgsl/ast/transform/simplify_pointers.cc",
    "lang/wgsl/ast/transform/simplify_pointers.h",
    "lang/wgsl/ast/transform/single_entry_point.cc",
    "lang/wgsl/ast/transform/single_entry_point.h",
    "lang/wgsl/ast/transform/spirv_atomic.cc",
    "lang/wgsl/ast/transform/spirv_atomic.h",
    "lang/wgsl/ast/transform/std140.cc",
    "lang/wgsl/ast/transform/std140.h",
    "lang/wgsl/ast/transform/substitute_override.cc",
    "lang/wgsl/ast/transform/substitute_override.h",
    "lang/wgsl/ast/transform/texture_1d_to_2d.cc",
    "lang/wgsl/ast/transform/texture_1d_to_2d.h",
    "lang/wgsl/ast/transform/truncate_interstage_variables.cc",
    "lang/wgsl/ast/transform/truncate_interstage_variables.h",
    "lang/wgsl/ast/transform/unshadow.cc",
    "lang/wgsl/ast/transform/unshadow.h",
    "lang/wgsl/ast/transform/utils/get_insertion_point.cc",
    "lang/wgsl/ast/transform/utils/get_insertion_point.h",
    "lang/wgsl/ast/transform/utils/hoist_to_decl_before.cc",
    "lang/wgsl/ast/transform/utils/hoist_to_decl_before.h",
    "lang/wgsl/ast/transform/var_for_dynamic_index.cc",
    "lang/wgsl/ast/transform/var_for_dynamic_index.h",
    "lang/wgsl/ast/transform/vectorize_matrix_conversions.cc",
    "lang/wgsl/ast/transform/vectorize_matrix_conversions.h",
    "lang/wgsl/ast/transform/vectorize_scalar_matrix_initializers.cc",
    "lang/wgsl/ast/transform/vectorize_scalar_matrix_initializers.h",
    "lang/wgsl/ast/transform/vertex_pulling.cc",
    "lang/wgsl/ast/transform/vertex_pulling.h",
    "lang/wgsl/ast/transform/while_to_loop.cc",
    "lang/wgsl/ast/transform/while_to_loop.h",
    "lang/wgsl/ast/transform/zero_init_workgroup_memory.cc",
    "lang/wgsl/ast/transform/zero_init_workgroup_memory.h",
  ]
  deps = [
    ":libtint_ast_src",
    ":libtint_ast_transform_base_src",
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

if (tint_build_ir) {
  libtint_source_set("libtint_ir_transform_src") {
    sources = [
      "lang/core/ir/transform/add_empty_entry_point.cc",
      "lang/core/ir/transform/add_empty_entry_point.h",
      "lang/core/ir/transform/block_decorated_structs.cc",
      "lang/core/ir/transform/block_decorated_structs.h",
      "lang/core/ir/transform/demote_to_helper.cc",
      "lang/core/ir/transform/demote_to_helper.h",
      "lang/core/ir/transform/rename_conflicts_wgsl.cc",
      "lang/core/ir/transform/rename_conflicts_wgsl.h",
      "lang/core/ir/transform/shader_io.cc",
      "lang/core/ir/transform/shader_io.h",
    ]
    deps = [
      ":libtint_builtins_src",
      ":libtint_ir_src",
      ":libtint_symbols_src",
      ":libtint_type_src",
      ":libtint_utils_src",
    ]

    if (tint_build_spv_writer) {
      sources += [
        "lang/core/ir/transform/builtin_polyfill_spirv.cc",
        "lang/core/ir/transform/builtin_polyfill_spirv.h",
        "lang/core/ir/transform/expand_implicit_splats.cc",
        "lang/core/ir/transform/expand_implicit_splats.h",
        "lang/core/ir/transform/handle_matrix_arithmetic.cc",
        "lang/core/ir/transform/handle_matrix_arithmetic.h",
        "lang/core/ir/transform/merge_return.cc",
        "lang/core/ir/transform/merge_return.h",
        "lang/core/ir/transform/shader_io_spirv.cc",
        "lang/core/ir/transform/shader_io_spirv.h",
        "lang/core/ir/transform/var_for_dynamic_index.cc",
        "lang/core/ir/transform/var_for_dynamic_index.h",
      ]
    }
  }
}

libtint_source_set("libtint_ast_hdrs") {
  sources = [
    "lang/wgsl/ast/accessor_expression.h",
    "lang/wgsl/ast/alias.h",
    "lang/wgsl/ast/assignment_statement.h",
    "lang/wgsl/ast/attribute.h",
    "lang/wgsl/ast/binary_expression.h",
    "lang/wgsl/ast/binding_attribute.h",
    "lang/wgsl/ast/bitcast_expression.h",
    "lang/wgsl/ast/block_statement.h",
    "lang/wgsl/ast/bool_literal_expression.h",
    "lang/wgsl/ast/break_if_statement.h",
    "lang/wgsl/ast/break_statement.h",
    "lang/wgsl/ast/builtin_attribute.h",
    "lang/wgsl/ast/call_expression.h",
    "lang/wgsl/ast/call_statement.h",
    "lang/wgsl/ast/case_selector.h",
    "lang/wgsl/ast/case_statement.h",
    "lang/wgsl/ast/compound_assignment_statement.h",
    "lang/wgsl/ast/const.h",
    "lang/wgsl/ast/const_assert.h",
    "lang/wgsl/ast/continue_statement.h",
    "lang/wgsl/ast/diagnostic_attribute.h",
    "lang/wgsl/ast/diagnostic_control.h",
    "lang/wgsl/ast/diagnostic_directive.h",
    "lang/wgsl/ast/diagnostic_rule_name.h",
    "lang/wgsl/ast/disable_validation_attribute.h",
    "lang/wgsl/ast/discard_statement.h",
    "lang/wgsl/ast/enable.h",
    "lang/wgsl/ast/expression.h",
    "lang/wgsl/ast/extension.h",
    "lang/wgsl/ast/float_literal_expression.h",
    "lang/wgsl/ast/for_loop_statement.h",
    "lang/wgsl/ast/function.h",
    "lang/wgsl/ast/group_attribute.h",
    "lang/wgsl/ast/id_attribute.h",
    "lang/wgsl/ast/identifier.h",
    "lang/wgsl/ast/identifier_expression.h",
    "lang/wgsl/ast/if_statement.h",
    "lang/wgsl/ast/increment_decrement_statement.h",
    "lang/wgsl/ast/index_accessor_expression.h",
    "lang/wgsl/ast/index_attribute.h",
    "lang/wgsl/ast/int_literal_expression.h",
    "lang/wgsl/ast/internal_attribute.h",
    "lang/wgsl/ast/interpolate_attribute.h",
    "lang/wgsl/ast/invariant_attribute.h",
    "lang/wgsl/ast/let.h",
    "lang/wgsl/ast/literal_expression.h",
    "lang/wgsl/ast/location_attribute.h",
    "lang/wgsl/ast/loop_statement.h",
    "lang/wgsl/ast/member_accessor_expression.h",
    "lang/wgsl/ast/module.h",
    "lang/wgsl/ast/must_use_attribute.h",
    "lang/wgsl/ast/node.h",
    "lang/wgsl/ast/node_id.h",
    "lang/wgsl/ast/override.h",
    "lang/wgsl/ast/parameter.h",
    "lang/wgsl/ast/phony_expression.h",
    "lang/wgsl/ast/pipeline_stage.h",
    "lang/wgsl/ast/return_statement.h",
    "lang/wgsl/ast/stage_attribute.h",
    "lang/wgsl/ast/statement.h",
    "lang/wgsl/ast/stride_attribute.h",
    "lang/wgsl/ast/struct.h",
    "lang/wgsl/ast/struct_member.h",
    "lang/wgsl/ast/struct_member_align_attribute.h",
    "lang/wgsl/ast/struct_member_offset_attribute.h",
    "lang/wgsl/ast/struct_member_size_attribute.h",
    "lang/wgsl/ast/switch_statement.h",
    "lang/wgsl/ast/templated_identifier.h",
    "lang/wgsl/ast/traverse_expressions.h",
    "lang/wgsl/ast/type.h",
    "lang/wgsl/ast/type_decl.h",
    "lang/wgsl/ast/unary_op.h",
    "lang/wgsl/ast/unary_op_expression.h",
    "lang/wgsl/ast/var.h",
    "lang/wgsl/ast/variable.h",
    "lang/wgsl/ast/variable_decl_statement.h",
    "lang/wgsl/ast/while_statement.h",
    "lang/wgsl/ast/workgroup_attribute.h",
  ]
  deps = [
    ":libtint_builtins_src",
    ":libtint_clone_context_hdrs",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_ast_src") {
  sources = [
    "lang/wgsl/ast/accessor_expression.cc",
    "lang/wgsl/ast/alias.cc",
    "lang/wgsl/ast/assignment_statement.cc",
    "lang/wgsl/ast/attribute.cc",
    "lang/wgsl/ast/binary_expression.cc",
    "lang/wgsl/ast/binding_attribute.cc",
    "lang/wgsl/ast/bitcast_expression.cc",
    "lang/wgsl/ast/block_statement.cc",
    "lang/wgsl/ast/bool_literal_expression.cc",
    "lang/wgsl/ast/break_if_statement.cc",
    "lang/wgsl/ast/break_statement.cc",
    "lang/wgsl/ast/builtin_attribute.cc",
    "lang/wgsl/ast/call_expression.cc",
    "lang/wgsl/ast/call_statement.cc",
    "lang/wgsl/ast/case_selector.cc",
    "lang/wgsl/ast/case_statement.cc",
    "lang/wgsl/ast/compound_assignment_statement.cc",
    "lang/wgsl/ast/const.cc",
    "lang/wgsl/ast/const_assert.cc",
    "lang/wgsl/ast/continue_statement.cc",
    "lang/wgsl/ast/diagnostic_attribute.cc",
    "lang/wgsl/ast/diagnostic_control.cc",
    "lang/wgsl/ast/diagnostic_directive.cc",
    "lang/wgsl/ast/diagnostic_rule_name.cc",
    "lang/wgsl/ast/disable_validation_attribute.cc",
    "lang/wgsl/ast/discard_statement.cc",
    "lang/wgsl/ast/enable.cc",
    "lang/wgsl/ast/expression.cc",
    "lang/wgsl/ast/extension.cc",
    "lang/wgsl/ast/float_literal_expression.cc",
    "lang/wgsl/ast/for_loop_statement.cc",
    "lang/wgsl/ast/function.cc",
    "lang/wgsl/ast/group_attribute.cc",
    "lang/wgsl/ast/id_attribute.cc",
    "lang/wgsl/ast/identifier.cc",
    "lang/wgsl/ast/identifier_expression.cc",
    "lang/wgsl/ast/if_statement.cc",
    "lang/wgsl/ast/increment_decrement_statement.cc",
    "lang/wgsl/ast/index_accessor_expression.cc",
    "lang/wgsl/ast/index_attribute.cc",
    "lang/wgsl/ast/int_literal_expression.cc",
    "lang/wgsl/ast/internal_attribute.cc",
    "lang/wgsl/ast/interpolate_attribute.cc",
    "lang/wgsl/ast/invariant_attribute.cc",
    "lang/wgsl/ast/let.cc",
    "lang/wgsl/ast/literal_expression.cc",
    "lang/wgsl/ast/location_attribute.cc",
    "lang/wgsl/ast/loop_statement.cc",
    "lang/wgsl/ast/member_accessor_expression.cc",
    "lang/wgsl/ast/module.cc",
    "lang/wgsl/ast/must_use_attribute.cc",
    "lang/wgsl/ast/node.cc",
    "lang/wgsl/ast/override.cc",
    "lang/wgsl/ast/parameter.cc",
    "lang/wgsl/ast/phony_expression.cc",
    "lang/wgsl/ast/pipeline_stage.cc",
    "lang/wgsl/ast/return_statement.cc",
    "lang/wgsl/ast/stage_attribute.cc",
    "lang/wgsl/ast/statement.cc",
    "lang/wgsl/ast/stride_attribute.cc",
    "lang/wgsl/ast/struct.cc",
    "lang/wgsl/ast/struct_member.cc",
    "lang/wgsl/ast/struct_member_align_attribute.cc",
    "lang/wgsl/ast/struct_member_offset_attribute.cc",
    "lang/wgsl/ast/struct_member_size_attribute.cc",
    "lang/wgsl/ast/switch_statement.cc",
    "lang/wgsl/ast/templated_identifier.cc",
    "lang/wgsl/ast/type.cc",
    "lang/wgsl/ast/type_decl.cc",
    "lang/wgsl/ast/unary_op.cc",
    "lang/wgsl/ast/unary_op_expression.cc",
    "lang/wgsl/ast/var.cc",
    "lang/wgsl/ast/variable.cc",
    "lang/wgsl/ast/variable_decl_statement.cc",
    "lang/wgsl/ast/while_statement.cc",
    "lang/wgsl/ast/workgroup_attribute.cc",
  ]
  public_deps = [ ":libtint_ast_hdrs" ]
  deps = [
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_sem_src") {
  sources = [
    "lang/wgsl/sem/accessor_expression.cc",
    "lang/wgsl/sem/accessor_expression.h",
    "lang/wgsl/sem/array_count.cc",
    "lang/wgsl/sem/array_count.h",
    "lang/wgsl/sem/behavior.cc",
    "lang/wgsl/sem/behavior.h",
    "lang/wgsl/sem/block_statement.cc",
    "lang/wgsl/sem/block_statement.h",
    "lang/wgsl/sem/break_if_statement.cc",
    "lang/wgsl/sem/break_if_statement.h",
    "lang/wgsl/sem/builtin.cc",
    "lang/wgsl/sem/builtin.h",
    "lang/wgsl/sem/builtin_enum_expression.cc",
    "lang/wgsl/sem/builtin_enum_expression.h",
    "lang/wgsl/sem/call.cc",
    "lang/wgsl/sem/call.h",
    "lang/wgsl/sem/call_target.cc",
    "lang/wgsl/sem/call_target.h",
    "lang/wgsl/sem/evaluation_stage.h",
    "lang/wgsl/sem/expression.cc",
    "lang/wgsl/sem/expression.h",
    "lang/wgsl/sem/external_texture.h",
    "lang/wgsl/sem/for_loop_statement.cc",
    "lang/wgsl/sem/for_loop_statement.h",
    "lang/wgsl/sem/function.cc",
    "lang/wgsl/sem/function.h",
    "lang/wgsl/sem/function_expression.cc",
    "lang/wgsl/sem/function_expression.h",
    "lang/wgsl/sem/if_statement.cc",
    "lang/wgsl/sem/if_statement.h",
    "lang/wgsl/sem/index_accessor_expression.cc",
    "lang/wgsl/sem/index_accessor_expression.h",
    "lang/wgsl/sem/info.cc",
    "lang/wgsl/sem/info.h",
    "lang/wgsl/sem/load.cc",
    "lang/wgsl/sem/load.h",
    "lang/wgsl/sem/loop_statement.cc",
    "lang/wgsl/sem/loop_statement.h",
    "lang/wgsl/sem/materialize.cc",
    "lang/wgsl/sem/materialize.h",
    "lang/wgsl/sem/member_accessor_expression.cc",
    "lang/wgsl/sem/member_accessor_expression.h",
    "lang/wgsl/sem/module.cc",
    "lang/wgsl/sem/module.h",
    "lang/wgsl/sem/node.cc",
    "lang/wgsl/sem/node.h",
    "lang/wgsl/sem/parameter_usage.cc",
    "lang/wgsl/sem/parameter_usage.h",
    "lang/wgsl/sem/pipeline_stage_set.h",
    "lang/wgsl/sem/sampler_texture_pair.h",
    "lang/wgsl/sem/statement.cc",
    "lang/wgsl/sem/statement.h",
    "lang/wgsl/sem/struct.cc",
    "lang/wgsl/sem/struct.h",
    "lang/wgsl/sem/switch_statement.cc",
    "lang/wgsl/sem/switch_statement.h",
    "lang/wgsl/sem/type_expression.cc",
    "lang/wgsl/sem/type_expression.h",
    "lang/wgsl/sem/type_mappings.h",
    "lang/wgsl/sem/value_constructor.cc",
    "lang/wgsl/sem/value_constructor.h",
    "lang/wgsl/sem/value_conversion.cc",
    "lang/wgsl/sem/value_conversion.h",
    "lang/wgsl/sem/value_expression.cc",
    "lang/wgsl/sem/value_expression.h",
    "lang/wgsl/sem/variable.cc",
    "lang/wgsl/sem/variable.h",
    "lang/wgsl/sem/while_statement.cc",
    "lang/wgsl/sem/while_statement.h",
  ]

  deps = [
    ":libtint_ast_hdrs",
    ":libtint_builtins_src",
    ":libtint_constant_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_builtins_src") {
  sources = [
    "lang/core/builtin/access.cc",
    "lang/core/builtin/access.h",
    "lang/core/builtin/address_space.cc",
    "lang/core/builtin/address_space.h",
    "lang/core/builtin/attribute.cc",
    "lang/core/builtin/attribute.h",
    "lang/core/builtin/builtin.cc",
    "lang/core/builtin/builtin.h",
    "lang/core/builtin/builtin_value.cc",
    "lang/core/builtin/builtin_value.h",
    "lang/core/builtin/diagnostic_rule.cc",
    "lang/core/builtin/diagnostic_rule.h",
    "lang/core/builtin/diagnostic_severity.cc",
    "lang/core/builtin/diagnostic_severity.h",
    "lang/core/builtin/extension.cc",
    "lang/core/builtin/extension.h",
    "lang/core/builtin/fluent_types.h",
    "lang/core/builtin/function.cc",
    "lang/core/builtin/function.h",
    "lang/core/builtin/interpolation.h",
    "lang/core/builtin/interpolation_sampling.cc",
    "lang/core/builtin/interpolation_sampling.h",
    "lang/core/builtin/interpolation_type.cc",
    "lang/core/builtin/interpolation_type.h",
    "lang/core/builtin/number.cc",
    "lang/core/builtin/number.h",
    "lang/core/builtin/texel_format.cc",
    "lang/core/builtin/texel_format.h",
  ]
  deps = [ ":libtint_utils_src" ]
}

libtint_source_set("libtint_type_src") {
  sources = [
    "lang/core/type/abstract_float.cc",
    "lang/core/type/abstract_float.h",
    "lang/core/type/abstract_int.cc",
    "lang/core/type/abstract_int.h",
    "lang/core/type/abstract_numeric.cc",
    "lang/core/type/abstract_numeric.h",
    "lang/core/type/array.cc",
    "lang/core/type/array.h",
    "lang/core/type/array_count.cc",
    "lang/core/type/array_count.h",
    "lang/core/type/atomic.cc",
    "lang/core/type/atomic.h",
    "lang/core/type/bool.cc",
    "lang/core/type/bool.h",
    "lang/core/type/builtin_structs.cc",
    "lang/core/type/builtin_structs.h",
    "lang/core/type/clone_context.h",
    "lang/core/type/depth_multisampled_texture.cc",
    "lang/core/type/depth_multisampled_texture.h",
    "lang/core/type/depth_texture.cc",
    "lang/core/type/depth_texture.h",
    "lang/core/type/external_texture.cc",
    "lang/core/type/external_texture.h",
    "lang/core/type/f16.cc",
    "lang/core/type/f16.h",
    "lang/core/type/f32.cc",
    "lang/core/type/f32.h",
    "lang/core/type/i32.cc",
    "lang/core/type/i32.h",
    "lang/core/type/manager.cc",
    "lang/core/type/manager.h",
    "lang/core/type/matrix.cc",
    "lang/core/type/matrix.h",
    "lang/core/type/multisampled_texture.cc",
    "lang/core/type/multisampled_texture.h",
    "lang/core/type/node.cc",
    "lang/core/type/node.h",
    "lang/core/type/numeric_scalar.cc",
    "lang/core/type/numeric_scalar.h",
    "lang/core/type/pointer.cc",
    "lang/core/type/pointer.h",
    "lang/core/type/reference.cc",
    "lang/core/type/reference.h",
    "lang/core/type/sampled_texture.cc",
    "lang/core/type/sampled_texture.h",
    "lang/core/type/sampler.cc",
    "lang/core/type/sampler.h",
    "lang/core/type/sampler_kind.cc",
    "lang/core/type/sampler_kind.h",
    "lang/core/type/scalar.cc",
    "lang/core/type/scalar.h",
    "lang/core/type/storage_texture.cc",
    "lang/core/type/storage_texture.h",
    "lang/core/type/struct.cc",
    "lang/core/type/struct.h",
    "lang/core/type/texture.cc",
    "lang/core/type/texture.h",
    "lang/core/type/texture_dimension.cc",
    "lang/core/type/texture_dimension.h",
    "lang/core/type/type.cc",
    "lang/core/type/type.h",
    "lang/core/type/u32.cc",
    "lang/core/type/u32.h",
    "lang/core/type/unique_node.cc",
    "lang/core/type/unique_node.h",
    "lang/core/type/vector.cc",
    "lang/core/type/vector.h",
    "lang/core/type/void.cc",
    "lang/core/type/void.h",
  ]

  deps = [
    ":libtint_builtins_src",
    ":libtint_symbols_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_constant_src") {
  sources = [
    "lang/core/constant/clone_context.h",
    "lang/core/constant/composite.cc",
    "lang/core/constant/composite.h",
    "lang/core/constant/manager.cc",
    "lang/core/constant/manager.h",
    "lang/core/constant/node.cc",
    "lang/core/constant/node.h",
    "lang/core/constant/scalar.cc",
    "lang/core/constant/scalar.h",
    "lang/core/constant/splat.cc",
    "lang/core/constant/splat.h",
    "lang/core/constant/value.cc",
    "lang/core/constant/value.h",
  ]
  deps = [
    ":libtint_builtins_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_spv_reader_src") {
  sources = [
    "lang/spirv/reader/attributes.h",
    "lang/spirv/reader/construct.cc",
    "lang/spirv/reader/construct.h",
    "lang/spirv/reader/entry_point_info.cc",
    "lang/spirv/reader/entry_point_info.h",
    "lang/spirv/reader/enum_converter.cc",
    "lang/spirv/reader/enum_converter.h",
    "lang/spirv/reader/fail_stream.h",
    "lang/spirv/reader/function.cc",
    "lang/spirv/reader/function.h",
    "lang/spirv/reader/namer.cc",
    "lang/spirv/reader/namer.h",
    "lang/spirv/reader/parser.cc",
    "lang/spirv/reader/parser.h",
    "lang/spirv/reader/parser_impl.cc",
    "lang/spirv/reader/parser_impl.h",
    "lang/spirv/reader/parser_type.cc",
    "lang/spirv/reader/parser_type.h",
    "lang/spirv/reader/usage.cc",
    "lang/spirv/reader/usage.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_ast_transform_base_src",
    ":libtint_ast_transform_src",
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
    "${tint_spirv_tools_dir}/:spvtools_opt",
  ]

  public_configs = [ "${tint_spirv_tools_dir}/:spvtools_internal_config" ]
}

libtint_source_set("libtint_writer_src") {
  sources = [
    "lang/wgsl/helpers/append_vector.cc",
    "lang/wgsl/helpers/append_vector.h",
    "lang/wgsl/helpers/check_supported_extensions.cc",
    "lang/wgsl/helpers/check_supported_extensions.h",
    "lang/wgsl/helpers/flatten_bindings.cc",
    "lang/wgsl/helpers/flatten_bindings.h",
    "utils/text/float_to_string.cc",
    "utils/text/float_to_string.h",
    "utils/text/text_generator.cc",
    "utils/text/text_generator.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_ast_transform_base_src",
    ":libtint_ast_transform_src",
    ":libtint_builtins_src",
    ":libtint_inspector_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_spv_writer_src") {
  sources = [
    "lang/spirv/writer/ast_printer/ast_printer.cc",
    "lang/spirv/writer/ast_printer/ast_printer.h",
    "lang/spirv/writer/ast_printer/builder.cc",
    "lang/spirv/writer/ast_printer/builder.h",
    "lang/spirv/writer/ast_printer/scalar_constant.h",
    "lang/spirv/writer/binary_writer.cc",
    "lang/spirv/writer/binary_writer.h",
    "lang/spirv/writer/function.cc",
    "lang/spirv/writer/function.h",
    "lang/spirv/writer/instruction.cc",
    "lang/spirv/writer/instruction.h",
    "lang/spirv/writer/module.cc",
    "lang/spirv/writer/module.h",
    "lang/spirv/writer/operand.cc",
    "lang/spirv/writer/operand.h",
    "lang/spirv/writer/writer.cc",
    "lang/spirv/writer/writer.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_ast_transform_base_src",
    ":libtint_ast_transform_src",
    ":libtint_builtins_src",
    ":libtint_constant_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
    ":libtint_writer_src",
  ]

  if (tint_build_ir) {
    sources += [
      "lang/spirv/writer/printer/printer.cc",
      "lang/spirv/writer/printer/printer.h",
    ]
    deps += [
      ":libtint_ir_builder_src",
      ":libtint_ir_src",
      ":libtint_ir_transform_src",
    ]
  }
}

libtint_source_set("libtint_wgsl_reader_src") {
  sources = [
    "lang/wgsl/reader/classify_template_args.cc",
    "lang/wgsl/reader/classify_template_args.h",
    "lang/wgsl/reader/lexer.cc",
    "lang/wgsl/reader/lexer.h",
    "lang/wgsl/reader/parser.cc",
    "lang/wgsl/reader/parser.h",
    "lang/wgsl/reader/parser_impl.cc",
    "lang/wgsl/reader/parser_impl.h",
    "lang/wgsl/reader/parser_impl_detail.h",
    "lang/wgsl/reader/token.cc",
    "lang/wgsl/reader/token.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_wgsl_writer_src") {
  sources = [
    "lang/wgsl/writer/ast_printer/ast_printer.cc",
    "lang/wgsl/writer/ast_printer/ast_printer.h",
    "lang/wgsl/writer/options.cc",
    "lang/wgsl/writer/options.h",
    "lang/wgsl/writer/result.cc",
    "lang/wgsl/writer/result.h",
    "lang/wgsl/writer/writer.cc",
    "lang/wgsl/writer/writer.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_syntax_tree_writer_src",
    ":libtint_type_src",
    ":libtint_utils_src",
    ":libtint_writer_src",
  ]
}

libtint_source_set("libtint_msl_writer_src") {
  sources = [
    "lang/msl/writer/ast_printer/ast_printer.cc",
    "lang/msl/writer/ast_printer/ast_printer.h",
    "lang/msl/writer/options.cc",
    "lang/msl/writer/options.h",
    "lang/msl/writer/printer_support.cc",
    "lang/msl/writer/printer_support.h",
    "lang/msl/writer/result.cc",
    "lang/msl/writer/result.h",
    "lang/msl/writer/writer.cc",
    "lang/msl/writer/writer.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_ast_transform_base_src",
    ":libtint_ast_transform_src",
    ":libtint_builtins_src",
    ":libtint_constant_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
    ":libtint_writer_src",
  ]

  if (tint_build_ir) {
    sources += [
      "lang/msl/writer/printer/printer.cc",
      "lang/msl/writer/printer/printer.h",
    ]
    deps += [
      ":libtint_ir_builder_src",
      ":libtint_ir_src",
      ":libtint_ir_transform_src",
    ]
  }
}

libtint_source_set("libtint_hlsl_writer_src") {
  sources = [
    "lang/hlsl/writer/ast_printer/ast_printer.cc",
    "lang/hlsl/writer/ast_printer/ast_printer.h",
    "lang/hlsl/writer/options.cc",
    "lang/hlsl/writer/options.h",
    "lang/hlsl/writer/result.cc",
    "lang/hlsl/writer/result.h",
    "lang/hlsl/writer/writer.cc",
    "lang/hlsl/writer/writer.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_ast_transform_base_src",
    ":libtint_ast_transform_src",
    ":libtint_builtins_src",
    ":libtint_constant_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
    ":libtint_writer_src",
  ]
}

libtint_source_set("libtint_glsl_writer_src") {
  sources = [
    "lang/glsl/writer/ast_printer/ast_printer.cc",
    "lang/glsl/writer/ast_printer/ast_printer.h",
    "lang/glsl/writer/options.cc",
    "lang/glsl/writer/options.h",
    "lang/glsl/writer/result.cc",
    "lang/glsl/writer/result.h",
    "lang/glsl/writer/version.h",
    "lang/glsl/writer/writer.cc",
    "lang/glsl/writer/writer.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_ast_transform_base_src",
    ":libtint_ast_transform_src",
    ":libtint_builtins_src",
    ":libtint_constant_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
    ":libtint_writer_src",
  ]
}

libtint_source_set("libtint_syntax_tree_writer_src") {
  sources = [
    "lang/wgsl/writer/syntax_tree_printer/syntax_tree_printer.cc",
    "lang/wgsl/writer/syntax_tree_printer/syntax_tree_printer.h",
  ]

  deps = [
    ":libtint_ast_src",
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_type_src",
    ":libtint_utils_src",
    ":libtint_writer_src",
  ]
}

if (tint_build_ir) {
  libtint_source_set("libtint_ir_builder_src") {
    sources = [
      "lang/core/ir/from_program.cc",
      "lang/core/ir/from_program.h",
      "lang/core/ir/to_program.cc",
      "lang/core/ir/to_program.h",
    ]
    deps = [
      ":libtint_ast_src",
      ":libtint_builtins_src",
      ":libtint_constant_src",
      ":libtint_ir_src",
      ":libtint_ir_transform_src",
      ":libtint_program_src",
      ":libtint_sem_src",
      ":libtint_symbols_src",
      ":libtint_type_src",
      ":libtint_utils_src",
    ]
  }

  libtint_source_set("libtint_ir_src") {
    sources = [
      "lang/core/ir/access.cc",
      "lang/core/ir/access.h",
      "lang/core/ir/binary.cc",
      "lang/core/ir/binary.h",
      "lang/core/ir/binding_point.h",
      "lang/core/ir/bitcast.cc",
      "lang/core/ir/bitcast.h",
      "lang/core/ir/block.cc",
      "lang/core/ir/block.h",
      "lang/core/ir/block_param.cc",
      "lang/core/ir/block_param.h",
      "lang/core/ir/break_if.cc",
      "lang/core/ir/break_if.h",
      "lang/core/ir/builder.cc",
      "lang/core/ir/builder.h",
      "lang/core/ir/builtin_call.cc",
      "lang/core/ir/builtin_call.h",
      "lang/core/ir/call.cc",
      "lang/core/ir/call.h",
      "lang/core/ir/constant.cc",
      "lang/core/ir/constant.h",
      "lang/core/ir/construct.cc",
      "lang/core/ir/construct.h",
      "lang/core/ir/continue.cc",
      "lang/core/ir/continue.h",
      "lang/core/ir/control_instruction.cc",
      "lang/core/ir/control_instruction.h",
      "lang/core/ir/convert.cc",
      "lang/core/ir/convert.h",
      "lang/core/ir/core_builtin_call.cc",
      "lang/core/ir/core_builtin_call.h",
      "lang/core/ir/disassembler.cc",
      "lang/core/ir/disassembler.h",
      "lang/core/ir/discard.cc",
      "lang/core/ir/discard.h",
      "lang/core/ir/exit.cc",
      "lang/core/ir/exit.h",
      "lang/core/ir/exit_if.cc",
      "lang/core/ir/exit_if.h",
      "lang/core/ir/exit_loop.cc",
      "lang/core/ir/exit_loop.h",
      "lang/core/ir/exit_switch.cc",
      "lang/core/ir/exit_switch.h",
      "lang/core/ir/function.cc",
      "lang/core/ir/function.h",
      "lang/core/ir/function_param.cc",
      "lang/core/ir/function_param.h",
      "lang/core/ir/if.cc",
      "lang/core/ir/if.h",
      "lang/core/ir/instruction.cc",
      "lang/core/ir/instruction.h",
      "lang/core/ir/instruction_result.cc",
      "lang/core/ir/instruction_result.h",
      "lang/core/ir/intrinsic_call.cc",
      "lang/core/ir/intrinsic_call.h",
      "lang/core/ir/let.cc",
      "lang/core/ir/let.h",
      "lang/core/ir/load.cc",
      "lang/core/ir/load.h",
      "lang/core/ir/load_vector_element.cc",
      "lang/core/ir/load_vector_element.h",
      "lang/core/ir/location.h",
      "lang/core/ir/loop.cc",
      "lang/core/ir/loop.h",
      "lang/core/ir/module.cc",
      "lang/core/ir/module.h",
      "lang/core/ir/multi_in_block.cc",
      "lang/core/ir/multi_in_block.h",
      "lang/core/ir/next_iteration.cc",
      "lang/core/ir/next_iteration.h",
      "lang/core/ir/operand_instruction.cc",
      "lang/core/ir/operand_instruction.h",
      "lang/core/ir/return.cc",
      "lang/core/ir/return.h",
      "lang/core/ir/store.cc",
      "lang/core/ir/store.h",
      "lang/core/ir/store_vector_element.cc",
      "lang/core/ir/store_vector_element.h",
      "lang/core/ir/switch.cc",
      "lang/core/ir/switch.h",
      "lang/core/ir/swizzle.cc",
      "lang/core/ir/swizzle.h",
      "lang/core/ir/terminate_invocation.cc",
      "lang/core/ir/terminate_invocation.h",
      "lang/core/ir/terminator.cc",
      "lang/core/ir/terminator.h",
      "lang/core/ir/transform/transform.cc",
      "lang/core/ir/transform/transform.h",
      "lang/core/ir/unary.cc",
      "lang/core/ir/unary.h",
      "lang/core/ir/unreachable.cc",
      "lang/core/ir/unreachable.h",
      "lang/core/ir/user_call.cc",
      "lang/core/ir/user_call.h",
      "lang/core/ir/validator.cc",
      "lang/core/ir/validator.h",
      "lang/core/ir/value.cc",
      "lang/core/ir/value.h",
      "lang/core/ir/var.cc",
      "lang/core/ir/var.h",
    ]

    deps = [
      ":libtint_builtins_src",
      ":libtint_constant_src",
      ":libtint_symbols_src",
      ":libtint_type_src",
      ":libtint_utils_src",
    ]
  }
}

source_set("libtint") {
  public_deps = [
    ":libtint_ast_src",
    ":libtint_ast_transform_base_src",
    ":libtint_ast_transform_src",
    ":libtint_constant_src",
    ":libtint_initializer_src",
    ":libtint_inspector_src",
    ":libtint_program_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
    ":libtint_writer_src",
  ]

  if (tint_build_spv_reader) {
    public_deps += [ ":libtint_spv_reader_src" ]
  }

  if (tint_build_spv_writer) {
    public_deps += [ ":libtint_spv_writer_src" ]
  }

  if (tint_build_wgsl_reader) {
    public_deps += [ ":libtint_wgsl_reader_src" ]
  }

  if (tint_build_wgsl_writer) {
    public_deps += [ ":libtint_wgsl_writer_src" ]
  }

  if (tint_build_msl_writer) {
    public_deps += [ ":libtint_msl_writer_src" ]
  }

  if (tint_build_hlsl_writer) {
    public_deps += [ ":libtint_hlsl_writer_src" ]
  }

  if (tint_build_glsl_writer) {
    public_deps += [ ":libtint_glsl_writer_src" ]
  }

  if (tint_build_syntax_tree_writer) {
    public_deps += [ ":libtint_syntax_tree_writer_src" ]
  }

  if (tint_build_ir) {
    assert(!build_with_chromium,
           "tint_build_ir cannot be used when building Chromium")
    public_deps += [
      ":libtint_ir_builder_src",
      ":libtint_ir_src",
    ]
  }

  configs += [ ":tint_common_config" ]
  public_configs = [ ":tint_public_config" ]

  if (build_with_chromium) {
    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [ "//build/config/compiler:no_chromium_code" ]
  }
}

if (tint_build_unittests) {
  ###############################################################################
  # Gtest Gmock - Handle building inside and outside of Chromium.
  ###############################################################################
  # When building outside of Chromium we need to define our own targets for GTest
  # and GMock. However when compiling inside of Chromium we need to reuse the
  # existing targets, both because Chromium has a special harness for swarming
  # and because otherwise the "gn check" fails.

  if (!build_with_chromium) {
    # When we aren't in Chromium we define out own targets based on the location
    # of the googletest repo.
    config("gtest_config") {
      include_dirs = [
        "${tint_googletest_dir}/googletest",
        "${tint_googletest_dir}/googletest/include",
      ]
    }
    static_library("gtest") {
      testonly = true
      sources = [ "${tint_googletest_dir}/googletest/src/gtest-all.cc" ]
      public_configs = [ ":gtest_config" ]
    }

    config("gmock_config") {
      include_dirs = [
        "${tint_googletest_dir}/googlemock",
        "${tint_googletest_dir}/googlemock/include",
        "${tint_googletest_dir}/googletest/include",
      ]
    }

    static_library("gmock") {
      testonly = true
      sources = [ "${tint_googletest_dir}/googlemock/src/gmock-all.cc" ]
      public_configs = [ ":gmock_config" ]
    }

    group("gmock_and_gtest") {
      testonly = true
      public_deps = [
        ":gmock",
        ":gtest",
      ]
    }
  } else {
    # When we are in Chromium we reuse its targets, and also add some deps that
    # are needed to launch the test in swarming mode.
    group("gmock_and_gtest") {
      testonly = true
      public_deps = [
        "//base",
        "//base/test:test_support",
        "//testing/gmock",
        "//testing/gtest",
        "//third_party/googletest:gmock",
      ]
    }
  }

  ###############################################################################
  # Wrapping of Chromium targets
  ###############################################################################
  # These targets are separated because they are Chromium sources files that
  # can't use the tint_internal config, otherwise Tint's warning flags get
  # applied while compiling a bunch of Chromium's //base (via header inclusion)
  source_set("tint_unittests_main") {
    testonly = true
    deps = [ ":gmock_and_gtest" ]
    if (build_with_chromium) {
      sources = [ "//gpu/tint_unittests_main.cc" ]
    } else {
      sources = [ "test_main.cc" ]
      configs += [ ":tint_unittests_config" ]
      deps += [ ":libtint" ]

      if (tint_build_hlsl_writer) {
        deps += [ ":tint_unittests_hlsl_writer_src" ]
      }

      if (tint_build_msl_writer) {
        deps += [ ":tint_unittests_msl_writer_src" ]
      }

      if (tint_build_spv_reader) {
        deps += [ ":tint_unittests_spv_reader_src" ]
      }
    }
  }

  ###############################################################################
  # Tests - For libtint core and optional modules
  ###############################################################################
  config("tint_unittests_config") {
    include_dirs = [
      "${tint_googletest_dir}/googlemock/include",
      "${tint_googletest_dir}/googletest/include",
    ]

    configs = [
      ":tint_common_config",
      ":tint_public_config",
    ]
  }

  template("tint_unittests_source_set") {
    source_set(target_name) {
      forward_variables_from(invoker, "*", [ "configs" ])

      if (defined(invoker.configs)) {
        configs += invoker.configs
      }
      configs += [ ":tint_unittests_config" ]
      if (build_with_chromium) {
        configs -= [ "//build/config/compiler:chromium_code" ]
        configs += [ "//build/config/compiler:no_chromium_code" ]
      }

      testonly = true

      if (!defined(invoker.deps)) {
        deps = []
      }
      deps += [
        ":gmock_and_gtest",
        ":libtint",
        ":tint_utils_io",
      ]
    }
  }

  tint_unittests_source_set("libtint_unittests_ast_helper") {
    sources = [
      "lang/wgsl/ast/test_helper.h",
      "lang/wgsl/ast/test_helper_test.cc",
    ]
    deps = [ ":libtint_ast_src" ]
  }

  tint_unittests_source_set("tint_unittests_ast_src") {
    sources = [
      "lang/wgsl/ast/alias_test.cc",
      "lang/wgsl/ast/assignment_statement_test.cc",
      "lang/wgsl/ast/binary_expression_test.cc",
      "lang/wgsl/ast/binding_attribute_test.cc",
      "lang/wgsl/ast/bitcast_expression_test.cc",
      "lang/wgsl/ast/block_statement_test.cc",
      "lang/wgsl/ast/bool_literal_expression_test.cc",
      "lang/wgsl/ast/break_if_statement_test.cc",
      "lang/wgsl/ast/break_statement_test.cc",
      "lang/wgsl/ast/builtin_attribute_test.cc",
      "lang/wgsl/ast/builtin_texture_helper_test.cc",
      "lang/wgsl/ast/builtin_texture_helper_test.h",
      "lang/wgsl/ast/call_expression_test.cc",
      "lang/wgsl/ast/call_statement_test.cc",
      "lang/wgsl/ast/case_selector_test.cc",
      "lang/wgsl/ast/case_statement_test.cc",
      "lang/wgsl/ast/compound_assignment_statement_test.cc",
      "lang/wgsl/ast/const_assert_test.cc",
      "lang/wgsl/ast/continue_statement_test.cc",
      "lang/wgsl/ast/diagnostic_attribute_test.cc",
      "lang/wgsl/ast/diagnostic_control_test.cc",
      "lang/wgsl/ast/diagnostic_directive_test.cc",
      "lang/wgsl/ast/diagnostic_rule_name_test.cc",
      "lang/wgsl/ast/discard_statement_test.cc",
      "lang/wgsl/ast/enable_test.cc",
      "lang/wgsl/ast/float_literal_expression_test.cc",
      "lang/wgsl/ast/for_loop_statement_test.cc",
      "lang/wgsl/ast/function_test.cc",
      "lang/wgsl/ast/group_attribute_test.cc",
      "lang/wgsl/ast/id_attribute_test.cc",
      "lang/wgsl/ast/identifier_expression_test.cc",
      "lang/wgsl/ast/identifier_test.cc",
      "lang/wgsl/ast/if_statement_test.cc",
      "lang/wgsl/ast/increment_decrement_statement_test.cc",
      "lang/wgsl/ast/index_accessor_expression_test.cc",
      "lang/wgsl/ast/index_attribute_test.cc",
      "lang/wgsl/ast/int_literal_expression_test.cc",
      "lang/wgsl/ast/interpolate_attribute_test.cc",
      "lang/wgsl/ast/location_attribute_test.cc",
      "lang/wgsl/ast/loop_statement_test.cc",
      "lang/wgsl/ast/member_accessor_expression_test.cc",
      "lang/wgsl/ast/module_test.cc",
      "lang/wgsl/ast/phony_expression_test.cc",
      "lang/wgsl/ast/return_statement_test.cc",
      "lang/wgsl/ast/stage_attribute_test.cc",
      "lang/wgsl/ast/stride_attribute_test.cc",
      "lang/wgsl/ast/struct_member_align_attribute_test.cc",
      "lang/wgsl/ast/struct_member_offset_attribute_test.cc",
      "lang/wgsl/ast/struct_member_size_attribute_test.cc",
      "lang/wgsl/ast/struct_member_test.cc",
      "lang/wgsl/ast/struct_test.cc",
      "lang/wgsl/ast/switch_statement_test.cc",
      "lang/wgsl/ast/templated_identifier_test.cc",
      "lang/wgsl/ast/traverse_expressions_test.cc",
      "lang/wgsl/ast/unary_op_expression_test.cc",
      "lang/wgsl/ast/variable_decl_statement_test.cc",
      "lang/wgsl/ast/variable_test.cc",
      "lang/wgsl/ast/while_statement_test.cc",
      "lang/wgsl/ast/workgroup_attribute_test.cc",
    ]
    deps = [
      ":libtint_ast_src",
      ":libtint_ast_transform_base_src",
      ":libtint_ast_transform_src",
      ":libtint_builtins_src",
      ":libtint_unittests_ast_helper",
      ":libtint_utils_src",
    ]

    if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
      # This AST test relies on the WGSL reader and writer
      sources += [ "lang/wgsl/ast/module_clone_test.cc" ]
    }
  }

  tint_unittests_source_set("tint_unittests_builtins_src") {
    sources = [
      "lang/core/builtin/access_test.cc",
      "lang/core/builtin/address_space_test.cc",
      "lang/core/builtin/attribute_test.cc",
      "lang/core/builtin/builtin_test.cc",
      "lang/core/builtin/builtin_value_test.cc",
      "lang/core/builtin/diagnostic_rule_test.cc",
      "lang/core/builtin/diagnostic_severity_test.cc",
      "lang/core/builtin/extension_test.cc",
      "lang/core/builtin/interpolation_sampling_test.cc",
      "lang/core/builtin/interpolation_type_test.cc",
      "lang/core/builtin/number_test.cc",
      "lang/core/builtin/texel_format_test.cc",
    ]
    deps = [ ":libtint_builtins_src" ]
  }

  tint_unittests_source_set("tint_unittests_diagnostic_src") {
    sources = [
      "utils/diagnostic/diagnostic_test.cc",
      "utils/diagnostic/formatter_test.cc",
      "utils/diagnostic/printer_test.cc",
    ]
  }

  tint_unittests_source_set("tint_unittests_inspector_src") {
    sources = [
      "lang/wgsl/inspector/inspector_test.cc",
      "lang/wgsl/inspector/test_inspector_builder.cc",
      "lang/wgsl/inspector/test_inspector_builder.h",
      "lang/wgsl/inspector/test_inspector_runner.cc",
      "lang/wgsl/inspector/test_inspector_runner.h",
    ]
    deps = [ ":libtint_inspector_src" ]
  }

  tint_unittests_source_set("tint_unittests_resolver_src") {
    sources = [
      "lang/wgsl/resolver/address_space_layout_validation_test.cc",
      "lang/wgsl/resolver/address_space_validation_test.cc",
      "lang/wgsl/resolver/alias_analysis_test.cc",
      "lang/wgsl/resolver/array_accessor_test.cc",
      "lang/wgsl/resolver/assignment_validation_test.cc",
      "lang/wgsl/resolver/atomics_test.cc",
      "lang/wgsl/resolver/atomics_validation_test.cc",
      "lang/wgsl/resolver/attribute_validation_test.cc",
      "lang/wgsl/resolver/bitcast_validation_test.cc",
      "lang/wgsl/resolver/builtin_enum_test.cc",
      "lang/wgsl/resolver/builtin_structs_test.cc",
      "lang/wgsl/resolver/builtin_test.cc",
      "lang/wgsl/resolver/builtin_validation_test.cc",
      "lang/wgsl/resolver/builtins_validation_test.cc",
      "lang/wgsl/resolver/call_test.cc",
      "lang/wgsl/resolver/call_validation_test.cc",
      "lang/wgsl/resolver/compound_assignment_validation_test.cc",
      "lang/wgsl/resolver/compound_statement_test.cc",
      "lang/wgsl/resolver/const_assert_test.cc",
      "lang/wgsl/resolver/const_eval_binary_op_test.cc",
      "lang/wgsl/resolver/const_eval_bitcast_test.cc",
      "lang/wgsl/resolver/const_eval_builtin_test.cc",
      "lang/wgsl/resolver/const_eval_construction_test.cc",
      "lang/wgsl/resolver/const_eval_conversion_test.cc",
      "lang/wgsl/resolver/const_eval_indexing_test.cc",
      "lang/wgsl/resolver/const_eval_member_access_test.cc",
      "lang/wgsl/resolver/const_eval_runtime_semantics_test.cc",
      "lang/wgsl/resolver/const_eval_test.h",
      "lang/wgsl/resolver/const_eval_unary_op_test.cc",
      "lang/wgsl/resolver/control_block_validation_test.cc",
      "lang/wgsl/resolver/dependency_graph_test.cc",
      "lang/wgsl/resolver/diagnostic_control_test.cc",
      "lang/wgsl/resolver/dual_source_blending_extension_test.cc",
      "lang/wgsl/resolver/entry_point_validation_test.cc",
      "lang/wgsl/resolver/evaluation_stage_test.cc",
      "lang/wgsl/resolver/expression_kind_test.cc",
      "lang/wgsl/resolver/f16_extension_test.cc",
      "lang/wgsl/resolver/function_validation_test.cc",
      "lang/wgsl/resolver/host_shareable_validation_test.cc",
      "lang/wgsl/resolver/increment_decrement_validation_test.cc",
      "lang/wgsl/resolver/inferred_type_test.cc",
      "lang/wgsl/resolver/intrinsic_table_test.cc",
      "lang/wgsl/resolver/is_host_shareable_test.cc",
      "lang/wgsl/resolver/is_storeable_test.cc",
      "lang/wgsl/resolver/load_test.cc",
      "lang/wgsl/resolver/materialize_test.cc",
      "lang/wgsl/resolver/override_test.cc",
      "lang/wgsl/resolver/ptr_ref_test.cc",
      "lang/wgsl/resolver/ptr_ref_validation_test.cc",
      "lang/wgsl/resolver/resolver_behavior_test.cc",
      "lang/wgsl/resolver/resolver_test.cc",
      "lang/wgsl/resolver/resolver_test_helper.cc",
      "lang/wgsl/resolver/resolver_test_helper.h",
      "lang/wgsl/resolver/root_identifier_test.cc",
      "lang/wgsl/resolver/side_effects_test.cc",
      "lang/wgsl/resolver/struct_address_space_use_test.cc",
      "lang/wgsl/resolver/struct_layout_test.cc",
      "lang/wgsl/resolver/struct_pipeline_stage_use_test.cc",
      "lang/wgsl/resolver/type_validation_test.cc",
      "lang/wgsl/resolver/uniformity_test.cc",
      "lang/wgsl/resolver/unresolved_identifier_test.cc",
      "lang/wgsl/resolver/validation_test.cc",
      "lang/wgsl/resolver/validator_is_storeable_test.cc",
      "lang/wgsl/resolver/value_constructor_validation_test.cc",
      "lang/wgsl/resolver/variable_test.cc",
      "lang/wgsl/resolver/variable_validation_test.cc",
    ]
    deps = [
      ":libtint_builtins_src",
      ":libtint_utils_src",
      ":tint_unittests_ast_src",
    ]
  }

  tint_unittests_source_set("tint_unittests_sem_src") {
    sources = [
      "lang/wgsl/sem/builtin_test.cc",
      "lang/wgsl/sem/diagnostic_severity_test.cc",
      "lang/wgsl/sem/struct_test.cc",
      "lang/wgsl/sem/value_expression_test.cc",
    ]
  }

  tint_unittests_source_set("tint_unittests_constant_src") {
    sources = [
      "lang/core/constant/composite_test.cc",
      "lang/core/constant/manager_test.cc",
      "lang/core/constant/scalar_test.cc",
      "lang/core/constant/splat_test.cc",
      "lang/core/constant/value_test.cc",
    ]
  }

  tint_unittests_source_set("tint_unittests_type_src") {
    sources = [
      "lang/core/type/atomic_test.cc",
      "lang/core/type/bool_test.cc",
      "lang/core/type/builtin_structs_test.cc",
      "lang/core/type/depth_multisampled_texture_test.cc",
      "lang/core/type/depth_texture_test.cc",
      "lang/core/type/external_texture_test.cc",
      "lang/core/type/f16_test.cc",
      "lang/core/type/f32_test.cc",
      "lang/core/type/i32_test.cc",
      "lang/core/type/manager_test.cc",
      "lang/core/type/matrix_test.cc",
      "lang/core/type/multisampled_texture_test.cc",
      "lang/core/type/pointer_test.cc",
      "lang/core/type/reference_test.cc",
      "lang/core/type/sampled_texture_test.cc",
      "lang/core/type/sampler_test.cc",
      "lang/core/type/storage_texture_test.cc",
      "lang/core/type/struct_test.cc",
      "lang/core/type/texture_test.cc",
      "lang/core/type/type_test.cc",
      "lang/core/type/u32_test.cc",
      "lang/core/type/vector_test.cc",
    ]
    deps = [ ":libtint_builtins_src" ]
  }

  tint_unittests_source_set("tint_unittests_ast_transform_src") {
    sources = [
      "lang/wgsl/ast/transform/add_block_attribute_test.cc",
      "lang/wgsl/ast/transform/add_empty_entry_point_test.cc",
      "lang/wgsl/ast/transform/array_length_from_uniform_test.cc",
      "lang/wgsl/ast/transform/binding_remapper_test.cc",
      "lang/wgsl/ast/transform/builtin_polyfill_test.cc",
      "lang/wgsl/ast/transform/calculate_array_length_test.cc",
      "lang/wgsl/ast/transform/canonicalize_entry_point_io_test.cc",
      "lang/wgsl/ast/transform/clamp_frag_depth_test.cc",
      "lang/wgsl/ast/transform/combine_samplers_test.cc",
      "lang/wgsl/ast/transform/decompose_memory_access_test.cc",
      "lang/wgsl/ast/transform/decompose_strided_array_test.cc",
      "lang/wgsl/ast/transform/decompose_strided_matrix_test.cc",
      "lang/wgsl/ast/transform/demote_to_helper_test.cc",
      "lang/wgsl/ast/transform/direct_variable_access_test.cc",
      "lang/wgsl/ast/transform/disable_uniformity_analysis_test.cc",
      "lang/wgsl/ast/transform/expand_compound_assignment_test.cc",
      "lang/wgsl/ast/transform/first_index_offset_test.cc",
      "lang/wgsl/ast/transform/fold_trivial_lets_test.cc",
      "lang/wgsl/ast/transform/for_loop_to_loop_test.cc",
      "lang/wgsl/ast/transform/localize_struct_array_assignment_test.cc",
      "lang/wgsl/ast/transform/manager_test.cc",
      "lang/wgsl/ast/transform/merge_return_test.cc",
      "lang/wgsl/ast/transform/module_scope_var_to_entry_point_param_test.cc",
      "lang/wgsl/ast/transform/multiplanar_external_texture_test.cc",
      "lang/wgsl/ast/transform/num_workgroups_from_uniform_test.cc",
      "lang/wgsl/ast/transform/packed_vec3_test.cc",
      "lang/wgsl/ast/transform/pad_structs_test.cc",
      "lang/wgsl/ast/transform/preserve_padding_test.cc",
      "lang/wgsl/ast/transform/promote_initializers_to_let_test.cc",
      "lang/wgsl/ast/transform/promote_side_effects_to_decl_test.cc",
      "lang/wgsl/ast/transform/remove_continue_in_switch_test.cc",
      "lang/wgsl/ast/transform/remove_phonies_test.cc",
      "lang/wgsl/ast/transform/remove_unreachable_statements_test.cc",
      "lang/wgsl/ast/transform/renamer_test.cc",
      "lang/wgsl/ast/transform/robustness_test.cc",
      "lang/wgsl/ast/transform/simplify_pointers_test.cc",
      "lang/wgsl/ast/transform/single_entry_point_test.cc",
      "lang/wgsl/ast/transform/spirv_atomic_test.cc",
      "lang/wgsl/ast/transform/std140_exhaustive_test.cc",
      "lang/wgsl/ast/transform/std140_f16_test.cc",
      "lang/wgsl/ast/transform/std140_f32_test.cc",
      "lang/wgsl/ast/transform/std140_test.cc",
      "lang/wgsl/ast/transform/substitute_override_test.cc",
      "lang/wgsl/ast/transform/test_helper.h",
      "lang/wgsl/ast/transform/texture_1d_to_2d_test.cc",
      "lang/wgsl/ast/transform/transform_test.cc",
      "lang/wgsl/ast/transform/truncate_interstage_variables_test.cc",
      "lang/wgsl/ast/transform/unshadow_test.cc",
      "lang/wgsl/ast/transform/utils/get_insertion_point_test.cc",
      "lang/wgsl/ast/transform/utils/hoist_to_decl_before_test.cc",
      "lang/wgsl/ast/transform/var_for_dynamic_index_test.cc",
      "lang/wgsl/ast/transform/vectorize_matrix_conversions_test.cc",
      "lang/wgsl/ast/transform/vectorize_scalar_matrix_initializers_test.cc",
      "lang/wgsl/ast/transform/vertex_pulling_test.cc",
      "lang/wgsl/ast/transform/while_to_loop_test.cc",
      "lang/wgsl/ast/transform/zero_init_workgroup_memory_test.cc",
    ]

    deps = [
      ":libtint_ast_transform_base_src",
      ":libtint_ast_transform_src",
      ":libtint_builtins_src",
      ":libtint_unittests_ast_helper",
      ":libtint_utils_src",
      ":libtint_wgsl_reader_src",
      ":libtint_wgsl_writer_src",
    ]
  }

  if (tint_build_ir) {
    tint_unittests_source_set("tint_unittests_ir_transform_src") {
      sources = [
        "lang/core/ir/transform/add_empty_entry_point_test.cc",
        "lang/core/ir/transform/block_decorated_structs_test.cc",
        "lang/core/ir/transform/demote_to_helper_test.cc",
        "lang/core/ir/transform/test_helper.h",
      ]

      deps = [
        ":libtint_ir_src",
        ":libtint_ir_transform_src",
      ]

      if (tint_build_spv_writer) {
        sources += [
          "lang/core/ir/transform/builtin_polyfill_spirv_test.cc",
          "lang/core/ir/transform/expand_implicit_splats_test.cc",
          "lang/core/ir/transform/handle_matrix_arithmetic_test.cc",
          "lang/core/ir/transform/merge_return_test.cc",
          "lang/core/ir/transform/shader_io_spirv_test.cc",
          "lang/core/ir/transform/var_for_dynamic_index_test.cc",
        ]
      }

      if (tint_build_wgsl_writer) {
        sources += [ "lang/core/ir/transform/rename_conflicts_wgsl_test.cc" ]
      }
    }
  }

  tint_unittests_source_set("tint_unittests_utils_src") {
    sources = [
      "utils/cli/cli_test.cc",
      "utils/command/command_test.cc",
      "utils/containers/bitset_test.cc",
      "utils/containers/enum_set_test.cc",
      "utils/containers/hashmap_test.cc",
      "utils/containers/hashset_test.cc",
      "utils/containers/map_test.cc",
      "utils/containers/predicates_test.cc",
      "utils/containers/reverse_test.cc",
      "utils/containers/slice_test.cc",
      "utils/containers/transform_test.cc",
      "utils/containers/unique_allocator_test.cc",
      "utils/containers/unique_vector_test.cc",
      "utils/containers/vector_test.cc",
      "utils/debug/debug_test.cc",
      "utils/diagnostic/source_test.cc",
      "utils/file/tmpfile_test.cc",
      "utils/macros/defer_test.cc",
      "utils/macros/scoped_assignment_test.cc",
      "utils/math/crc32_test.cc",
      "utils/math/hash_test.cc",
      "utils/math/math_test.cc",
      "utils/memory/bitcast_test.cc",
      "utils/memory/block_allocator_test.cc",
      "utils/memory/bump_allocator_test.cc",
      "utils/result/result_test.cc",
      "utils/rtti/castable_test.cc",
      "utils/rtti/switch_test.cc",
      "utils/text/string_stream_test.cc",
      "utils/text/string_test.cc",
      "utils/text/unicode_test.cc",
      "utils/traits/traits_test.cc",
    ]
    deps = [ ":libtint_utils_src" ]
  }

  tint_unittests_source_set("tint_unittests_writer_src") {
    sources = [
      "lang/wgsl/helpers/append_vector_test.cc",
      "lang/wgsl/helpers/check_supported_extensions_test.cc",
      "lang/wgsl/helpers/flatten_bindings_test.cc",
      "utils/text/float_to_string_test.cc",
    ]
    deps = [
      ":libtint_unittests_ast_helper",
      ":libtint_utils_src",
      ":libtint_writer_src",
    ]
  }

  # Note, this includes the source files along with the test as otherwise the cmd helpers wouldn't
  # be included in the binary.
  tint_unittests_source_set("tint_unittests_cmd_src") {
    sources = [
      "cmd/generate_external_texture_bindings.cc",
      "cmd/generate_external_texture_bindings.h",
      "cmd/generate_external_texture_bindings_test.cc",
    ]
  }

  tint_unittests_source_set("tint_unittests_spv_reader_src") {
    sources = [
      "lang/spirv/reader/enum_converter_test.cc",
      "lang/spirv/reader/fail_stream_test.cc",
      "lang/spirv/reader/function_arithmetic_test.cc",
      "lang/spirv/reader/function_bit_test.cc",
      "lang/spirv/reader/function_call_test.cc",
      "lang/spirv/reader/function_cfg_test.cc",
      "lang/spirv/reader/function_composite_test.cc",
      "lang/spirv/reader/function_conversion_test.cc",
      "lang/spirv/reader/function_decl_test.cc",
      "lang/spirv/reader/function_glsl_std_450_test.cc",
      "lang/spirv/reader/function_logical_test.cc",
      "lang/spirv/reader/function_memory_test.cc",
      "lang/spirv/reader/function_misc_test.cc",
      "lang/spirv/reader/function_var_test.cc",
      "lang/spirv/reader/namer_test.cc",
      "lang/spirv/reader/parser_impl_barrier_test.cc",
      "lang/spirv/reader/parser_impl_constant_test.cc",
      "lang/spirv/reader/parser_impl_convert_member_decoration_test.cc",
      "lang/spirv/reader/parser_impl_convert_type_test.cc",
      "lang/spirv/reader/parser_impl_function_decl_test.cc",
      "lang/spirv/reader/parser_impl_get_decorations_test.cc",
      "lang/spirv/reader/parser_impl_handle_test.cc",
      "lang/spirv/reader/parser_impl_import_test.cc",
      "lang/spirv/reader/parser_impl_module_var_test.cc",
      "lang/spirv/reader/parser_impl_named_types_test.cc",
      "lang/spirv/reader/parser_impl_test.cc",
      "lang/spirv/reader/parser_impl_test_helper.cc",
      "lang/spirv/reader/parser_impl_test_helper.h",
      "lang/spirv/reader/parser_impl_user_name_test.cc",
      "lang/spirv/reader/parser_test.cc",
      "lang/spirv/reader/parser_type_test.cc",
      "lang/spirv/reader/spirv_tools_helpers_test.cc",
      "lang/spirv/reader/spirv_tools_helpers_test.h",
      "lang/spirv/reader/usage_test.cc",
    ]

    deps = [
      ":libtint_builtins_src",
      ":libtint_spv_reader_src",
      ":libtint_wgsl_writer_src",
      "${tint_spirv_tools_dir}/:spvtools_opt",
    ]
  }

  tint_unittests_source_set("tint_unittests_spv_writer_src") {
    sources = [
      "lang/spirv/writer/ast_printer/accessor_expression_test.cc",
      "lang/spirv/writer/ast_printer/assign_test.cc",
      "lang/spirv/writer/ast_printer/ast_builtin_test.cc",
      "lang/spirv/writer/ast_printer/ast_discard_test.cc",
      "lang/spirv/writer/ast_printer/ast_function_test.cc",
      "lang/spirv/writer/ast_printer/ast_if_test.cc",
      "lang/spirv/writer/ast_printer/ast_loop_test.cc",
      "lang/spirv/writer/ast_printer/ast_printer_test.cc",
      "lang/spirv/writer/ast_printer/ast_switch_test.cc",
      "lang/spirv/writer/ast_printer/ast_type_test.cc",
      "lang/spirv/writer/ast_printer/binary_expression_test.cc",
      "lang/spirv/writer/ast_printer/bitcast_expression_test.cc",
      "lang/spirv/writer/ast_printer/block_test.cc",
      "lang/spirv/writer/ast_printer/builtin_texture_test.cc",
      "lang/spirv/writer/ast_printer/call_test.cc",
      "lang/spirv/writer/ast_printer/const_assert_test.cc",
      "lang/spirv/writer/ast_printer/constructor_expression_test.cc",
      "lang/spirv/writer/ast_printer/entry_point_test.cc",
      "lang/spirv/writer/ast_printer/format_conversion_test.cc",
      "lang/spirv/writer/ast_printer/function_attribute_test.cc",
      "lang/spirv/writer/ast_printer/function_variable_test.cc",
      "lang/spirv/writer/ast_printer/global_variable_test.cc",
      "lang/spirv/writer/ast_printer/ident_expression_test.cc",
      "lang/spirv/writer/ast_printer/literal_test.cc",
      "lang/spirv/writer/ast_printer/return_test.cc",
      "lang/spirv/writer/ast_printer/scalar_constant_test.cc",
      "lang/spirv/writer/ast_printer/test_helper.h",
      "lang/spirv/writer/ast_printer/unary_op_expression_test.cc",
      "lang/spirv/writer/binary_writer_test.cc",
      "lang/spirv/writer/instruction_test.cc",
      "lang/spirv/writer/module_test.cc",
      "lang/spirv/writer/operand_test.cc",
      "lang/spirv/writer/spv_dump.cc",
      "lang/spirv/writer/spv_dump.h",
    ]

    deps = [
      ":libtint_builtins_src",
      ":libtint_spv_writer_src",
      ":libtint_utils_src",
      ":tint_unittests_ast_src",
      "${tint_spirv_tools_dir}/:spvtools",
    ]

    if (tint_build_ir) {
      sources += [
        "lang/spirv/writer/access_test.cc",
        "lang/spirv/writer/atomic_builtin_test.cc",
        "lang/spirv/writer/binary_test.cc",
        "lang/spirv/writer/bitcast_test.cc",
        "lang/spirv/writer/builtin_test.cc",
        "lang/spirv/writer/constant_test.cc",
        "lang/spirv/writer/construct_test.cc",
        "lang/spirv/writer/convert_test.cc",
        "lang/spirv/writer/discard_test.cc",
        "lang/spirv/writer/function_test.cc",
        "lang/spirv/writer/if_test.cc",
        "lang/spirv/writer/let_test.cc",
        "lang/spirv/writer/loop_test.cc",
        "lang/spirv/writer/switch_test.cc",
        "lang/spirv/writer/swizzle_test.cc",
        "lang/spirv/writer/test_helper.h",
        "lang/spirv/writer/texture_builtin_test.cc",
        "lang/spirv/writer/type_test.cc",
        "lang/spirv/writer/unary_test.cc",
        "lang/spirv/writer/var_test.cc",
        "lang/spirv/writer/writer_test.cc",
      ]
      deps += [ ":libtint_ir_src" ]
    }
  }

  tint_unittests_source_set("tint_unittests_wgsl_reader_src") {
    sources = [
      "lang/wgsl/reader/classify_template_args_test.cc",
      "lang/wgsl/reader/lexer_test.cc",
      "lang/wgsl/reader/parser_impl_additive_expression_test.cc",
      "lang/wgsl/reader/parser_impl_argument_expression_list_test.cc",
      "lang/wgsl/reader/parser_impl_assignment_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_bitwise_expression_test.cc",
      "lang/wgsl/reader/parser_impl_break_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_bug_cases_test.cc",
      "lang/wgsl/reader/parser_impl_call_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_compound_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_const_literal_test.cc",
      "lang/wgsl/reader/parser_impl_continue_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_continuing_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_core_lhs_expression_test.cc",
      "lang/wgsl/reader/parser_impl_diagnostic_attribute_test.cc",
      "lang/wgsl/reader/parser_impl_diagnostic_control_test.cc",
      "lang/wgsl/reader/parser_impl_diagnostic_directive_test.cc",
      "lang/wgsl/reader/parser_impl_enable_directive_test.cc",
      "lang/wgsl/reader/parser_impl_error_msg_test.cc",
      "lang/wgsl/reader/parser_impl_error_resync_test.cc",
      "lang/wgsl/reader/parser_impl_expression_test.cc",
      "lang/wgsl/reader/parser_impl_for_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_function_attribute_list_test.cc",
      "lang/wgsl/reader/parser_impl_function_attribute_test.cc",
      "lang/wgsl/reader/parser_impl_function_decl_test.cc",
      "lang/wgsl/reader/parser_impl_function_header_test.cc",
      "lang/wgsl/reader/parser_impl_global_constant_decl_test.cc",
      "lang/wgsl/reader/parser_impl_global_decl_test.cc",
      "lang/wgsl/reader/parser_impl_global_variable_decl_test.cc",
      "lang/wgsl/reader/parser_impl_if_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_increment_decrement_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_lhs_expression_test.cc",
      "lang/wgsl/reader/parser_impl_loop_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_math_expression_test.cc",
      "lang/wgsl/reader/parser_impl_multiplicative_expression_test.cc",
      "lang/wgsl/reader/parser_impl_param_list_test.cc",
      "lang/wgsl/reader/parser_impl_paren_expression_test.cc",
      "lang/wgsl/reader/parser_impl_primary_expression_test.cc",
      "lang/wgsl/reader/parser_impl_relational_expression_test.cc",
      "lang/wgsl/reader/parser_impl_require_directive_test.cc",
      "lang/wgsl/reader/parser_impl_reserved_keyword_test.cc",
      "lang/wgsl/reader/parser_impl_shift_expression_test.cc",
      "lang/wgsl/reader/parser_impl_singular_expression_test.cc",
      "lang/wgsl/reader/parser_impl_statement_test.cc",
      "lang/wgsl/reader/parser_impl_statements_test.cc",
      "lang/wgsl/reader/parser_impl_struct_attribute_decl_test.cc",
      "lang/wgsl/reader/parser_impl_struct_body_decl_test.cc",
      "lang/wgsl/reader/parser_impl_struct_decl_test.cc",
      "lang/wgsl/reader/parser_impl_struct_member_attribute_decl_test.cc",
      "lang/wgsl/reader/parser_impl_struct_member_attribute_test.cc",
      "lang/wgsl/reader/parser_impl_struct_member_test.cc",
      "lang/wgsl/reader/parser_impl_switch_body_test.cc",
      "lang/wgsl/reader/parser_impl_switch_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_test.cc",
      "lang/wgsl/reader/parser_impl_test_helper.cc",
      "lang/wgsl/reader/parser_impl_test_helper.h",
      "lang/wgsl/reader/parser_impl_type_alias_test.cc",
      "lang/wgsl/reader/parser_impl_type_decl_test.cc",
      "lang/wgsl/reader/parser_impl_unary_expression_test.cc",
      "lang/wgsl/reader/parser_impl_variable_attribute_list_test.cc",
      "lang/wgsl/reader/parser_impl_variable_attribute_test.cc",
      "lang/wgsl/reader/parser_impl_variable_decl_test.cc",
      "lang/wgsl/reader/parser_impl_variable_ident_decl_test.cc",
      "lang/wgsl/reader/parser_impl_variable_qualifier_test.cc",
      "lang/wgsl/reader/parser_impl_variable_stmt_test.cc",
      "lang/wgsl/reader/parser_impl_while_stmt_test.cc",
      "lang/wgsl/reader/parser_test.cc",
      "lang/wgsl/reader/token_test.cc",
    ]

    deps = [
      ":libtint_builtins_src",
      ":libtint_unittests_ast_helper",
      ":libtint_wgsl_reader_src",
    ]
  }

  tint_unittests_source_set("tint_unittests_wgsl_writer_src") {
    sources = [
      "lang/wgsl/writer/ast_printer/alias_type_test.cc",
      "lang/wgsl/writer/ast_printer/array_accessor_test.cc",
      "lang/wgsl/writer/ast_printer/assign_test.cc",
      "lang/wgsl/writer/ast_printer/ast_printer_test.cc",
      "lang/wgsl/writer/ast_printer/binary_test.cc",
      "lang/wgsl/writer/ast_printer/bitcast_test.cc",
      "lang/wgsl/writer/ast_printer/block_test.cc",
      "lang/wgsl/writer/ast_printer/break_test.cc",
      "lang/wgsl/writer/ast_printer/call_test.cc",
      "lang/wgsl/writer/ast_printer/case_test.cc",
      "lang/wgsl/writer/ast_printer/cast_test.cc",
      "lang/wgsl/writer/ast_printer/const_assert_test.cc",
      "lang/wgsl/writer/ast_printer/constructor_test.cc",
      "lang/wgsl/writer/ast_printer/continue_test.cc",
      "lang/wgsl/writer/ast_printer/diagnostic_test.cc",
      "lang/wgsl/writer/ast_printer/discard_test.cc",
      "lang/wgsl/writer/ast_printer/enable_test.cc",
      "lang/wgsl/writer/ast_printer/function_test.cc",
      "lang/wgsl/writer/ast_printer/global_decl_test.cc",
      "lang/wgsl/writer/ast_printer/identifier_test.cc",
      "lang/wgsl/writer/ast_printer/if_test.cc",
      "lang/wgsl/writer/ast_printer/literal_test.cc",
      "lang/wgsl/writer/ast_printer/loop_test.cc",
      "lang/wgsl/writer/ast_printer/member_accessor_test.cc",
      "lang/wgsl/writer/ast_printer/return_test.cc",
      "lang/wgsl/writer/ast_printer/switch_test.cc",
      "lang/wgsl/writer/ast_printer/test_helper.h",
      "lang/wgsl/writer/ast_printer/type_test.cc",
      "lang/wgsl/writer/ast_printer/unary_op_test.cc",
      "lang/wgsl/writer/ast_printer/variable_decl_statement_test.cc",
      "lang/wgsl/writer/ast_printer/variable_test.cc",
    ]

    deps = [
      ":libtint_builtins_src",
      ":libtint_utils_src",
      ":libtint_wgsl_writer_src",
      ":tint_unittests_ast_src",
    ]
  }

  tint_unittests_source_set("tint_unittests_msl_writer_src") {
    sources = [
      "lang/msl/writer/ast_printer/array_accessor_test.cc",
      "lang/msl/writer/ast_printer/assign_test.cc",
      "lang/msl/writer/ast_printer/ast_function_test.cc",
      "lang/msl/writer/ast_printer/ast_printer_test.cc",
      "lang/msl/writer/ast_printer/ast_type_test.cc",
      "lang/msl/writer/ast_printer/binary_test.cc",
      "lang/msl/writer/ast_printer/bitcast_test.cc",
      "lang/msl/writer/ast_printer/block_test.cc",
      "lang/msl/writer/ast_printer/break_test.cc",
      "lang/msl/writer/ast_printer/builtin_test.cc",
      "lang/msl/writer/ast_printer/builtin_texture_test.cc",
      "lang/msl/writer/ast_printer/call_test.cc",
      "lang/msl/writer/ast_printer/case_test.cc",
      "lang/msl/writer/ast_printer/cast_test.cc",
      "lang/msl/writer/ast_printer/const_assert_test.cc",
      "lang/msl/writer/ast_printer/constructor_test.cc",
      "lang/msl/writer/ast_printer/continue_test.cc",
      "lang/msl/writer/ast_printer/discard_test.cc",
      "lang/msl/writer/ast_printer/identifier_test.cc",
      "lang/msl/writer/ast_printer/if_test.cc",
      "lang/msl/writer/ast_printer/import_test.cc",
      "lang/msl/writer/ast_printer/loop_test.cc",
      "lang/msl/writer/ast_printer/member_accessor_test.cc",
      "lang/msl/writer/ast_printer/module_constant_test.cc",
      "lang/msl/writer/ast_printer/return_test.cc",
      "lang/msl/writer/ast_printer/sanitizer_test.cc",
      "lang/msl/writer/ast_printer/switch_test.cc",
      "lang/msl/writer/ast_printer/test_helper.h",
      "lang/msl/writer/ast_printer/unary_op_test.cc",
      "lang/msl/writer/ast_printer/variable_decl_statement_test.cc",
      "lang/msl/writer/printer_support_test.cc",
    ]

    deps = [
      ":libtint_msl_writer_src",
      ":libtint_utils_src",
      ":tint_unittests_ast_src",
    ]

    if (tint_build_ir) {
      sources += [
        "lang/msl/writer/printer/constant_test.cc",
        "lang/msl/writer/printer/function_test.cc",
        "lang/msl/writer/printer/test_helper.h",
        "lang/msl/writer/printer/type_test.cc",
      ]
      deps += [ ":libtint_ir_src" ]
    }
  }

  tint_unittests_source_set("tint_unittests_hlsl_writer_src") {
    sources = [
      "lang/hlsl/writer/ast_printer/array_accessor_test.cc",
      "lang/hlsl/writer/ast_printer/assign_test.cc",
      "lang/hlsl/writer/ast_printer/ast_printer_test.cc",
      "lang/hlsl/writer/ast_printer/binary_test.cc",
      "lang/hlsl/writer/ast_printer/bitcast_test.cc",
      "lang/hlsl/writer/ast_printer/block_test.cc",
      "lang/hlsl/writer/ast_printer/break_test.cc",
      "lang/hlsl/writer/ast_printer/builtin_test.cc",
      "lang/hlsl/writer/ast_printer/builtin_texture_test.cc",
      "lang/hlsl/writer/ast_printer/call_test.cc",
      "lang/hlsl/writer/ast_printer/case_test.cc",
      "lang/hlsl/writer/ast_printer/cast_test.cc",
      "lang/hlsl/writer/ast_printer/const_assert_test.cc",
      "lang/hlsl/writer/ast_printer/constructor_test.cc",
      "lang/hlsl/writer/ast_printer/continue_test.cc",
      "lang/hlsl/writer/ast_printer/discard_test.cc",
      "lang/hlsl/writer/ast_printer/function_test.cc",
      "lang/hlsl/writer/ast_printer/identifier_test.cc",
      "lang/hlsl/writer/ast_printer/if_test.cc",
      "lang/hlsl/writer/ast_printer/import_test.cc",
      "lang/hlsl/writer/ast_printer/loop_test.cc",
      "lang/hlsl/writer/ast_printer/member_accessor_test.cc",
      "lang/hlsl/writer/ast_printer/module_constant_test.cc",
      "lang/hlsl/writer/ast_printer/return_test.cc",
      "lang/hlsl/writer/ast_printer/sanitizer_test.cc",
      "lang/hlsl/writer/ast_printer/switch_test.cc",
      "lang/hlsl/writer/ast_printer/test_helper.h",
      "lang/hlsl/writer/ast_printer/type_test.cc",
      "lang/hlsl/writer/ast_printer/unary_op_test.cc",
      "lang/hlsl/writer/ast_printer/variable_decl_statement_test.cc",
      "lang/hlsl/writer/ast_printer/workgroup_var_test.cc",
    ]

    deps = [
      ":libtint_ast_transform_base_src",
      ":libtint_ast_transform_src",
      ":libtint_hlsl_writer_src",
      ":libtint_utils_src",
      ":tint_unittests_ast_src",
    ]
  }

  tint_unittests_source_set("tint_unittests_glsl_writer_src") {
    sources = [
      "lang/glsl/writer/ast_printer/array_accessor_test.cc",
      "lang/glsl/writer/ast_printer/assign_test.cc",
      "lang/glsl/writer/ast_printer/ast_printer_test.cc",
      "lang/glsl/writer/ast_printer/binary_test.cc",
      "lang/glsl/writer/ast_printer/bitcast_test.cc",
      "lang/glsl/writer/ast_printer/block_test.cc",
      "lang/glsl/writer/ast_printer/break_test.cc",
      "lang/glsl/writer/ast_printer/builtin_test.cc",
      "lang/glsl/writer/ast_printer/builtin_texture_test.cc",
      "lang/glsl/writer/ast_printer/call_test.cc",
      "lang/glsl/writer/ast_printer/case_test.cc",
      "lang/glsl/writer/ast_printer/cast_test.cc",
      "lang/glsl/writer/ast_printer/constructor_test.cc",
      "lang/glsl/writer/ast_printer/continue_test.cc",
      "lang/glsl/writer/ast_printer/discard_test.cc",
      "lang/glsl/writer/ast_printer/function_test.cc",
      "lang/glsl/writer/ast_printer/identifier_test.cc",
      "lang/glsl/writer/ast_printer/if_test.cc",
      "lang/glsl/writer/ast_printer/import_test.cc",
      "lang/glsl/writer/ast_printer/loop_test.cc",
      "lang/glsl/writer/ast_printer/member_accessor_test.cc",
      "lang/glsl/writer/ast_printer/module_constant_test.cc",
      "lang/glsl/writer/ast_printer/return_test.cc",
      "lang/glsl/writer/ast_printer/sanitizer_test.cc",
      "lang/glsl/writer/ast_printer/storage_buffer_test.cc",
      "lang/glsl/writer/ast_printer/switch_test.cc",
      "lang/glsl/writer/ast_printer/test_helper.h",
      "lang/glsl/writer/ast_printer/type_test.cc",
      "lang/glsl/writer/ast_printer/unary_op_test.cc",
      "lang/glsl/writer/ast_printer/uniform_buffer_test.cc",
      "lang/glsl/writer/ast_printer/variable_decl_statement_test.cc",
      "lang/glsl/writer/ast_printer/workgroup_var_test.cc",
    ]

    deps = [
      ":libtint_ast_transform_base_src",
      ":libtint_ast_transform_src",
      ":libtint_builtins_src",
      ":libtint_glsl_writer_src",
      ":libtint_symbols_src",
      ":libtint_utils_src",
      ":tint_unittests_ast_src",
    ]
  }

  tint_unittests_source_set("tint_unittests_symbols_src") {
    sources = [
      "utils/containers/scope_stack_test.cc",
      "utils/reflection/reflection_test.cc",
      "utils/text/symbol_table_test.cc",
      "utils/text/symbol_test.cc",
    ]
    deps = [ ":libtint_symbols_src" ]
  }

  tint_unittests_source_set("tint_unittests_core_src") {
    sources = [
      "lang/wgsl/ast/clone_context_test.cc",
      "lang/wgsl/program/program_builder_test.cc",
      "lang/wgsl/program/program_test.cc",
    ]

    deps = [
      ":libtint_program_src",
      ":libtint_unittests_ast_helper",
      ":tint_unittests_ast_src",
    ]

    if (tint_build_ir) {
      deps += [
        ":libtint_ir_builder_src",
        ":libtint_ir_src",
      ]
    }
  }

  if (tint_build_ir) {
    tint_unittests_source_set("tint_unittests_ir_src") {
      sources = [
        "lang/core/ir/access_test.cc",
        "lang/core/ir/binary_test.cc",
        "lang/core/ir/bitcast_test.cc",
        "lang/core/ir/block_param_test.cc",
        "lang/core/ir/block_test.cc",
        "lang/core/ir/break_if_test.cc",
        "lang/core/ir/constant_test.cc",
        "lang/core/ir/construct_test.cc",
        "lang/core/ir/continue_test.cc",
        "lang/core/ir/convert_test.cc",
        "lang/core/ir/core_builtin_call_test.cc",
        "lang/core/ir/discard_test.cc",
        "lang/core/ir/exit_if_test.cc",
        "lang/core/ir/exit_loop_test.cc",
        "lang/core/ir/exit_switch_test.cc",
        "lang/core/ir/from_program_accessor_test.cc",
        "lang/core/ir/from_program_binary_test.cc",
        "lang/core/ir/from_program_builtin_test.cc",
        "lang/core/ir/from_program_call_test.cc",
        "lang/core/ir/from_program_function_test.cc",
        "lang/core/ir/from_program_let_test.cc",
        "lang/core/ir/from_program_literal_test.cc",
        "lang/core/ir/from_program_materialize_test.cc",
        "lang/core/ir/from_program_shadowing_test.cc",
        "lang/core/ir/from_program_store_test.cc",
        "lang/core/ir/from_program_test.cc",
        "lang/core/ir/from_program_unary_test.cc",
        "lang/core/ir/from_program_var_test.cc",
        "lang/core/ir/function_param_test.cc",
        "lang/core/ir/function_test.cc",
        "lang/core/ir/if_test.cc",
        "lang/core/ir/instruction_result_test.cc",
        "lang/core/ir/instruction_test.cc",
        "lang/core/ir/intrinsic_call_test.cc",
        "lang/core/ir/ir_test_helper.h",
        "lang/core/ir/let_test.cc",
        "lang/core/ir/load_test.cc",
        "lang/core/ir/load_vector_element_test.cc",
        "lang/core/ir/loop_test.cc",
        "lang/core/ir/module_test.cc",
        "lang/core/ir/multi_in_block_test.cc",
        "lang/core/ir/next_iteration_test.cc",
        "lang/core/ir/operand_instruction_test.cc",
        "lang/core/ir/program_test_helper.h",
        "lang/core/ir/return_test.cc",
        "lang/core/ir/store_test.cc",
        "lang/core/ir/store_vector_element_test.cc",
        "lang/core/ir/switch_test.cc",
        "lang/core/ir/swizzle_test.cc",
        "lang/core/ir/to_program_inlining_test.cc",
        "lang/core/ir/to_program_roundtrip_test.cc",
        "lang/core/ir/to_program_test.cc",
        "lang/core/ir/unary_test.cc",
        "lang/core/ir/user_call_test.cc",
        "lang/core/ir/validator_test.cc",
        "lang/core/ir/value_test.cc",
        "lang/core/ir/var_test.cc",
      ]

      deps = [
        ":libtint_builtins_src",
        ":libtint_ir_builder_src",
        ":libtint_ir_src",
      ]
    }
  }

  if (build_with_chromium) {
    tint_unittests_source_set("tint_unittests_fuzzer_src") {
      sources = [ "fuzzers/random_generator_test.cc" ]

      deps = [
        ":tint_unittests_core_src",
        "fuzzers:tint_fuzzer_common_src",
      ]
    }
  }

  source_set("tint_unittests_src") {
    testonly = true

    deps = [
      ":libtint_wgsl_reader_src",
      ":libtint_wgsl_writer_src",
      ":tint_unittests_ast_src",
      ":tint_unittests_ast_transform_src",
      ":tint_unittests_builtins_src",
      ":tint_unittests_cmd_src",
      ":tint_unittests_constant_src",
      ":tint_unittests_core_src",
      ":tint_unittests_diagnostic_src",
      ":tint_unittests_inspector_src",
      ":tint_unittests_resolver_src",
      ":tint_unittests_sem_src",
      ":tint_unittests_symbols_src",
      ":tint_unittests_type_src",
      ":tint_unittests_utils_src",
      ":tint_unittests_writer_src",
    ]

    if (tint_build_spv_reader) {
      deps += [ ":tint_unittests_spv_reader_src" ]
    }

    if (tint_build_spv_writer) {
      deps += [ ":tint_unittests_spv_writer_src" ]
    }

    if (tint_build_wgsl_reader) {
      deps += [ ":tint_unittests_wgsl_reader_src" ]
    }

    if (tint_build_wgsl_writer) {
      deps += [ ":tint_unittests_wgsl_writer_src" ]
    }

    if (tint_build_msl_writer) {
      deps += [ ":tint_unittests_msl_writer_src" ]
    }

    if (tint_build_hlsl_writer) {
      deps += [ ":tint_unittests_hlsl_writer_src" ]
    }

    if (tint_build_glsl_writer) {
      deps += [ ":tint_unittests_glsl_writer_src" ]
    }

    if (tint_build_ir) {
      deps += [
        ":tint_unittests_ir_src",
        ":tint_unittests_ir_transform_src",
      ]
    }

    if (build_with_chromium) {
      deps += [ ":tint_unittests_fuzzer_src" ]
    }

    configs += [ ":tint_unittests_config" ]

    if (build_with_chromium) {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
    }
  }

  test("tint_unittests") {
    deps = [
      ":gmock_and_gtest",
      ":tint_unittests_src",
      "${tint_spirv_tools_dir}/:spvtools",
      "${tint_spirv_tools_dir}/:spvtools_opt",
      "${tint_spirv_tools_dir}/:spvtools_val",
    ]

    deps += [ ":tint_unittests_main" ]

    configs += [ ":tint_unittests_config" ]

    if (build_with_chromium) {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
    }

    if (is_win && is_debug) {
      # TODO(crbug.com/tint/1749): both msvc and clang builds stack overflow on debug builds.
      # Increase the initial stack size to 4 MB (default is 1MB).
      ldflags = [ "/STACK:4194304" ]
    }

    testonly = true
  }
}
