# 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 = [
    "program_id.cc",
    "program_id.h",
    "utils/containers/scope_stack.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 = [ "clone_context.h" ]
  deps = [
    ":libtint_symbols_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_program_src") {
  sources = [
    "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_transform_src") {
  sources = [
    "transform/transform.cc",
    "transform/transform.h",
  ]
  deps = [ ":libtint_utils_src" ]
}

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

libtint_source_set("libtint_transform_manager_src") {
  sources = [
    "transform/manager.cc",
    "transform/manager.h",
  ]
  deps = [
    ":libtint_ast_transform_base_src",
    ":libtint_program_src",
    ":libtint_transform_src",
  ]

  if (tint_build_ir) {
    deps += [
      ":libtint_ir_builder_src",
      ":libtint_ir_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_transform_manager_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

if (tint_build_ir) {
  libtint_source_set("libtint_ir_transform_src") {
    sources = [
      "ir/transform/add_empty_entry_point.cc",
      "ir/transform/add_empty_entry_point.h",
      "ir/transform/block_decorated_structs.cc",
      "ir/transform/block_decorated_structs.h",
      "ir/transform/demote_to_helper.cc",
      "ir/transform/demote_to_helper.h",
      "ir/transform/rename_conflicts_wgsl.cc",
      "ir/transform/rename_conflicts_wgsl.h",
      "ir/transform/shader_io.cc",
      "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 += [
        "ir/transform/builtin_polyfill_spirv.cc",
        "ir/transform/builtin_polyfill_spirv.h",
        "ir/transform/expand_implicit_splats.cc",
        "ir/transform/expand_implicit_splats.h",
        "ir/transform/handle_matrix_arithmetic.cc",
        "ir/transform/handle_matrix_arithmetic.h",
        "ir/transform/merge_return.cc",
        "ir/transform/merge_return.h",
        "ir/transform/shader_io_spirv.cc",
        "ir/transform/shader_io_spirv.h",
        "ir/transform/var_for_dynamic_index.cc",
        "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/binding_point.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_reader_src") {
  sources = [
    "reader/reader.cc",
    "reader/reader.h",
  ]

  public_deps = [ ":libtint_program_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_src",
    ":libtint_builtins_src",
    ":libtint_program_src",
    ":libtint_reader_src",
    ":libtint_sem_src",
    ":libtint_symbols_src",
    ":libtint_transform_manager_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",
    "writer/array_length_from_uniform_options.cc",
    "writer/array_length_from_uniform_options.h",
    "writer/ast_text_generator.cc",
    "writer/ast_text_generator.h",
    "writer/binding_point.h",
    "writer/binding_remapper_options.cc",
    "writer/binding_remapper_options.h",
    "writer/external_texture_options.cc",
    "writer/external_texture_options.h",
    "writer/text.cc",
    "writer/text.h",
    "writer/writer.cc",
    "writer/writer.h",
  ]

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

  if (tint_build_ir) {
    sources += [
      "writer/ir_text_generator.cc",
      "writer/ir_text_generator.h",
    ]

    deps += [ ":libtint_ir_src" ]
  }
}

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

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

  if (tint_build_ir) {
    sources += [
      "lang/spirv/writer/writer.cc",
      "lang/spirv/writer/writer.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_reader_src",
    ":libtint_symbols_src",
    ":libtint_type_src",
    ":libtint_utils_src",
  ]
}

libtint_source_set("libtint_wgsl_writer_src") {
  sources = [
    "lang/wgsl/ast_writer/generator.cc",
    "lang/wgsl/ast_writer/generator.h",
    "lang/wgsl/ast_writer/generator_impl.cc",
    "lang/wgsl/ast_writer/generator_impl.h",
  ]

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

libtint_source_set("libtint_msl_writer_src") {
  sources = [
    "lang/msl/ast_writer/generator.cc",
    "lang/msl/ast_writer/generator.h",
    "lang/msl/ast_writer/generator_impl.cc",
    "lang/msl/ast_writer/generator_impl.h",
    "lang/msl/ast_writer/generator_support.cc",
    "lang/msl/ast_writer/generator_support.h",
  ]

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

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

libtint_source_set("libtint_hlsl_writer_src") {
  sources = [
    "lang/hlsl/ast_writer/generator.cc",
    "lang/hlsl/ast_writer/generator.h",
    "lang/hlsl/ast_writer/generator_impl.cc",
    "lang/hlsl/ast_writer/generator_impl.h",
  ]

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

libtint_source_set("libtint_glsl_writer_src") {
  sources = [
    "lang/glsl/ast_writer/generator.cc",
    "lang/glsl/ast_writer/generator.h",
    "lang/glsl/ast_writer/generator_impl.cc",
    "lang/glsl/ast_writer/generator_impl.h",
  ]

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

libtint_source_set("libtint_syntax_tree_writer_src") {
  sources = [
    "lang/wgsl/syntax_tree_writer/generator.cc",
    "lang/wgsl/syntax_tree_writer/generator.h",
    "lang/wgsl/syntax_tree_writer/generator_impl.cc",
    "lang/wgsl/syntax_tree_writer/generator_impl.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 = [
      "ir/from_program.cc",
      "ir/from_program.h",
      "ir/to_program.cc",
      "ir/to_program.h",
    ]
    deps = [
      ":libtint_ast_src",
      ":libtint_builtins_src",
      ":libtint_constant_src",
      ":libtint_ir_src",
      ":libtint_program_src",
      ":libtint_sem_src",
      ":libtint_symbols_src",
      ":libtint_type_src",
      ":libtint_utils_src",
    ]
  }

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

    deps = [
      ":libtint_builtins_src",
      ":libtint_constant_src",
      ":libtint_symbols_src",
      ":libtint_transform_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_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_ast_transform_src",
      ":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/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_transform_manager_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 = [
        "ir/transform/add_empty_entry_point_test.cc",
        "ir/transform/block_decorated_structs_test.cc",
        "ir/transform/demote_to_helper_test.cc",
        "ir/transform/test_helper.h",
      ]

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

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

      if (tint_build_wgsl_writer) {
        sources += [ "ir/transform/rename_conflicts_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",
      "writer/ast_text_generator_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/ast_writer/binary_writer_test.cc",
      "lang/spirv/ast_writer/builder_accessor_expression_test.cc",
      "lang/spirv/ast_writer/builder_assign_test.cc",
      "lang/spirv/ast_writer/builder_binary_expression_test.cc",
      "lang/spirv/ast_writer/builder_bitcast_expression_test.cc",
      "lang/spirv/ast_writer/builder_block_test.cc",
      "lang/spirv/ast_writer/builder_builtin_test.cc",
      "lang/spirv/ast_writer/builder_builtin_texture_test.cc",
      "lang/spirv/ast_writer/builder_call_test.cc",
      "lang/spirv/ast_writer/builder_const_assert_test.cc",
      "lang/spirv/ast_writer/builder_constructor_expression_test.cc",
      "lang/spirv/ast_writer/builder_discard_test.cc",
      "lang/spirv/ast_writer/builder_entry_point_test.cc",
      "lang/spirv/ast_writer/builder_format_conversion_test.cc",
      "lang/spirv/ast_writer/builder_function_attribute_test.cc",
      "lang/spirv/ast_writer/builder_function_test.cc",
      "lang/spirv/ast_writer/builder_function_variable_test.cc",
      "lang/spirv/ast_writer/builder_global_variable_test.cc",
      "lang/spirv/ast_writer/builder_ident_expression_test.cc",
      "lang/spirv/ast_writer/builder_if_test.cc",
      "lang/spirv/ast_writer/builder_literal_test.cc",
      "lang/spirv/ast_writer/builder_loop_test.cc",
      "lang/spirv/ast_writer/builder_return_test.cc",
      "lang/spirv/ast_writer/builder_switch_test.cc",
      "lang/spirv/ast_writer/builder_test.cc",
      "lang/spirv/ast_writer/builder_type_test.cc",
      "lang/spirv/ast_writer/builder_unary_op_expression_test.cc",
      "lang/spirv/ast_writer/instruction_test.cc",
      "lang/spirv/ast_writer/module_test.cc",
      "lang/spirv/ast_writer/operand_test.cc",
      "lang/spirv/ast_writer/scalar_constant_test.cc",
      "lang/spirv/ast_writer/spv_dump.cc",
      "lang/spirv/ast_writer/spv_dump.h",
      "lang/spirv/ast_writer/test_helper.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/ast_writer/generator_impl_alias_type_test.cc",
      "lang/wgsl/ast_writer/generator_impl_array_accessor_test.cc",
      "lang/wgsl/ast_writer/generator_impl_assign_test.cc",
      "lang/wgsl/ast_writer/generator_impl_binary_test.cc",
      "lang/wgsl/ast_writer/generator_impl_bitcast_test.cc",
      "lang/wgsl/ast_writer/generator_impl_block_test.cc",
      "lang/wgsl/ast_writer/generator_impl_break_test.cc",
      "lang/wgsl/ast_writer/generator_impl_call_test.cc",
      "lang/wgsl/ast_writer/generator_impl_case_test.cc",
      "lang/wgsl/ast_writer/generator_impl_cast_test.cc",
      "lang/wgsl/ast_writer/generator_impl_const_assert_test.cc",
      "lang/wgsl/ast_writer/generator_impl_constructor_test.cc",
      "lang/wgsl/ast_writer/generator_impl_continue_test.cc",
      "lang/wgsl/ast_writer/generator_impl_diagnostic_test.cc",
      "lang/wgsl/ast_writer/generator_impl_discard_test.cc",
      "lang/wgsl/ast_writer/generator_impl_enable_test.cc",
      "lang/wgsl/ast_writer/generator_impl_function_test.cc",
      "lang/wgsl/ast_writer/generator_impl_global_decl_test.cc",
      "lang/wgsl/ast_writer/generator_impl_identifier_test.cc",
      "lang/wgsl/ast_writer/generator_impl_if_test.cc",
      "lang/wgsl/ast_writer/generator_impl_literal_test.cc",
      "lang/wgsl/ast_writer/generator_impl_loop_test.cc",
      "lang/wgsl/ast_writer/generator_impl_member_accessor_test.cc",
      "lang/wgsl/ast_writer/generator_impl_return_test.cc",
      "lang/wgsl/ast_writer/generator_impl_switch_test.cc",
      "lang/wgsl/ast_writer/generator_impl_test.cc",
      "lang/wgsl/ast_writer/generator_impl_type_test.cc",
      "lang/wgsl/ast_writer/generator_impl_unary_op_test.cc",
      "lang/wgsl/ast_writer/generator_impl_variable_decl_statement_test.cc",
      "lang/wgsl/ast_writer/generator_impl_variable_test.cc",
      "lang/wgsl/ast_writer/test_helper.h",
    ]

    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/ast_writer/generator_impl_array_accessor_test.cc",
      "lang/msl/ast_writer/generator_impl_assign_test.cc",
      "lang/msl/ast_writer/generator_impl_binary_test.cc",
      "lang/msl/ast_writer/generator_impl_bitcast_test.cc",
      "lang/msl/ast_writer/generator_impl_block_test.cc",
      "lang/msl/ast_writer/generator_impl_break_test.cc",
      "lang/msl/ast_writer/generator_impl_builtin_test.cc",
      "lang/msl/ast_writer/generator_impl_builtin_texture_test.cc",
      "lang/msl/ast_writer/generator_impl_call_test.cc",
      "lang/msl/ast_writer/generator_impl_case_test.cc",
      "lang/msl/ast_writer/generator_impl_cast_test.cc",
      "lang/msl/ast_writer/generator_impl_const_assert_test.cc",
      "lang/msl/ast_writer/generator_impl_constructor_test.cc",
      "lang/msl/ast_writer/generator_impl_continue_test.cc",
      "lang/msl/ast_writer/generator_impl_discard_test.cc",
      "lang/msl/ast_writer/generator_impl_function_test.cc",
      "lang/msl/ast_writer/generator_impl_identifier_test.cc",
      "lang/msl/ast_writer/generator_impl_if_test.cc",
      "lang/msl/ast_writer/generator_impl_import_test.cc",
      "lang/msl/ast_writer/generator_impl_loop_test.cc",
      "lang/msl/ast_writer/generator_impl_member_accessor_test.cc",
      "lang/msl/ast_writer/generator_impl_module_constant_test.cc",
      "lang/msl/ast_writer/generator_impl_return_test.cc",
      "lang/msl/ast_writer/generator_impl_sanitizer_test.cc",
      "lang/msl/ast_writer/generator_impl_switch_test.cc",
      "lang/msl/ast_writer/generator_impl_test.cc",
      "lang/msl/ast_writer/generator_impl_type_test.cc",
      "lang/msl/ast_writer/generator_impl_unary_op_test.cc",
      "lang/msl/ast_writer/generator_impl_variable_decl_statement_test.cc",
      "lang/msl/ast_writer/generator_support_test.cc",
      "lang/msl/ast_writer/test_helper.h",
    ]

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

    if (tint_build_ir) {
      sources += [
        "lang/msl/writer/generator_impl_ir_constant_test.cc",
        "lang/msl/writer/generator_impl_ir_function_test.cc",
        "lang/msl/writer/generator_impl_ir_type_test.cc",
        "lang/msl/writer/test_helper_ir.h",
      ]
      deps += [ ":libtint_ir_src" ]
    }
  }

  tint_unittests_source_set("tint_unittests_hlsl_writer_src") {
    sources = [
      "lang/hlsl/ast_writer/generator_impl_array_accessor_test.cc",
      "lang/hlsl/ast_writer/generator_impl_assign_test.cc",
      "lang/hlsl/ast_writer/generator_impl_binary_test.cc",
      "lang/hlsl/ast_writer/generator_impl_bitcast_test.cc",
      "lang/hlsl/ast_writer/generator_impl_block_test.cc",
      "lang/hlsl/ast_writer/generator_impl_break_test.cc",
      "lang/hlsl/ast_writer/generator_impl_builtin_test.cc",
      "lang/hlsl/ast_writer/generator_impl_builtin_texture_test.cc",
      "lang/hlsl/ast_writer/generator_impl_call_test.cc",
      "lang/hlsl/ast_writer/generator_impl_case_test.cc",
      "lang/hlsl/ast_writer/generator_impl_cast_test.cc",
      "lang/hlsl/ast_writer/generator_impl_const_assert_test.cc",
      "lang/hlsl/ast_writer/generator_impl_constructor_test.cc",
      "lang/hlsl/ast_writer/generator_impl_continue_test.cc",
      "lang/hlsl/ast_writer/generator_impl_discard_test.cc",
      "lang/hlsl/ast_writer/generator_impl_function_test.cc",
      "lang/hlsl/ast_writer/generator_impl_identifier_test.cc",
      "lang/hlsl/ast_writer/generator_impl_if_test.cc",
      "lang/hlsl/ast_writer/generator_impl_import_test.cc",
      "lang/hlsl/ast_writer/generator_impl_loop_test.cc",
      "lang/hlsl/ast_writer/generator_impl_member_accessor_test.cc",
      "lang/hlsl/ast_writer/generator_impl_module_constant_test.cc",
      "lang/hlsl/ast_writer/generator_impl_return_test.cc",
      "lang/hlsl/ast_writer/generator_impl_sanitizer_test.cc",
      "lang/hlsl/ast_writer/generator_impl_switch_test.cc",
      "lang/hlsl/ast_writer/generator_impl_test.cc",
      "lang/hlsl/ast_writer/generator_impl_type_test.cc",
      "lang/hlsl/ast_writer/generator_impl_unary_op_test.cc",
      "lang/hlsl/ast_writer/generator_impl_variable_decl_statement_test.cc",
      "lang/hlsl/ast_writer/generator_impl_workgroup_var_test.cc",
      "lang/hlsl/ast_writer/test_helper.h",
    ]

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

  tint_unittests_source_set("tint_unittests_glsl_writer_src") {
    sources = [
      "lang/glsl/ast_writer/generator_impl_array_accessor_test.cc",
      "lang/glsl/ast_writer/generator_impl_assign_test.cc",
      "lang/glsl/ast_writer/generator_impl_binary_test.cc",
      "lang/glsl/ast_writer/generator_impl_bitcast_test.cc",
      "lang/glsl/ast_writer/generator_impl_block_test.cc",
      "lang/glsl/ast_writer/generator_impl_break_test.cc",
      "lang/glsl/ast_writer/generator_impl_builtin_test.cc",
      "lang/glsl/ast_writer/generator_impl_builtin_texture_test.cc",
      "lang/glsl/ast_writer/generator_impl_call_test.cc",
      "lang/glsl/ast_writer/generator_impl_case_test.cc",
      "lang/glsl/ast_writer/generator_impl_cast_test.cc",
      "lang/glsl/ast_writer/generator_impl_constructor_test.cc",
      "lang/glsl/ast_writer/generator_impl_continue_test.cc",
      "lang/glsl/ast_writer/generator_impl_discard_test.cc",
      "lang/glsl/ast_writer/generator_impl_function_test.cc",
      "lang/glsl/ast_writer/generator_impl_identifier_test.cc",
      "lang/glsl/ast_writer/generator_impl_if_test.cc",
      "lang/glsl/ast_writer/generator_impl_import_test.cc",
      "lang/glsl/ast_writer/generator_impl_loop_test.cc",
      "lang/glsl/ast_writer/generator_impl_member_accessor_test.cc",
      "lang/glsl/ast_writer/generator_impl_module_constant_test.cc",
      "lang/glsl/ast_writer/generator_impl_return_test.cc",
      "lang/glsl/ast_writer/generator_impl_sanitizer_test.cc",
      "lang/glsl/ast_writer/generator_impl_storage_buffer_test.cc",
      "lang/glsl/ast_writer/generator_impl_switch_test.cc",
      "lang/glsl/ast_writer/generator_impl_test.cc",
      "lang/glsl/ast_writer/generator_impl_type_test.cc",
      "lang/glsl/ast_writer/generator_impl_unary_op_test.cc",
      "lang/glsl/ast_writer/generator_impl_uniform_buffer_test.cc",
      "lang/glsl/ast_writer/generator_impl_variable_decl_statement_test.cc",
      "lang/glsl/ast_writer/generator_impl_workgroup_var_test.cc",
      "lang/glsl/ast_writer/test_helper.h",
    ]

    deps = [
      ":libtint_ast_transform_src",
      ":libtint_builtins_src",
      ":libtint_glsl_writer_src",
      ":libtint_symbols_src",
      ":libtint_transform_manager_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 = [
      "clone_context_test.cc",
      "lang/wgsl/program/program_builder_test.cc",
      "lang/wgsl/program/program_test.cc",
      "transform/manager_test.cc",
    ]

    deps = [
      ":libtint_ast_transform_base_src",
      ":libtint_program_src",
      ":libtint_transform_manager_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 = [
        "ir/access_test.cc",
        "ir/binary_test.cc",
        "ir/bitcast_test.cc",
        "ir/block_param_test.cc",
        "ir/block_test.cc",
        "ir/break_if_test.cc",
        "ir/constant_test.cc",
        "ir/construct_test.cc",
        "ir/continue_test.cc",
        "ir/convert_test.cc",
        "ir/core_builtin_call_test.cc",
        "ir/discard_test.cc",
        "ir/exit_if_test.cc",
        "ir/exit_loop_test.cc",
        "ir/exit_switch_test.cc",
        "ir/from_program_accessor_test.cc",
        "ir/from_program_binary_test.cc",
        "ir/from_program_builtin_test.cc",
        "ir/from_program_call_test.cc",
        "ir/from_program_function_test.cc",
        "ir/from_program_let_test.cc",
        "ir/from_program_literal_test.cc",
        "ir/from_program_materialize_test.cc",
        "ir/from_program_shadowing_test.cc",
        "ir/from_program_store_test.cc",
        "ir/from_program_test.cc",
        "ir/from_program_unary_test.cc",
        "ir/from_program_var_test.cc",
        "ir/function_param_test.cc",
        "ir/function_test.cc",
        "ir/if_test.cc",
        "ir/instruction_result_test.cc",
        "ir/instruction_test.cc",
        "ir/intrinsic_call_test.cc",
        "ir/ir_test_helper.h",
        "ir/let_test.cc",
        "ir/load_test.cc",
        "ir/load_vector_element_test.cc",
        "ir/loop_test.cc",
        "ir/module_test.cc",
        "ir/multi_in_block_test.cc",
        "ir/next_iteration_test.cc",
        "ir/operand_instruction_test.cc",
        "ir/program_test_helper.h",
        "ir/return_test.cc",
        "ir/store_test.cc",
        "ir/store_vector_element_test.cc",
        "ir/switch_test.cc",
        "ir/swizzle_test.cc",
        "ir/to_program_inlining_test.cc",
        "ir/to_program_roundtrip_test.cc",
        "ir/to_program_test.cc",
        "ir/unary_test.cc",
        "ir/user_call_test.cc",
        "ir/validator_test.cc",
        "ir/value_test.cc",
        "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
  }
}
