[tint][build] Guard WGSL reader with tint_build_wgsl_reader
Requires moving BuiltinEnumExpression specializations out of resolver.
Change-Id: Iff3bb14a01fac73da2ec952285a44f3f95ef87ff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/155445
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/tint/api/BUILD.bazel b/src/tint/api/BUILD.bazel
index 247bab4..534fd1b 100644
--- a/src/tint/api/BUILD.bazel
+++ b/src/tint/api/BUILD.bazel
@@ -43,7 +43,6 @@
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -87,6 +86,11 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/writer",
],
@@ -122,6 +126,11 @@
)
alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
+alias(
name = "tint_build_wgsl_writer",
actual = "//src/tint:tint_build_wgsl_writer_true",
)
diff --git a/src/tint/api/BUILD.cmake b/src/tint/api/BUILD.cmake
index d12f114..14e5cda 100644
--- a/src/tint/api/BUILD.cmake
+++ b/src/tint/api/BUILD.cmake
@@ -45,7 +45,6 @@
tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -95,6 +94,12 @@
)
endif(TINT_BUILD_SPV_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_api lib
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_api lib
tint_lang_wgsl_writer
diff --git a/src/tint/api/BUILD.gn b/src/tint/api/BUILD.gn
index 4141b6b..8e20ff6 100644
--- a/src/tint/api/BUILD.gn
+++ b/src/tint/api/BUILD.gn
@@ -42,7 +42,6 @@
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -88,6 +87,10 @@
]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
}
diff --git a/src/tint/cmd/bench/BUILD.bazel b/src/tint/cmd/bench/BUILD.bazel
index 1f4dffc..950f723 100644
--- a/src/tint/cmd/bench/BUILD.bazel
+++ b/src/tint/cmd/bench/BUILD.bazel
@@ -40,7 +40,6 @@
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -62,6 +61,11 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/writer",
],
@@ -84,7 +88,6 @@
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader:bench",
"//src/tint/lang/wgsl/sem",
"//src/tint/lang/wgsl:bench",
"//src/tint/utils/containers",
@@ -122,6 +125,11 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader:bench",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/writer:bench",
],
@@ -157,6 +165,11 @@
)
alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
+alias(
name = "tint_build_wgsl_writer",
actual = "//src/tint:tint_build_wgsl_writer_true",
)
diff --git a/src/tint/cmd/bench/BUILD.cmake b/src/tint/cmd/bench/BUILD.cmake
index 778ef43..03d6c47 100644
--- a/src/tint/cmd/bench/BUILD.cmake
+++ b/src/tint/cmd/bench/BUILD.cmake
@@ -38,7 +38,6 @@
tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
- tint_lang_wgsl_reader_bench
tint_lang_wgsl_sem
tint_lang_wgsl_bench
tint_utils_containers
@@ -84,6 +83,12 @@
)
endif(TINT_BUILD_SPV_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_cmd_bench_bench_cmd bench_cmd
+ tint_lang_wgsl_reader_bench
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_cmd_bench_bench_cmd bench_cmd
tint_lang_wgsl_writer_bench
@@ -111,7 +116,6 @@
tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -138,6 +142,12 @@
)
endif(TINT_BUILD_SPV_READER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_cmd_bench_bench bench
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_cmd_bench_bench bench
tint_lang_wgsl_writer
diff --git a/src/tint/cmd/bench/BUILD.gn b/src/tint/cmd/bench/BUILD.gn
index 9a49864..49a79f4 100644
--- a/src/tint/cmd/bench/BUILD.gn
+++ b/src/tint/cmd/bench/BUILD.gn
@@ -45,7 +45,6 @@
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -66,6 +65,10 @@
deps += [ "${tint_src_dir}/lang/spirv/reader" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
}
@@ -87,7 +90,6 @@
"${tint_src_dir}/lang/wgsl:bench",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader:bench",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -120,6 +122,10 @@
deps += [ "${tint_src_dir}/lang/spirv/writer:bench" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader:bench" ]
+ }
+
if (tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/writer:bench" ]
}
diff --git a/src/tint/cmd/bench/bench.cc b/src/tint/cmd/bench/bench.cc
index cf3869b..f36a404 100644
--- a/src/tint/cmd/bench/bench.cc
+++ b/src/tint/cmd/bench/bench.cc
@@ -27,7 +27,9 @@
#include "src/tint/lang/wgsl/writer/writer.h"
#endif
+#if TINT_BUILD_WGSL_READER
#include "src/tint/lang/wgsl/reader/reader.h"
+#endif
#include "src/tint/utils/text/string.h"
#include "src/tint/utils/text/string_stream.h"
diff --git a/src/tint/cmd/common/BUILD.bazel b/src/tint/cmd/common/BUILD.bazel
index acbed19..8f0fa38 100644
--- a/src/tint/cmd/common/BUILD.bazel
+++ b/src/tint/cmd/common/BUILD.bazel
@@ -45,7 +45,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/inspector",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -71,6 +70,11 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/writer",
],
@@ -127,6 +131,11 @@
)
alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
+alias(
name = "tint_build_wgsl_writer",
actual = "//src/tint:tint_build_wgsl_writer_true",
)
diff --git a/src/tint/cmd/common/BUILD.cmake b/src/tint/cmd/common/BUILD.cmake
index 541126b..dd7a96f 100644
--- a/src/tint/cmd/common/BUILD.cmake
+++ b/src/tint/cmd/common/BUILD.cmake
@@ -44,7 +44,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_inspector
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -73,6 +72,12 @@
)
endif(TINT_BUILD_SPV_READER OR TINT_BUILD_SPV_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_cmd_common lib
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_cmd_common lib
tint_lang_wgsl_writer
diff --git a/src/tint/cmd/common/BUILD.gn b/src/tint/cmd/common/BUILD.gn
index e4ae6a7..d4d0ea3 100644
--- a/src/tint/cmd/common/BUILD.gn
+++ b/src/tint/cmd/common/BUILD.gn
@@ -48,7 +48,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/inspector",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -76,6 +75,10 @@
]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
}
diff --git a/src/tint/cmd/fuzz/wgsl/BUILD.bazel b/src/tint/cmd/fuzz/wgsl/BUILD.bazel
index 9f81589..1b32106 100644
--- a/src/tint/cmd/fuzz/wgsl/BUILD.bazel
+++ b/src/tint/cmd/fuzz/wgsl/BUILD.bazel
@@ -24,3 +24,8 @@
load("//src/tint:flags.bzl", "COPTS")
load("@bazel_skylib//lib:selects.bzl", "selects")
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/cmd/fuzz/wgsl/BUILD.cfg b/src/tint/cmd/fuzz/wgsl/BUILD.cfg
index 7922226..de92f71 100644
--- a/src/tint/cmd/fuzz/wgsl/BUILD.cfg
+++ b/src/tint/cmd/fuzz/wgsl/BUILD.cfg
@@ -1,4 +1,5 @@
{
+ "condition": "tint_build_wgsl_reader",
"fuzz_cmd": {
/* The Tint fuzzer executable for WGSL-input. */
"OutputName": "tint_wgsl_fuzzer",
diff --git a/src/tint/cmd/fuzz/wgsl/BUILD.cmake b/src/tint/cmd/fuzz/wgsl/BUILD.cmake
index 2ac0bd4..8b294e9 100644
--- a/src/tint/cmd/fuzz/wgsl/BUILD.cmake
+++ b/src/tint/cmd/fuzz/wgsl/BUILD.cmake
@@ -21,16 +21,17 @@
# Do not modify this file directly
################################################################################
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_cmd_fuzz_wgsl_fuzz_cmd
# Kind: fuzz_cmd
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_cmd_fuzz_wgsl_fuzz_cmd fuzz_cmd
cmd/fuzz/wgsl/main_fuzz.cc
)
tint_target_add_dependencies(tint_cmd_fuzz_wgsl_fuzz_cmd fuzz_cmd
- tint_cmd_fuzz_wgsl_fuzz
tint_lang_core
tint_lang_core_constant
tint_lang_core_type
@@ -52,11 +53,20 @@
tint_utils_traits
)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_cmd_fuzz_wgsl_fuzz_cmd fuzz_cmd
+ tint_cmd_fuzz_wgsl_fuzz
+ )
+endif(TINT_BUILD_WGSL_READER)
+
tint_target_set_output_name(tint_cmd_fuzz_wgsl_fuzz_cmd fuzz_cmd "tint_wgsl_fuzzer")
+endif(TINT_BUILD_WGSL_READER)
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_cmd_fuzz_wgsl_fuzz
# Kind: fuzz
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_cmd_fuzz_wgsl_fuzz fuzz
cmd/fuzz/wgsl/wgsl_fuzz.cc
@@ -72,7 +82,6 @@
tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -88,3 +97,11 @@
tint_utils_text
tint_utils_traits
)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_cmd_fuzz_wgsl_fuzz fuzz
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
+endif(TINT_BUILD_WGSL_READER)
\ No newline at end of file
diff --git a/src/tint/cmd/fuzz/wgsl/BUILD.gn b/src/tint/cmd/fuzz/wgsl/BUILD.gn
index 16730dd..cbf6274 100644
--- a/src/tint/cmd/fuzz/wgsl/BUILD.gn
+++ b/src/tint/cmd/fuzz/wgsl/BUILD.gn
@@ -24,62 +24,70 @@
import("../../../../../scripts/tint_overrides_with_defaults.gni")
import("${tint_src_dir}/tint.gni")
+if (tint_build_wgsl_reader) {
+ tint_fuzz_source_set("fuzz") {
+ sources = [
+ "wgsl_fuzz.cc",
+ "wgsl_fuzz.h",
+ ]
+ deps = [
+ "${tint_src_dir}/api/common",
+ "${tint_src_dir}/lang/core",
+ "${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/ir",
+ "${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
+ "${tint_src_dir}/lang/wgsl/ast",
+ "${tint_src_dir}/lang/wgsl/program",
+ "${tint_src_dir}/lang/wgsl/sem",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/id",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/reflection",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/symbol",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
-tint_fuzz_source_set("fuzz") {
- sources = [
- "wgsl_fuzz.cc",
- "wgsl_fuzz.h",
- ]
- deps = [
- "${tint_src_dir}/api/common",
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/ir",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
- "${tint_src_dir}/lang/wgsl/sem",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/reflection",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+ }
}
+if (tint_build_wgsl_reader) {
+ tint_fuzzer_test("wgsl") {
+ output_name = "tint_wgsl_fuzzer"
+ sources = [ "main_fuzz.cc" ]
+ deps = [
+ "${tint_src_dir}/lang/core",
+ "${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
+ "${tint_src_dir}/lang/wgsl/ast",
+ "${tint_src_dir}/lang/wgsl/program",
+ "${tint_src_dir}/lang/wgsl/sem",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/id",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/symbol",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
-tint_fuzzer_test("wgsl") {
- output_name = "tint_wgsl_fuzzer"
- sources = [ "main_fuzz.cc" ]
- deps = [
- "${tint_src_dir}/cmd/fuzz/wgsl:fuzz",
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/sem",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/cmd/fuzz/wgsl:fuzz" ]
+ }
+ }
}
diff --git a/src/tint/cmd/loopy/BUILD.bazel b/src/tint/cmd/loopy/BUILD.bazel
index 5786898..2725298 100644
--- a/src/tint/cmd/loopy/BUILD.bazel
+++ b/src/tint/cmd/loopy/BUILD.bazel
@@ -44,8 +44,6 @@
"//src/tint/lang/wgsl/helpers",
"//src/tint/lang/wgsl/inspector",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -90,6 +88,12 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/writer",
],
@@ -125,6 +129,11 @@
)
alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
+alias(
name = "tint_build_wgsl_writer",
actual = "//src/tint:tint_build_wgsl_writer_true",
)
diff --git a/src/tint/cmd/loopy/BUILD.cmake b/src/tint/cmd/loopy/BUILD.cmake
index 2ef062d..3e559b7 100644
--- a/src/tint/cmd/loopy/BUILD.cmake
+++ b/src/tint/cmd/loopy/BUILD.cmake
@@ -45,8 +45,6 @@
tint_lang_wgsl_helpers
tint_lang_wgsl_inspector
tint_lang_wgsl_program
- tint_lang_wgsl_reader
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -97,6 +95,13 @@
)
endif(TINT_BUILD_SPV_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_cmd_loopy_cmd cmd
+ tint_lang_wgsl_reader
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_cmd_loopy_cmd cmd
tint_lang_wgsl_writer
diff --git a/src/tint/cmd/loopy/BUILD.gn b/src/tint/cmd/loopy/BUILD.gn
index 4c22886..954e5e6 100644
--- a/src/tint/cmd/loopy/BUILD.gn
+++ b/src/tint/cmd/loopy/BUILD.gn
@@ -44,8 +44,6 @@
"${tint_src_dir}/lang/wgsl/helpers",
"${tint_src_dir}/lang/wgsl/inspector",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -92,6 +90,13 @@
]
}
+ if (tint_build_wgsl_reader) {
+ deps += [
+ "${tint_src_dir}/lang/wgsl/reader",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
+ ]
+ }
+
if (tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
}
diff --git a/src/tint/cmd/loopy/main.cc b/src/tint/cmd/loopy/main.cc
index 005b8e7..31cd2dc 100644
--- a/src/tint/cmd/loopy/main.cc
+++ b/src/tint/cmd/loopy/main.cc
@@ -18,7 +18,6 @@
#include "src/tint/cmd/common/generate_external_texture_bindings.h"
#include "src/tint/cmd/common/helper.h"
#include "src/tint/lang/core/ir/module.h"
-#include "src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.h"
#if TINT_BUILD_GLSL_WRITER
#include "src/tint/lang/glsl/writer/writer.h"
@@ -42,6 +41,7 @@
#endif // TINT_BUILD_SPV_WRITER
#if TINT_BUILD_WGSL_READER
+#include "src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.h"
#include "src/tint/lang/wgsl/reader/reader.h"
#endif // TINT_BUILD_WGSL_READER
@@ -380,6 +380,7 @@
opts.filename = options.input_filename;
auto info = tint::cmd::LoadProgramInfo(opts);
+#if TINT_BUILD_WGSL_READER
{
uint32_t loop_count = 1;
if (options.loop == Looper::kIRGenerate) {
@@ -392,6 +393,7 @@
}
}
}
+#endif // TINT_BUILD_WGSL_READER
bool success = false;
{
diff --git a/src/tint/cmd/test/BUILD.bazel b/src/tint/cmd/test/BUILD.bazel
index 56f8230..81c6552 100644
--- a/src/tint/cmd/test/BUILD.bazel
+++ b/src/tint/cmd/test/BUILD.bazel
@@ -40,11 +40,8 @@
"//src/tint/lang/spirv/ir:test",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/helpers:test",
- "//src/tint/lang/wgsl/inspector:test",
"//src/tint/lang/wgsl/program:test",
"//src/tint/lang/wgsl/reader/lower:test",
- "//src/tint/lang/wgsl/reader/parser:test",
- "//src/tint/lang/wgsl/reader/program_to_ir:test",
"//src/tint/lang/wgsl/resolver:test",
"//src/tint/lang/wgsl/sem:test",
"//src/tint/lang/wgsl/writer/ir_to_program:test",
@@ -125,6 +122,13 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/inspector:test",
+ "//src/tint/lang/wgsl/reader/parser:test",
+ "//src/tint/lang/wgsl/reader/program_to_ir:test",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/ast/transform:test",
],
diff --git a/src/tint/cmd/test/BUILD.cmake b/src/tint/cmd/test/BUILD.cmake
index 7dd074a..e0f6550 100644
--- a/src/tint/cmd/test/BUILD.cmake
+++ b/src/tint/cmd/test/BUILD.cmake
@@ -41,11 +41,8 @@
tint_lang_spirv_ir_test
tint_lang_wgsl_ast_test
tint_lang_wgsl_helpers_test
- tint_lang_wgsl_inspector_test
tint_lang_wgsl_program_test
tint_lang_wgsl_reader_lower_test
- tint_lang_wgsl_reader_parser_test
- tint_lang_wgsl_reader_program_to_ir_test
tint_lang_wgsl_resolver_test
tint_lang_wgsl_sem_test
tint_lang_wgsl_writer_ir_to_program_test
@@ -140,6 +137,14 @@
)
endif(TINT_BUILD_SPV_WRITER AND TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_cmd_test_test_cmd test_cmd
+ tint_lang_wgsl_inspector_test
+ tint_lang_wgsl_reader_parser_test
+ tint_lang_wgsl_reader_program_to_ir_test
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_cmd_test_test_cmd test_cmd
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/cmd/test/BUILD.gn b/src/tint/cmd/test/BUILD.gn
index 356b7043..09acee9 100644
--- a/src/tint/cmd/test/BUILD.gn
+++ b/src/tint/cmd/test/BUILD.gn
@@ -47,11 +47,8 @@
"${tint_src_dir}/lang/wgsl:unittests",
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/helpers:unittests",
- "${tint_src_dir}/lang/wgsl/inspector:unittests",
"${tint_src_dir}/lang/wgsl/program:unittests",
"${tint_src_dir}/lang/wgsl/reader/lower:unittests",
- "${tint_src_dir}/lang/wgsl/reader/parser:unittests",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir:unittests",
"${tint_src_dir}/lang/wgsl/resolver:unittests",
"${tint_src_dir}/lang/wgsl/sem:unittests",
"${tint_src_dir}/lang/wgsl/writer/ir_to_program:unittests",
@@ -130,6 +127,14 @@
deps += [ "${tint_src_dir}/lang/spirv/writer/ast_raise:unittests" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [
+ "${tint_src_dir}/lang/wgsl/inspector:unittests",
+ "${tint_src_dir}/lang/wgsl/reader/parser:unittests",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir:unittests",
+ ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/ast/transform:unittests" ]
}
diff --git a/src/tint/cmd/tint/BUILD.bazel b/src/tint/cmd/tint/BUILD.bazel
index 730a127..710d616 100644
--- a/src/tint/cmd/tint/BUILD.bazel
+++ b/src/tint/cmd/tint/BUILD.bazel
@@ -45,8 +45,6 @@
"//src/tint/lang/wgsl/helpers",
"//src/tint/lang/wgsl/inspector",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/cli",
"//src/tint/utils/command",
@@ -103,6 +101,12 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/writer",
],
@@ -138,6 +142,11 @@
)
alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
+alias(
name = "tint_build_wgsl_writer",
actual = "//src/tint:tint_build_wgsl_writer_true",
)
diff --git a/src/tint/cmd/tint/BUILD.cmake b/src/tint/cmd/tint/BUILD.cmake
index acc84bf..6408a3a 100644
--- a/src/tint/cmd/tint/BUILD.cmake
+++ b/src/tint/cmd/tint/BUILD.cmake
@@ -46,8 +46,6 @@
tint_lang_wgsl_helpers
tint_lang_wgsl_inspector
tint_lang_wgsl_program
- tint_lang_wgsl_reader
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_sem
tint_utils_cli
tint_utils_command
@@ -113,6 +111,13 @@
)
endif(TINT_BUILD_SPV_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_cmd_tint_cmd cmd
+ tint_lang_wgsl_reader
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_cmd_tint_cmd cmd
tint_lang_wgsl_writer
diff --git a/src/tint/cmd/tint/BUILD.gn b/src/tint/cmd/tint/BUILD.gn
index b2bc2b4..3859960 100644
--- a/src/tint/cmd/tint/BUILD.gn
+++ b/src/tint/cmd/tint/BUILD.gn
@@ -45,8 +45,6 @@
"${tint_src_dir}/lang/wgsl/helpers",
"${tint_src_dir}/lang/wgsl/inspector",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/cli",
"${tint_src_dir}/utils/command",
@@ -109,6 +107,13 @@
]
}
+ if (tint_build_wgsl_reader) {
+ deps += [
+ "${tint_src_dir}/lang/wgsl/reader",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
+ ]
+ }
+
if (tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
}
diff --git a/src/tint/cmd/tint/main.cc b/src/tint/cmd/tint/main.cc
index b96517c..7060ad5 100644
--- a/src/tint/cmd/tint/main.cc
+++ b/src/tint/cmd/tint/main.cc
@@ -46,7 +46,6 @@
#include "src/tint/lang/wgsl/ast/transform/single_entry_point.h"
#include "src/tint/lang/wgsl/ast/transform/substitute_override.h"
#include "src/tint/lang/wgsl/helpers/flatten_bindings.h"
-#include "src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.h"
#include "src/tint/utils/cli/cli.h"
#include "src/tint/utils/command/command.h"
#include "src/tint/utils/containers/transform.h"
@@ -61,6 +60,7 @@
#endif // TINT_BUILD_SPV_READER
#if TINT_BUILD_WGSL_READER
+#include "src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.h"
#include "src/tint/lang/wgsl/reader/reader.h"
#endif // TINT_BUILD_WGSL_READER
@@ -496,7 +496,9 @@
/// like `std::string` and `std::vector` do.
/// @returns true on success
template <typename ContainerT>
-bool WriteFile(const std::string& output_file, const std::string mode, const ContainerT& buffer) {
+[[maybe_unused]] bool WriteFile(const std::string& output_file,
+ const std::string mode,
+ const ContainerT& buffer) {
const bool use_stdout = output_file.empty() || output_file == "-";
FILE* file = stdout;
@@ -631,7 +633,8 @@
/// @param program the program to generate
/// @param options the options that Tint was invoked with
/// @returns true on success
-bool GenerateWgsl(const tint::Program& program, const Options& options) {
+bool GenerateWgsl([[maybe_unused]] const tint::Program& program,
+ [[maybe_unused]] const Options& options) {
#if TINT_BUILD_WGSL_WRITER
// TODO(jrprice): Provide a way for the user to set non-default options.
tint::wgsl::writer::Options gen_options;
@@ -650,6 +653,7 @@
PrintHash(hash);
}
+#if TINT_BUILD_WGSL_READER
if (options.validate && options.skip_hash.count(hash) == 0) {
// Attempt to re-parse the output program with Tint's WGSL reader.
auto source = std::make_unique<tint::Source::File>(options.input_filename, result->wgsl);
@@ -661,11 +665,10 @@
return false;
}
}
+#endif // TINT_BUILD_WGSL_READER
return true;
#else
- (void)program;
- (void)options;
std::cerr << "WGSL writer not enabled in tint build" << std::endl;
return false;
#endif // TINT_BUILD_WGSL_WRITER
diff --git a/src/tint/lang/core/constant/BUILD.bazel b/src/tint/lang/core/constant/BUILD.bazel
index 6904781..a78387e 100644
--- a/src/tint/lang/core/constant/BUILD.bazel
+++ b/src/tint/lang/core/constant/BUILD.bazel
@@ -96,7 +96,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/resolver:test",
"//src/tint/lang/wgsl/sem",
@@ -114,8 +113,18 @@
"//src/tint/utils/text",
"//src/tint/utils/traits",
"@gtest",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }),
copts = COPTS,
visibility = ["//visibility:public"],
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/lang/core/constant/BUILD.cmake b/src/tint/lang/core/constant/BUILD.cmake
index d77761f..c6d7ff9 100644
--- a/src/tint/lang/core/constant/BUILD.cmake
+++ b/src/tint/lang/core/constant/BUILD.cmake
@@ -95,7 +95,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_intrinsic
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_resolver
tint_lang_wgsl_resolver_test
tint_lang_wgsl_sem
@@ -117,3 +116,9 @@
tint_target_add_external_dependencies(tint_lang_core_constant_test test
"gtest"
)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_core_constant_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
diff --git a/src/tint/lang/core/constant/BUILD.gn b/src/tint/lang/core/constant/BUILD.gn
index dc74c73..a4d035e 100644
--- a/src/tint/lang/core/constant/BUILD.gn
+++ b/src/tint/lang/core/constant/BUILD.gn
@@ -97,7 +97,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/resolver:unittests",
"${tint_src_dir}/lang/wgsl/sem",
@@ -115,5 +114,9 @@
"${tint_src_dir}/utils/text",
"${tint_src_dir}/utils/traits",
]
+
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
}
}
diff --git a/src/tint/lang/core/constant/eval_binary_op_test.cc b/src/tint/lang/core/constant/eval_binary_op_test.cc
index 8860d48..6f62abb 100644
--- a/src/tint/lang/core/constant/eval_binary_op_test.cc
+++ b/src/tint/lang/core/constant/eval_binary_op_test.cc
@@ -14,9 +14,12 @@
#include "src/tint/lang/core/constant/eval_test.h"
-#include "src/tint/lang/wgsl/reader/reader.h"
#include "src/tint/utils/result/result.h"
+#if TINT_BUILD_WGSL_READER
+#include "src/tint/lang/wgsl/reader/reader.h"
+#endif
+
using namespace tint::core::fluent_types; // NOLINT
using namespace tint::core::number_suffixes; // NOLINT
using ::testing::HasSubstr;
diff --git a/src/tint/lang/core/ir/transform/BUILD.bazel b/src/tint/lang/core/ir/transform/BUILD.bazel
index 456c1ec..fd23d7f7 100644
--- a/src/tint/lang/core/ir/transform/BUILD.bazel
+++ b/src/tint/lang/core/ir/transform/BUILD.bazel
@@ -107,6 +107,8 @@
"std140_test.cc",
"zero_init_workgroup_memory_test.cc",
] + select({
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"direct_variable_access_wgsl_test.cc",
],
@@ -126,8 +128,6 @@
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/sem",
"//src/tint/lang/wgsl/writer/ir_to_program",
"//src/tint/utils/containers",
@@ -145,6 +145,12 @@
"//src/tint/utils/traits",
"@gtest",
] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
+ }) + select({
"//conditions:default": [],
}) + select({
":tint_build_wgsl_writer": [
diff --git a/src/tint/lang/core/ir/transform/BUILD.cmake b/src/tint/lang/core/ir/transform/BUILD.cmake
index acafae7..2533c85 100644
--- a/src/tint/lang/core/ir/transform/BUILD.cmake
+++ b/src/tint/lang/core/ir/transform/BUILD.cmake
@@ -118,8 +118,6 @@
tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
- tint_lang_wgsl_reader
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_sem
tint_lang_wgsl_writer_ir_to_program
tint_utils_containers
@@ -141,6 +139,13 @@
"gtest"
)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_core_ir_transform_test test
+ tint_lang_wgsl_reader
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_sources(tint_lang_core_ir_transform_test test
"lang/core/ir/transform/direct_variable_access_wgsl_test.cc"
diff --git a/src/tint/lang/core/ir/transform/BUILD.gn b/src/tint/lang/core/ir/transform/BUILD.gn
index 992ac8e..4185b72 100644
--- a/src/tint/lang/core/ir/transform/BUILD.gn
+++ b/src/tint/lang/core/ir/transform/BUILD.gn
@@ -120,8 +120,6 @@
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/lang/wgsl/writer/ir_to_program",
"${tint_src_dir}/utils/containers",
@@ -139,6 +137,13 @@
"${tint_src_dir}/utils/traits",
]
+ if (tint_build_wgsl_reader) {
+ deps += [
+ "${tint_src_dir}/lang/wgsl/reader",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
+ ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
sources += [ "direct_variable_access_wgsl_test.cc" ]
}
diff --git a/src/tint/lang/glsl/writer/ast_raise/BUILD.bazel b/src/tint/lang/glsl/writer/ast_raise/BUILD.bazel
index 667db1b..8926b55 100644
--- a/src/tint/lang/glsl/writer/ast_raise/BUILD.bazel
+++ b/src/tint/lang/glsl/writer/ast_raise/BUILD.bazel
@@ -86,7 +86,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -108,6 +107,11 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/ast/transform:test",
],
diff --git a/src/tint/lang/glsl/writer/ast_raise/BUILD.cmake b/src/tint/lang/glsl/writer/ast_raise/BUILD.cmake
index 38f5803..44ed836 100644
--- a/src/tint/lang/glsl/writer/ast_raise/BUILD.cmake
+++ b/src/tint/lang/glsl/writer/ast_raise/BUILD.cmake
@@ -90,7 +90,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -117,6 +116,12 @@
)
endif(TINT_BUILD_GLSL_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_glsl_writer_ast_raise_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_lang_glsl_writer_ast_raise_test test
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/glsl/writer/ast_raise/BUILD.gn b/src/tint/lang/glsl/writer/ast_raise/BUILD.gn
index a3b7671..6ee810f 100644
--- a/src/tint/lang/glsl/writer/ast_raise/BUILD.gn
+++ b/src/tint/lang/glsl/writer/ast_raise/BUILD.gn
@@ -90,7 +90,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -111,6 +110,10 @@
deps += [ "${tint_src_dir}/lang/glsl/writer/ast_raise" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/ast/transform:unittests" ]
}
diff --git a/src/tint/lang/hlsl/writer/ast_raise/BUILD.bazel b/src/tint/lang/hlsl/writer/ast_raise/BUILD.bazel
index 7be8d92..0741302 100644
--- a/src/tint/lang/hlsl/writer/ast_raise/BUILD.bazel
+++ b/src/tint/lang/hlsl/writer/ast_raise/BUILD.bazel
@@ -90,7 +90,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -112,6 +111,11 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/ast/transform:test",
],
diff --git a/src/tint/lang/hlsl/writer/ast_raise/BUILD.cmake b/src/tint/lang/hlsl/writer/ast_raise/BUILD.cmake
index 774aa42..d7240e6 100644
--- a/src/tint/lang/hlsl/writer/ast_raise/BUILD.cmake
+++ b/src/tint/lang/hlsl/writer/ast_raise/BUILD.cmake
@@ -94,7 +94,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -121,6 +120,12 @@
)
endif(TINT_BUILD_HLSL_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_hlsl_writer_ast_raise_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_lang_hlsl_writer_ast_raise_test test
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/hlsl/writer/ast_raise/BUILD.gn b/src/tint/lang/hlsl/writer/ast_raise/BUILD.gn
index a3516b8..8fcad6b 100644
--- a/src/tint/lang/hlsl/writer/ast_raise/BUILD.gn
+++ b/src/tint/lang/hlsl/writer/ast_raise/BUILD.gn
@@ -94,7 +94,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -115,6 +114,10 @@
deps += [ "${tint_src_dir}/lang/hlsl/writer/ast_raise" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/ast/transform:unittests" ]
}
diff --git a/src/tint/lang/msl/writer/BUILD.bazel b/src/tint/lang/msl/writer/BUILD.bazel
index 8b34a6c..098f03e1 100644
--- a/src/tint/lang/msl/writer/BUILD.bazel
+++ b/src/tint/lang/msl/writer/BUILD.bazel
@@ -45,7 +45,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader/lower",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -68,6 +67,11 @@
"//src/tint/lang/msl/writer/printer",
],
"//conditions:default": [],
+ }) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
}),
copts = COPTS,
visibility = ["//visibility:public"],
@@ -119,3 +123,8 @@
actual = "//src/tint:tint_build_msl_writer_true",
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/lang/msl/writer/BUILD.cmake b/src/tint/lang/msl/writer/BUILD.cmake
index 6bcfd2f..1e6b9f1 100644
--- a/src/tint/lang/msl/writer/BUILD.cmake
+++ b/src/tint/lang/msl/writer/BUILD.cmake
@@ -52,7 +52,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader_lower
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -78,6 +77,12 @@
)
endif(TINT_BUILD_MSL_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_msl_writer lib
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
endif(TINT_BUILD_MSL_WRITER)
if(TINT_BUILD_MSL_WRITER)
################################################################################
diff --git a/src/tint/lang/msl/writer/BUILD.gn b/src/tint/lang/msl/writer/BUILD.gn
index 39d292d..b356e63 100644
--- a/src/tint/lang/msl/writer/BUILD.gn
+++ b/src/tint/lang/msl/writer/BUILD.gn
@@ -48,7 +48,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader/lower",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -73,6 +72,10 @@
"${tint_src_dir}/lang/msl/writer/printer",
]
}
+
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader/program_to_ir" ]
+ }
}
}
if (tint_build_benchmarks) {
diff --git a/src/tint/lang/msl/writer/ast_raise/BUILD.bazel b/src/tint/lang/msl/writer/ast_raise/BUILD.bazel
index b347907..cd51db5 100644
--- a/src/tint/lang/msl/writer/ast_raise/BUILD.bazel
+++ b/src/tint/lang/msl/writer/ast_raise/BUILD.bazel
@@ -84,7 +84,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -107,6 +106,11 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/ast/transform:test",
],
diff --git a/src/tint/lang/msl/writer/ast_raise/BUILD.cmake b/src/tint/lang/msl/writer/ast_raise/BUILD.cmake
index 9a44507..6af7310 100644
--- a/src/tint/lang/msl/writer/ast_raise/BUILD.cmake
+++ b/src/tint/lang/msl/writer/ast_raise/BUILD.cmake
@@ -88,7 +88,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -116,6 +115,12 @@
)
endif(TINT_BUILD_MSL_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_msl_writer_ast_raise_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_lang_msl_writer_ast_raise_test test
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/msl/writer/ast_raise/BUILD.gn b/src/tint/lang/msl/writer/ast_raise/BUILD.gn
index 02bcc03..b7ebdb3 100644
--- a/src/tint/lang/msl/writer/ast_raise/BUILD.gn
+++ b/src/tint/lang/msl/writer/ast_raise/BUILD.gn
@@ -88,7 +88,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
@@ -110,6 +109,10 @@
deps += [ "${tint_src_dir}/lang/msl/writer/ast_raise" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/ast/transform:unittests" ]
}
diff --git a/src/tint/lang/msl/writer/writer.cc b/src/tint/lang/msl/writer/writer.cc
index 54fffe0..92fd019 100644
--- a/src/tint/lang/msl/writer/writer.cc
+++ b/src/tint/lang/msl/writer/writer.cc
@@ -21,7 +21,10 @@
#include "src/tint/lang/msl/writer/printer/printer.h"
#include "src/tint/lang/msl/writer/raise/raise.h"
#include "src/tint/lang/wgsl/reader/lower/lower.h"
+
+#if TINT_BUILD_WGSL_READER
#include "src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.h"
+#endif
namespace tint::msl::writer {
@@ -33,6 +36,7 @@
Output output;
if (options.use_tint_ir) {
+#if TINT_BUILD_WGSL_READER
// Convert the AST program to an IR module.
auto converted = wgsl::reader::ProgramToIR(program);
if (!converted) {
@@ -58,6 +62,9 @@
return result.Failure();
}
output.msl = impl->Result();
+#else
+ return Failure{"use_tint_ir requires building with TINT_BUILD_WGSL_READER"};
+#endif
} else {
// Sanitize the program.
auto sanitized_result = Sanitize(program, options);
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel b/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
index c990ff6..aabcbe3 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.bazel
@@ -84,8 +84,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
- "//src/tint/lang/wgsl/reader/parser",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -108,6 +106,12 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ "//src/tint/lang/wgsl/reader/parser",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/ast/transform:test",
],
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake b/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
index 628d539..3525002 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.cmake
@@ -88,8 +88,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
- tint_lang_wgsl_reader
- tint_lang_wgsl_reader_parser
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -117,6 +115,13 @@
)
endif(TINT_BUILD_SPV_READER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_spirv_reader_ast_lower_test test
+ tint_lang_wgsl_reader
+ tint_lang_wgsl_reader_parser
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_lang_spirv_reader_ast_lower_test test
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/spirv/reader/ast_lower/BUILD.gn b/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
index c35aac9..19ed437 100644
--- a/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
+++ b/src/tint/lang/spirv/reader/ast_lower/BUILD.gn
@@ -88,8 +88,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
- "${tint_src_dir}/lang/wgsl/reader/parser",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
@@ -111,6 +109,13 @@
deps += [ "${tint_src_dir}/lang/spirv/reader/ast_lower" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [
+ "${tint_src_dir}/lang/wgsl/reader",
+ "${tint_src_dir}/lang/wgsl/reader/parser",
+ ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/ast/transform:unittests" ]
}
diff --git a/src/tint/lang/spirv/writer/BUILD.bazel b/src/tint/lang/spirv/writer/BUILD.bazel
index 7220323..f48468d 100644
--- a/src/tint/lang/spirv/writer/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/BUILD.bazel
@@ -47,7 +47,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader/lower",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -75,6 +74,11 @@
"//src/tint/lang/spirv/writer/raise",
],
"//conditions:default": [],
+ }) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
}),
copts = COPTS,
visibility = ["//visibility:public"],
@@ -197,6 +201,11 @@
actual = "//src/tint:tint_build_spv_writer_true",
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
selects.config_setting_group(
name = "tint_build_spv_reader_or_tint_build_spv_writer",
match_any = [
diff --git a/src/tint/lang/spirv/writer/BUILD.cmake b/src/tint/lang/spirv/writer/BUILD.cmake
index c0169e9..5536c7c 100644
--- a/src/tint/lang/spirv/writer/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/BUILD.cmake
@@ -55,7 +55,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader_lower
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -87,6 +86,12 @@
)
endif(TINT_BUILD_SPV_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_spirv_writer lib
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
endif(TINT_BUILD_SPV_WRITER)
if(TINT_BUILD_SPV_WRITER)
################################################################################
diff --git a/src/tint/lang/spirv/writer/BUILD.gn b/src/tint/lang/spirv/writer/BUILD.gn
index 31d0875..4587f07 100644
--- a/src/tint/lang/spirv/writer/BUILD.gn
+++ b/src/tint/lang/spirv/writer/BUILD.gn
@@ -50,7 +50,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
"${tint_src_dir}/lang/wgsl/reader/lower",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -79,6 +78,10 @@
"${tint_src_dir}/lang/spirv/writer/raise",
]
}
+
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader/program_to_ir" ]
+ }
}
}
if (tint_build_unittests) {
diff --git a/src/tint/lang/spirv/writer/ast_raise/BUILD.bazel b/src/tint/lang/spirv/writer/ast_raise/BUILD.bazel
index 5d8260a..836fdc5 100644
--- a/src/tint/lang/spirv/writer/ast_raise/BUILD.bazel
+++ b/src/tint/lang/spirv/writer/ast_raise/BUILD.bazel
@@ -90,7 +90,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -112,6 +111,11 @@
],
"//conditions:default": [],
}) + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/ast/transform:test",
],
diff --git a/src/tint/lang/spirv/writer/ast_raise/BUILD.cmake b/src/tint/lang/spirv/writer/ast_raise/BUILD.cmake
index c9679ee..20a5f43 100644
--- a/src/tint/lang/spirv/writer/ast_raise/BUILD.cmake
+++ b/src/tint/lang/spirv/writer/ast_raise/BUILD.cmake
@@ -94,7 +94,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -121,6 +120,12 @@
)
endif(TINT_BUILD_SPV_WRITER)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_spirv_writer_ast_raise_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_lang_spirv_writer_ast_raise_test test
tint_lang_wgsl_ast_transform_test
diff --git a/src/tint/lang/spirv/writer/ast_raise/BUILD.gn b/src/tint/lang/spirv/writer/ast_raise/BUILD.gn
index 9147ed0..735bb0b 100644
--- a/src/tint/lang/spirv/writer/ast_raise/BUILD.gn
+++ b/src/tint/lang/spirv/writer/ast_raise/BUILD.gn
@@ -94,7 +94,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -115,6 +114,10 @@
deps += [ "${tint_src_dir}/lang/spirv/writer/ast_raise" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/ast/transform:unittests" ]
}
diff --git a/src/tint/lang/spirv/writer/writer.cc b/src/tint/lang/spirv/writer/writer.cc
index 94484f4..f1a6763 100644
--- a/src/tint/lang/spirv/writer/writer.cc
+++ b/src/tint/lang/spirv/writer/writer.cc
@@ -22,7 +22,10 @@
#include "src/tint/lang/spirv/writer/printer/printer.h"
#include "src/tint/lang/spirv/writer/raise/raise.h"
#include "src/tint/lang/wgsl/reader/lower/lower.h"
+
+#if TINT_BUILD_WGSL_READER
#include "src/tint/lang/wgsl/reader/program_to_ir/program_to_ir.h"
+#endif
// Included by 'ast_printer.h', included again here for './tools/run gen' track the dependency.
#include "spirv/unified1/spirv.h"
@@ -51,6 +54,7 @@
Output output;
if (options.use_tint_ir) {
+#if TINT_BUILD_WGSL_READER
// Convert the AST program to an IR module.
auto converted = wgsl::reader::ProgramToIR(program);
if (!converted) {
@@ -76,6 +80,9 @@
return std::move(spirv.Failure());
}
output.spirv = std::move(spirv.Get());
+#else
+ return Failure{"use_tint_ir requires building with TINT_BUILD_WGSL_READER"};
+#endif
} else {
// Sanitize the program.
auto sanitized_result = Sanitize(program, options);
diff --git a/src/tint/lang/wgsl/BUILD.bazel b/src/tint/lang/wgsl/BUILD.bazel
index a997f49..e415e16 100644
--- a/src/tint/lang/wgsl/BUILD.bazel
+++ b/src/tint/lang/wgsl/BUILD.bazel
@@ -60,6 +60,8 @@
"extension_test.cc",
"wgsl_test.cc",
] + select({
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"ir_roundtrip_test.cc",
],
@@ -77,9 +79,7 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/helpers:test",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/reader/lower",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/lang/wgsl/writer/ir_to_program",
@@ -98,6 +98,12 @@
"//src/tint/utils/traits",
"@gtest",
] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
+ }) + select({
"//conditions:default": [],
}) + select({
":tint_build_wgsl_writer": [
diff --git a/src/tint/lang/wgsl/BUILD.cmake b/src/tint/lang/wgsl/BUILD.cmake
index 324699b..36b6d78 100644
--- a/src/tint/lang/wgsl/BUILD.cmake
+++ b/src/tint/lang/wgsl/BUILD.cmake
@@ -80,9 +80,7 @@
tint_lang_wgsl_ast
tint_lang_wgsl_helpers_test
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_reader_lower
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_lang_wgsl_writer_ir_to_program
@@ -105,6 +103,13 @@
"gtest"
)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_test test
+ tint_lang_wgsl_reader
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_sources(tint_lang_wgsl_test test
"lang/wgsl/ir_roundtrip_test.cc"
diff --git a/src/tint/lang/wgsl/BUILD.gn b/src/tint/lang/wgsl/BUILD.gn
index cc15660..4a8a3bc 100644
--- a/src/tint/lang/wgsl/BUILD.gn
+++ b/src/tint/lang/wgsl/BUILD.gn
@@ -71,9 +71,7 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/helpers:unittests",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/reader/lower",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/lang/wgsl/writer/ir_to_program",
@@ -92,6 +90,13 @@
"${tint_src_dir}/utils/traits",
]
+ if (tint_build_wgsl_reader) {
+ deps += [
+ "${tint_src_dir}/lang/wgsl/reader",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
+ ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
sources += [ "ir_roundtrip_test.cc" ]
}
diff --git a/src/tint/lang/wgsl/ast/BUILD.bazel b/src/tint/lang/wgsl/ast/BUILD.bazel
index c8b2eb9..4ca45b5 100644
--- a/src/tint/lang/wgsl/ast/BUILD.bazel
+++ b/src/tint/lang/wgsl/ast/BUILD.bazel
@@ -275,6 +275,8 @@
"while_statement_test.cc",
"workgroup_attribute_test.cc",
] + select({
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_reader_and_tint_build_wgsl_writer": [
"module_clone_test.cc",
],
@@ -292,7 +294,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -310,6 +311,11 @@
"//src/tint/utils/traits",
"@gtest",
] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
"//conditions:default": [],
}) + select({
":tint_build_wgsl_writer": [
diff --git a/src/tint/lang/wgsl/ast/BUILD.cmake b/src/tint/lang/wgsl/ast/BUILD.cmake
index 90f8d15..c060fc8 100644
--- a/src/tint/lang/wgsl/ast/BUILD.cmake
+++ b/src/tint/lang/wgsl/ast/BUILD.cmake
@@ -286,7 +286,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_transform
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -308,6 +307,12 @@
"gtest"
)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_ast_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_READER AND TINT_BUILD_WGSL_WRITER)
tint_target_add_sources(tint_lang_wgsl_ast_test test
"lang/wgsl/ast/module_clone_test.cc"
diff --git a/src/tint/lang/wgsl/ast/BUILD.gn b/src/tint/lang/wgsl/ast/BUILD.gn
index 3e0c11b..b8f68a9 100644
--- a/src/tint/lang/wgsl/ast/BUILD.gn
+++ b/src/tint/lang/wgsl/ast/BUILD.gn
@@ -286,7 +286,6 @@
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
@@ -304,6 +303,10 @@
"${tint_src_dir}/utils/traits",
]
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_reader && tint_build_wgsl_writer) {
sources += [ "module_clone_test.cc" ]
}
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.bazel b/src/tint/lang/wgsl/ast/transform/BUILD.bazel
index 5d14299..cf13cce 100644
--- a/src/tint/lang/wgsl/ast/transform/BUILD.bazel
+++ b/src/tint/lang/wgsl/ast/transform/BUILD.bazel
@@ -173,7 +173,6 @@
"//src/tint/lang/wgsl/ast/transform",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -191,6 +190,11 @@
"//src/tint/utils/traits",
"@gtest",
] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }) + select({
":tint_build_wgsl_writer": [
"//src/tint/lang/wgsl/writer",
],
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.cmake b/src/tint/lang/wgsl/ast/transform/BUILD.cmake
index e2aec67..bc523fc 100644
--- a/src/tint/lang/wgsl/ast/transform/BUILD.cmake
+++ b/src/tint/lang/wgsl/ast/transform/BUILD.cmake
@@ -174,7 +174,6 @@
tint_lang_wgsl_ast_transform
tint_lang_wgsl_ast_test
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -196,6 +195,12 @@
"gtest"
)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_ast_transform_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
if(TINT_BUILD_WGSL_WRITER)
tint_target_add_dependencies(tint_lang_wgsl_ast_transform_test test
tint_lang_wgsl_writer
diff --git a/src/tint/lang/wgsl/ast/transform/BUILD.gn b/src/tint/lang/wgsl/ast/transform/BUILD.gn
index 20060c7..5012415 100644
--- a/src/tint/lang/wgsl/ast/transform/BUILD.gn
+++ b/src/tint/lang/wgsl/ast/transform/BUILD.gn
@@ -175,7 +175,6 @@
"${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
@@ -193,6 +192,10 @@
"${tint_src_dir}/utils/traits",
]
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+
if (tint_build_wgsl_writer) {
deps += [ "${tint_src_dir}/lang/wgsl/writer" ]
}
diff --git a/src/tint/lang/wgsl/helpers/BUILD.bazel b/src/tint/lang/wgsl/helpers/BUILD.bazel
index 12a1a5e..4afa836 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.bazel
+++ b/src/tint/lang/wgsl/helpers/BUILD.bazel
@@ -72,8 +72,12 @@
"append_vector_test.cc",
"check_supported_extensions_test.cc",
"flatten_bindings_test.cc",
- "ir_program_test.h",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "ir_program_test.h",
+ ],
+ "//conditions:default": [],
+ }),
deps = [
"//src/tint/api/common",
"//src/tint/lang/core",
@@ -87,9 +91,7 @@
"//src/tint/lang/wgsl/helpers",
"//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/reader/lower",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -106,8 +108,19 @@
"//src/tint/utils/text",
"//src/tint/utils/traits",
"@gtest",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
+ }),
copts = COPTS,
visibility = ["//visibility:public"],
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/lang/wgsl/helpers/BUILD.cmake b/src/tint/lang/wgsl/helpers/BUILD.cmake
index 82cf9d2..9a77250 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.cmake
+++ b/src/tint/lang/wgsl/helpers/BUILD.cmake
@@ -70,7 +70,6 @@
lang/wgsl/helpers/append_vector_test.cc
lang/wgsl/helpers/check_supported_extensions_test.cc
lang/wgsl/helpers/flatten_bindings_test.cc
- lang/wgsl/helpers/ir_program_test.h
)
tint_target_add_dependencies(tint_lang_wgsl_helpers_test test
@@ -86,9 +85,7 @@
tint_lang_wgsl_helpers
tint_lang_wgsl_intrinsic
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_reader_lower
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -109,3 +106,13 @@
tint_target_add_external_dependencies(tint_lang_wgsl_helpers_test test
"gtest"
)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_sources(tint_lang_wgsl_helpers_test test
+ "lang/wgsl/helpers/ir_program_test.h"
+ )
+ tint_target_add_dependencies(tint_lang_wgsl_helpers_test test
+ tint_lang_wgsl_reader
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
diff --git a/src/tint/lang/wgsl/helpers/BUILD.gn b/src/tint/lang/wgsl/helpers/BUILD.gn
index 51ba0b5..42370f6 100644
--- a/src/tint/lang/wgsl/helpers/BUILD.gn
+++ b/src/tint/lang/wgsl/helpers/BUILD.gn
@@ -72,7 +72,6 @@
"append_vector_test.cc",
"check_supported_extensions_test.cc",
"flatten_bindings_test.cc",
- "ir_program_test.h",
]
deps = [
"${tint_src_dir}:gmock_and_gtest",
@@ -88,9 +87,7 @@
"${tint_src_dir}/lang/wgsl/helpers",
"${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/reader/lower",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
@@ -107,5 +104,13 @@
"${tint_src_dir}/utils/text",
"${tint_src_dir}/utils/traits",
]
+
+ if (tint_build_wgsl_reader) {
+ sources += [ "ir_program_test.h" ]
+ deps += [
+ "${tint_src_dir}/lang/wgsl/reader",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
+ ]
+ }
}
}
diff --git a/src/tint/lang/wgsl/helpers/ir_program_test.h b/src/tint/lang/wgsl/helpers/ir_program_test.h
index e67dd53..87fa102 100644
--- a/src/tint/lang/wgsl/helpers/ir_program_test.h
+++ b/src/tint/lang/wgsl/helpers/ir_program_test.h
@@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+// GEN_BUILD:CONDITION(tint_build_wgsl_reader)
+
#ifndef SRC_TINT_LANG_WGSL_HELPERS_IR_PROGRAM_TEST_H_
#define SRC_TINT_LANG_WGSL_HELPERS_IR_PROGRAM_TEST_H_
@@ -67,7 +69,6 @@
/// @param wgsl the WGSL to convert to IR
/// @returns the generated module
Result<core::ir::Module> Build(std::string wgsl) {
-#if TINT_BUILD_WGSL_READER
Source::File file("test.wgsl", std::move(wgsl));
auto result = wgsl::reader::WgslToIR(&file);
if (result) {
@@ -77,10 +78,6 @@
}
}
return result;
-#else
- (void)wgsl;
- return Failure{"error: Tint not built with the WGSL reader"};
-#endif
}
};
diff --git a/src/tint/lang/wgsl/inspector/BUILD.bazel b/src/tint/lang/wgsl/inspector/BUILD.bazel
index edbb595..323a326 100644
--- a/src/tint/lang/wgsl/inspector/BUILD.bazel
+++ b/src/tint/lang/wgsl/inspector/BUILD.bazel
@@ -83,7 +83,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/inspector",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -100,8 +99,18 @@
"//src/tint/utils/text",
"//src/tint/utils/traits",
"@gtest",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }),
copts = COPTS,
visibility = ["//visibility:public"],
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/lang/wgsl/inspector/BUILD.cfg b/src/tint/lang/wgsl/inspector/BUILD.cfg
new file mode 100644
index 0000000..22818cc
--- /dev/null
+++ b/src/tint/lang/wgsl/inspector/BUILD.cfg
@@ -0,0 +1,5 @@
+{
+ "test": {
+ "condition": "tint_build_wgsl_reader",
+ }
+}
diff --git a/src/tint/lang/wgsl/inspector/BUILD.cmake b/src/tint/lang/wgsl/inspector/BUILD.cmake
index 8cfe979..623914b 100644
--- a/src/tint/lang/wgsl/inspector/BUILD.cmake
+++ b/src/tint/lang/wgsl/inspector/BUILD.cmake
@@ -60,9 +60,11 @@
tint_utils_traits
)
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_lang_wgsl_inspector_test
# Kind: test
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_lang_wgsl_inspector_test test
lang/wgsl/inspector/inspector_builder_test.cc
@@ -82,7 +84,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_inspector
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -103,3 +104,11 @@
tint_target_add_external_dependencies(tint_lang_wgsl_inspector_test test
"gtest"
)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_inspector_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
+endif(TINT_BUILD_WGSL_READER)
\ No newline at end of file
diff --git a/src/tint/lang/wgsl/inspector/BUILD.gn b/src/tint/lang/wgsl/inspector/BUILD.gn
index f2caef1..fe581cd 100644
--- a/src/tint/lang/wgsl/inspector/BUILD.gn
+++ b/src/tint/lang/wgsl/inspector/BUILD.gn
@@ -65,41 +65,46 @@
]
}
if (tint_build_unittests) {
- tint_unittests_source_set("unittests") {
- sources = [
- "inspector_builder_test.cc",
- "inspector_builder_test.h",
- "inspector_runner_test.cc",
- "inspector_runner_test.h",
- "inspector_test.cc",
- ]
- deps = [
- "${tint_src_dir}:gmock_and_gtest",
- "${tint_src_dir}/api/common",
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/ir",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/inspector",
- "${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
- "${tint_src_dir}/lang/wgsl/resolver",
- "${tint_src_dir}/lang/wgsl/sem",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/reflection",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
+ if (tint_build_wgsl_reader) {
+ tint_unittests_source_set("unittests") {
+ sources = [
+ "inspector_builder_test.cc",
+ "inspector_builder_test.h",
+ "inspector_runner_test.cc",
+ "inspector_runner_test.h",
+ "inspector_test.cc",
+ ]
+ deps = [
+ "${tint_src_dir}:gmock_and_gtest",
+ "${tint_src_dir}/api/common",
+ "${tint_src_dir}/lang/core",
+ "${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/ir",
+ "${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
+ "${tint_src_dir}/lang/wgsl/ast",
+ "${tint_src_dir}/lang/wgsl/inspector",
+ "${tint_src_dir}/lang/wgsl/program",
+ "${tint_src_dir}/lang/wgsl/resolver",
+ "${tint_src_dir}/lang/wgsl/sem",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/id",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/reflection",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/symbol",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
+
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+ }
}
}
diff --git a/src/tint/lang/wgsl/reader/BUILD.bazel b/src/tint/lang/wgsl/reader/BUILD.bazel
index e47e37f..a6a57a1 100644
--- a/src/tint/lang/wgsl/reader/BUILD.bazel
+++ b/src/tint/lang/wgsl/reader/BUILD.bazel
@@ -41,8 +41,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
"//src/tint/lang/wgsl/reader/lower",
- "//src/tint/lang/wgsl/reader/parser",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -58,7 +56,13 @@
"//src/tint/utils/symbol",
"//src/tint/utils/text",
"//src/tint/utils/traits",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader/parser",
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
+ }),
copts = COPTS,
visibility = ["//visibility:public"],
)
@@ -78,7 +82,6 @@
"//src/tint/lang/wgsl",
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
"//src/tint/utils/diagnostic",
@@ -94,8 +97,18 @@
"//src/tint/utils/text",
"//src/tint/utils/traits",
"@benchmark",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }),
copts = COPTS,
visibility = ["//visibility:public"],
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/lang/wgsl/reader/BUILD.cfg b/src/tint/lang/wgsl/reader/BUILD.cfg
new file mode 100644
index 0000000..e85bddd
--- /dev/null
+++ b/src/tint/lang/wgsl/reader/BUILD.cfg
@@ -0,0 +1,3 @@
+{
+ "condition": "tint_build_wgsl_reader",
+}
diff --git a/src/tint/lang/wgsl/reader/BUILD.cmake b/src/tint/lang/wgsl/reader/BUILD.cmake
index 163a125..a424d38 100644
--- a/src/tint/lang/wgsl/reader/BUILD.cmake
+++ b/src/tint/lang/wgsl/reader/BUILD.cmake
@@ -25,9 +25,11 @@
include(lang/wgsl/reader/parser/BUILD.cmake)
include(lang/wgsl/reader/program_to_ir/BUILD.cmake)
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_lang_wgsl_reader
# Kind: lib
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_lang_wgsl_reader lib
lang/wgsl/reader/reader.cc
@@ -44,8 +46,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_program
tint_lang_wgsl_reader_lower
- tint_lang_wgsl_reader_parser
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -63,9 +63,19 @@
tint_utils_traits
)
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_reader lib
+ tint_lang_wgsl_reader_parser
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
+endif(TINT_BUILD_WGSL_READER)
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_lang_wgsl_reader_bench
# Kind: bench
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_lang_wgsl_reader_bench bench
lang/wgsl/reader/reader_bench.cc
@@ -81,7 +91,6 @@
tint_lang_wgsl
tint_lang_wgsl_ast
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_sem
tint_utils_containers
tint_utils_diagnostic
@@ -101,3 +110,11 @@
tint_target_add_external_dependencies(tint_lang_wgsl_reader_bench bench
"google-benchmark"
)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_reader_bench bench
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
+
+endif(TINT_BUILD_WGSL_READER)
\ No newline at end of file
diff --git a/src/tint/lang/wgsl/reader/BUILD.gn b/src/tint/lang/wgsl/reader/BUILD.gn
index 9d61590..a1502c1 100644
--- a/src/tint/lang/wgsl/reader/BUILD.gn
+++ b/src/tint/lang/wgsl/reader/BUILD.gn
@@ -28,48 +28,14 @@
if (tint_build_unittests || tint_build_benchmarks) {
import("//testing/test.gni")
}
-
-libtint_source_set("reader") {
- sources = [
- "reader.cc",
- "reader.h",
- ]
- deps = [
- "${tint_src_dir}/api/common",
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/ir",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader/lower",
- "${tint_src_dir}/lang/wgsl/reader/parser",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
- "${tint_src_dir}/lang/wgsl/resolver",
- "${tint_src_dir}/lang/wgsl/sem",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/reflection",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
-}
-if (tint_build_benchmarks) {
- tint_unittests_source_set("bench") {
- sources = [ "reader_bench.cc" ]
+if (tint_build_wgsl_reader) {
+ libtint_source_set("reader") {
+ sources = [
+ "reader.cc",
+ "reader.h",
+ ]
deps = [
- "${tint_src_dir}:google_benchmark",
"${tint_src_dir}/api/common",
- "${tint_src_dir}/cmd/bench:bench",
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/ir",
@@ -77,7 +43,8 @@
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
+ "${tint_src_dir}/lang/wgsl/reader/lower",
+ "${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -93,5 +60,49 @@
"${tint_src_dir}/utils/text",
"${tint_src_dir}/utils/traits",
]
+
+ if (tint_build_wgsl_reader) {
+ deps += [
+ "${tint_src_dir}/lang/wgsl/reader/parser",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
+ ]
+ }
+ }
+}
+if (tint_build_benchmarks) {
+ if (tint_build_wgsl_reader) {
+ tint_unittests_source_set("bench") {
+ sources = [ "reader_bench.cc" ]
+ deps = [
+ "${tint_src_dir}:google_benchmark",
+ "${tint_src_dir}/api/common",
+ "${tint_src_dir}/cmd/bench:bench",
+ "${tint_src_dir}/lang/core",
+ "${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/ir",
+ "${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
+ "${tint_src_dir}/lang/wgsl/ast",
+ "${tint_src_dir}/lang/wgsl/program",
+ "${tint_src_dir}/lang/wgsl/sem",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/id",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/reflection",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/symbol",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
+
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
+ }
}
}
diff --git a/src/tint/lang/wgsl/reader/parser/BUILD.bazel b/src/tint/lang/wgsl/reader/parser/BUILD.bazel
index d1d9b22..c6d9f5d 100644
--- a/src/tint/lang/wgsl/reader/parser/BUILD.bazel
+++ b/src/tint/lang/wgsl/reader/parser/BUILD.bazel
@@ -147,7 +147,6 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader/parser",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -164,8 +163,18 @@
"//src/tint/utils/text",
"//src/tint/utils/traits",
"@gtest",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader/parser",
+ ],
+ "//conditions:default": [],
+ }),
copts = COPTS,
visibility = ["//visibility:public"],
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/lang/wgsl/reader/parser/BUILD.cfg b/src/tint/lang/wgsl/reader/parser/BUILD.cfg
new file mode 100644
index 0000000..e85bddd
--- /dev/null
+++ b/src/tint/lang/wgsl/reader/parser/BUILD.cfg
@@ -0,0 +1,3 @@
+{
+ "condition": "tint_build_wgsl_reader",
+}
diff --git a/src/tint/lang/wgsl/reader/parser/BUILD.cmake b/src/tint/lang/wgsl/reader/parser/BUILD.cmake
index 453af11..37231fc 100644
--- a/src/tint/lang/wgsl/reader/parser/BUILD.cmake
+++ b/src/tint/lang/wgsl/reader/parser/BUILD.cmake
@@ -21,9 +21,11 @@
# Do not modify this file directly
################################################################################
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_lang_wgsl_reader_parser
# Kind: lib
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_lang_wgsl_reader_parser lib
lang/wgsl/reader/parser/classify_template_args.cc
@@ -63,9 +65,12 @@
tint_utils_traits
)
+endif(TINT_BUILD_WGSL_READER)
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_lang_wgsl_reader_parser_test
# Kind: test
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_lang_wgsl_reader_parser_test test
lang/wgsl/reader/parser/additive_expression_test.cc
@@ -146,7 +151,6 @@
tint_lang_wgsl_ast
tint_lang_wgsl_ast_test
tint_lang_wgsl_program
- tint_lang_wgsl_reader_parser
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -167,3 +171,11 @@
tint_target_add_external_dependencies(tint_lang_wgsl_reader_parser_test test
"gtest"
)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_reader_parser_test test
+ tint_lang_wgsl_reader_parser
+ )
+endif(TINT_BUILD_WGSL_READER)
+
+endif(TINT_BUILD_WGSL_READER)
\ No newline at end of file
diff --git a/src/tint/lang/wgsl/reader/parser/BUILD.gn b/src/tint/lang/wgsl/reader/parser/BUILD.gn
index e28decb..ee54683 100644
--- a/src/tint/lang/wgsl/reader/parser/BUILD.gn
+++ b/src/tint/lang/wgsl/reader/parser/BUILD.gn
@@ -28,127 +28,27 @@
if (tint_build_unittests || tint_build_benchmarks) {
import("//testing/test.gni")
}
-
-libtint_source_set("parser") {
- sources = [
- "classify_template_args.cc",
- "classify_template_args.h",
- "detail.h",
- "lexer.cc",
- "lexer.h",
- "parser.cc",
- "parser.h",
- "token.cc",
- "token.h",
- ]
- deps = [
- "${tint_src_dir}/api/common",
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/resolver",
- "${tint_src_dir}/lang/wgsl/sem",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/reflection",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/strconv",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
-}
-if (tint_build_unittests) {
- tint_unittests_source_set("unittests") {
+if (tint_build_wgsl_reader) {
+ libtint_source_set("parser") {
sources = [
- "additive_expression_test.cc",
- "argument_expression_list_test.cc",
- "assignment_stmt_test.cc",
- "bitwise_expression_test.cc",
- "break_stmt_test.cc",
- "bug_cases_test.cc",
- "call_stmt_test.cc",
- "classify_template_args_test.cc",
- "compound_stmt_test.cc",
- "const_literal_test.cc",
- "continue_stmt_test.cc",
- "continuing_stmt_test.cc",
- "core_lhs_expression_test.cc",
- "diagnostic_attribute_test.cc",
- "diagnostic_control_test.cc",
- "diagnostic_directive_test.cc",
- "enable_directive_test.cc",
- "error_msg_test.cc",
- "error_resync_test.cc",
- "expression_test.cc",
- "for_stmt_test.cc",
- "function_attribute_list_test.cc",
- "function_attribute_test.cc",
- "function_decl_test.cc",
- "function_header_test.cc",
- "global_constant_decl_test.cc",
- "global_decl_test.cc",
- "global_variable_decl_test.cc",
- "helper_test.cc",
- "helper_test.h",
- "if_stmt_test.cc",
- "increment_decrement_stmt_test.cc",
- "lexer_test.cc",
- "lhs_expression_test.cc",
- "loop_stmt_test.cc",
- "math_expression_test.cc",
- "multiplicative_expression_test.cc",
- "param_list_test.cc",
- "paren_expression_test.cc",
- "parser_test.cc",
- "primary_expression_test.cc",
- "relational_expression_test.cc",
- "require_directive_test.cc",
- "reserved_keyword_test.cc",
- "shift_expression_test.cc",
- "singular_expression_test.cc",
- "statement_test.cc",
- "statements_test.cc",
- "struct_attribute_decl_test.cc",
- "struct_body_decl_test.cc",
- "struct_decl_test.cc",
- "struct_member_attribute_decl_test.cc",
- "struct_member_attribute_test.cc",
- "struct_member_test.cc",
- "switch_body_test.cc",
- "switch_stmt_test.cc",
- "token_test.cc",
- "type_alias_test.cc",
- "type_decl_test.cc",
- "unary_expression_test.cc",
- "variable_attribute_list_test.cc",
- "variable_attribute_test.cc",
- "variable_decl_test.cc",
- "variable_ident_decl_test.cc",
- "variable_qualifier_test.cc",
- "variable_stmt_test.cc",
- "while_stmt_test.cc",
+ "classify_template_args.cc",
+ "classify_template_args.h",
+ "detail.h",
+ "lexer.cc",
+ "lexer.h",
+ "parser.cc",
+ "parser.h",
+ "token.cc",
+ "token.h",
]
deps = [
- "${tint_src_dir}:gmock_and_gtest",
"${tint_src_dir}/api/common",
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/ast:unittests",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader/parser",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
@@ -161,9 +61,115 @@
"${tint_src_dir}/utils/reflection",
"${tint_src_dir}/utils/result",
"${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/strconv",
"${tint_src_dir}/utils/symbol",
"${tint_src_dir}/utils/text",
"${tint_src_dir}/utils/traits",
]
}
}
+if (tint_build_unittests) {
+ if (tint_build_wgsl_reader) {
+ tint_unittests_source_set("unittests") {
+ sources = [
+ "additive_expression_test.cc",
+ "argument_expression_list_test.cc",
+ "assignment_stmt_test.cc",
+ "bitwise_expression_test.cc",
+ "break_stmt_test.cc",
+ "bug_cases_test.cc",
+ "call_stmt_test.cc",
+ "classify_template_args_test.cc",
+ "compound_stmt_test.cc",
+ "const_literal_test.cc",
+ "continue_stmt_test.cc",
+ "continuing_stmt_test.cc",
+ "core_lhs_expression_test.cc",
+ "diagnostic_attribute_test.cc",
+ "diagnostic_control_test.cc",
+ "diagnostic_directive_test.cc",
+ "enable_directive_test.cc",
+ "error_msg_test.cc",
+ "error_resync_test.cc",
+ "expression_test.cc",
+ "for_stmt_test.cc",
+ "function_attribute_list_test.cc",
+ "function_attribute_test.cc",
+ "function_decl_test.cc",
+ "function_header_test.cc",
+ "global_constant_decl_test.cc",
+ "global_decl_test.cc",
+ "global_variable_decl_test.cc",
+ "helper_test.cc",
+ "helper_test.h",
+ "if_stmt_test.cc",
+ "increment_decrement_stmt_test.cc",
+ "lexer_test.cc",
+ "lhs_expression_test.cc",
+ "loop_stmt_test.cc",
+ "math_expression_test.cc",
+ "multiplicative_expression_test.cc",
+ "param_list_test.cc",
+ "paren_expression_test.cc",
+ "parser_test.cc",
+ "primary_expression_test.cc",
+ "relational_expression_test.cc",
+ "require_directive_test.cc",
+ "reserved_keyword_test.cc",
+ "shift_expression_test.cc",
+ "singular_expression_test.cc",
+ "statement_test.cc",
+ "statements_test.cc",
+ "struct_attribute_decl_test.cc",
+ "struct_body_decl_test.cc",
+ "struct_decl_test.cc",
+ "struct_member_attribute_decl_test.cc",
+ "struct_member_attribute_test.cc",
+ "struct_member_test.cc",
+ "switch_body_test.cc",
+ "switch_stmt_test.cc",
+ "token_test.cc",
+ "type_alias_test.cc",
+ "type_decl_test.cc",
+ "unary_expression_test.cc",
+ "variable_attribute_list_test.cc",
+ "variable_attribute_test.cc",
+ "variable_decl_test.cc",
+ "variable_ident_decl_test.cc",
+ "variable_qualifier_test.cc",
+ "variable_stmt_test.cc",
+ "while_stmt_test.cc",
+ ]
+ deps = [
+ "${tint_src_dir}:gmock_and_gtest",
+ "${tint_src_dir}/api/common",
+ "${tint_src_dir}/lang/core",
+ "${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
+ "${tint_src_dir}/lang/wgsl/ast",
+ "${tint_src_dir}/lang/wgsl/ast:unittests",
+ "${tint_src_dir}/lang/wgsl/program",
+ "${tint_src_dir}/lang/wgsl/resolver",
+ "${tint_src_dir}/lang/wgsl/sem",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/id",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/reflection",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/symbol",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
+
+ if (tint_build_wgsl_reader) {
+ deps += [ "${tint_src_dir}/lang/wgsl/reader/parser" ]
+ }
+ }
+ }
+}
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
index e964d93..6a6cb75 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.bazel
@@ -89,9 +89,7 @@
"//src/tint/lang/wgsl/ast",
"//src/tint/lang/wgsl/helpers:test",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/reader/lower",
- "//src/tint/lang/wgsl/reader/program_to_ir",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/utils/containers",
@@ -108,8 +106,19 @@
"//src/tint/utils/text",
"//src/tint/utils/traits",
"@gtest",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ "//src/tint/lang/wgsl/reader/program_to_ir",
+ ],
+ "//conditions:default": [],
+ }),
copts = COPTS,
visibility = ["//visibility:public"],
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cfg b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cfg
new file mode 100644
index 0000000..e85bddd
--- /dev/null
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cfg
@@ -0,0 +1,3 @@
+{
+ "condition": "tint_build_wgsl_reader",
+}
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
index 7cff404..454341d 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.cmake
@@ -21,9 +21,11 @@
# Do not modify this file directly
################################################################################
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_lang_wgsl_reader_program_to_ir
# Kind: lib
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_lang_wgsl_reader_program_to_ir lib
lang/wgsl/reader/program_to_ir/program_to_ir.cc
@@ -58,9 +60,12 @@
tint_utils_traits
)
+endif(TINT_BUILD_WGSL_READER)
+if(TINT_BUILD_WGSL_READER)
################################################################################
# Target: tint_lang_wgsl_reader_program_to_ir_test
# Kind: test
+# Condition: TINT_BUILD_WGSL_READER
################################################################################
tint_add_target(tint_lang_wgsl_reader_program_to_ir_test test
lang/wgsl/reader/program_to_ir/accessor_test.cc
@@ -88,9 +93,7 @@
tint_lang_wgsl_ast
tint_lang_wgsl_helpers_test
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_reader_lower
- tint_lang_wgsl_reader_program_to_ir
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_utils_containers
@@ -111,3 +114,12 @@
tint_target_add_external_dependencies(tint_lang_wgsl_reader_program_to_ir_test test
"gtest"
)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_dependencies(tint_lang_wgsl_reader_program_to_ir_test test
+ tint_lang_wgsl_reader
+ tint_lang_wgsl_reader_program_to_ir
+ )
+endif(TINT_BUILD_WGSL_READER)
+
+endif(TINT_BUILD_WGSL_READER)
\ No newline at end of file
diff --git a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
index b286da9..57cfd95 100644
--- a/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
+++ b/src/tint/lang/wgsl/reader/program_to_ir/BUILD.gn
@@ -28,72 +28,24 @@
if (tint_build_unittests || tint_build_benchmarks) {
import("//testing/test.gni")
}
-
-libtint_source_set("program_to_ir") {
- sources = [
- "program_to_ir.cc",
- "program_to_ir.h",
- ]
- deps = [
- "${tint_src_dir}/api/common",
- "${tint_src_dir}/lang/core",
- "${tint_src_dir}/lang/core/constant",
- "${tint_src_dir}/lang/core/intrinsic",
- "${tint_src_dir}/lang/core/ir",
- "${tint_src_dir}/lang/core/type",
- "${tint_src_dir}/lang/wgsl",
- "${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/intrinsic",
- "${tint_src_dir}/lang/wgsl/ir",
- "${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/sem",
- "${tint_src_dir}/utils/containers",
- "${tint_src_dir}/utils/diagnostic",
- "${tint_src_dir}/utils/ice",
- "${tint_src_dir}/utils/id",
- "${tint_src_dir}/utils/macros",
- "${tint_src_dir}/utils/math",
- "${tint_src_dir}/utils/memory",
- "${tint_src_dir}/utils/reflection",
- "${tint_src_dir}/utils/result",
- "${tint_src_dir}/utils/rtti",
- "${tint_src_dir}/utils/symbol",
- "${tint_src_dir}/utils/text",
- "${tint_src_dir}/utils/traits",
- ]
-}
-if (tint_build_unittests) {
- tint_unittests_source_set("unittests") {
+if (tint_build_wgsl_reader) {
+ libtint_source_set("program_to_ir") {
sources = [
- "accessor_test.cc",
- "binary_test.cc",
- "builtin_test.cc",
- "call_test.cc",
- "function_test.cc",
- "let_test.cc",
- "literal_test.cc",
- "materialize_test.cc",
- "program_to_ir_test.cc",
- "shadowing_test.cc",
- "store_test.cc",
- "unary_test.cc",
- "var_test.cc",
+ "program_to_ir.cc",
+ "program_to_ir.h",
]
deps = [
- "${tint_src_dir}:gmock_and_gtest",
"${tint_src_dir}/api/common",
"${tint_src_dir}/lang/core",
"${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/intrinsic",
"${tint_src_dir}/lang/core/ir",
"${tint_src_dir}/lang/core/type",
"${tint_src_dir}/lang/wgsl",
"${tint_src_dir}/lang/wgsl/ast",
- "${tint_src_dir}/lang/wgsl/helpers:unittests",
+ "${tint_src_dir}/lang/wgsl/intrinsic",
+ "${tint_src_dir}/lang/wgsl/ir",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
- "${tint_src_dir}/lang/wgsl/reader/lower",
- "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
- "${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/utils/containers",
"${tint_src_dir}/utils/diagnostic",
@@ -111,3 +63,59 @@
]
}
}
+if (tint_build_unittests) {
+ if (tint_build_wgsl_reader) {
+ tint_unittests_source_set("unittests") {
+ sources = [
+ "accessor_test.cc",
+ "binary_test.cc",
+ "builtin_test.cc",
+ "call_test.cc",
+ "function_test.cc",
+ "let_test.cc",
+ "literal_test.cc",
+ "materialize_test.cc",
+ "program_to_ir_test.cc",
+ "shadowing_test.cc",
+ "store_test.cc",
+ "unary_test.cc",
+ "var_test.cc",
+ ]
+ deps = [
+ "${tint_src_dir}:gmock_and_gtest",
+ "${tint_src_dir}/api/common",
+ "${tint_src_dir}/lang/core",
+ "${tint_src_dir}/lang/core/constant",
+ "${tint_src_dir}/lang/core/ir",
+ "${tint_src_dir}/lang/core/type",
+ "${tint_src_dir}/lang/wgsl",
+ "${tint_src_dir}/lang/wgsl/ast",
+ "${tint_src_dir}/lang/wgsl/helpers:unittests",
+ "${tint_src_dir}/lang/wgsl/program",
+ "${tint_src_dir}/lang/wgsl/reader/lower",
+ "${tint_src_dir}/lang/wgsl/resolver",
+ "${tint_src_dir}/lang/wgsl/sem",
+ "${tint_src_dir}/utils/containers",
+ "${tint_src_dir}/utils/diagnostic",
+ "${tint_src_dir}/utils/ice",
+ "${tint_src_dir}/utils/id",
+ "${tint_src_dir}/utils/macros",
+ "${tint_src_dir}/utils/math",
+ "${tint_src_dir}/utils/memory",
+ "${tint_src_dir}/utils/reflection",
+ "${tint_src_dir}/utils/result",
+ "${tint_src_dir}/utils/rtti",
+ "${tint_src_dir}/utils/symbol",
+ "${tint_src_dir}/utils/text",
+ "${tint_src_dir}/utils/traits",
+ ]
+
+ if (tint_build_wgsl_reader) {
+ deps += [
+ "${tint_src_dir}/lang/wgsl/reader",
+ "${tint_src_dir}/lang/wgsl/reader/program_to_ir",
+ ]
+ }
+ }
+ }
+}
diff --git a/src/tint/lang/wgsl/resolver/BUILD.bazel b/src/tint/lang/wgsl/resolver/BUILD.bazel
index bd4b589..8369cba 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.bazel
+++ b/src/tint/lang/wgsl/resolver/BUILD.bazel
@@ -127,14 +127,18 @@
"struct_pipeline_stage_use_test.cc",
"subgroups_extension_test.cc",
"type_validation_test.cc",
- "uniformity_test.cc",
"unresolved_identifier_test.cc",
"validation_test.cc",
"validator_is_storeable_test.cc",
"value_constructor_validation_test.cc",
"variable_test.cc",
"variable_validation_test.cc",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "uniformity_test.cc",
+ ],
+ "//conditions:default": [],
+ }),
deps = [
"//src/tint/api/common",
"//src/tint/lang/core",
@@ -149,7 +153,6 @@
"//src/tint/lang/wgsl/ast:test",
"//src/tint/lang/wgsl/intrinsic",
"//src/tint/lang/wgsl/program",
- "//src/tint/lang/wgsl/reader",
"//src/tint/lang/wgsl/resolver",
"//src/tint/lang/wgsl/sem",
"//src/tint/lang/wgsl/sem:test",
@@ -167,8 +170,18 @@
"//src/tint/utils/text",
"//src/tint/utils/traits",
"@gtest",
- ],
+ ] + select({
+ ":tint_build_wgsl_reader": [
+ "//src/tint/lang/wgsl/reader",
+ ],
+ "//conditions:default": [],
+ }),
copts = COPTS,
visibility = ["//visibility:public"],
)
+alias(
+ name = "tint_build_wgsl_reader",
+ actual = "//src/tint:tint_build_wgsl_reader_true",
+)
+
diff --git a/src/tint/lang/wgsl/resolver/BUILD.cmake b/src/tint/lang/wgsl/resolver/BUILD.cmake
index c4e7fb3..ff882f1 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.cmake
+++ b/src/tint/lang/wgsl/resolver/BUILD.cmake
@@ -125,7 +125,6 @@
lang/wgsl/resolver/struct_pipeline_stage_use_test.cc
lang/wgsl/resolver/subgroups_extension_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
@@ -148,7 +147,6 @@
tint_lang_wgsl_ast_test
tint_lang_wgsl_intrinsic
tint_lang_wgsl_program
- tint_lang_wgsl_reader
tint_lang_wgsl_resolver
tint_lang_wgsl_sem
tint_lang_wgsl_sem_test
@@ -170,3 +168,12 @@
tint_target_add_external_dependencies(tint_lang_wgsl_resolver_test test
"gtest"
)
+
+if(TINT_BUILD_WGSL_READER)
+ tint_target_add_sources(tint_lang_wgsl_resolver_test test
+ "lang/wgsl/resolver/uniformity_test.cc"
+ )
+ tint_target_add_dependencies(tint_lang_wgsl_resolver_test test
+ tint_lang_wgsl_reader
+ )
+endif(TINT_BUILD_WGSL_READER)
diff --git a/src/tint/lang/wgsl/resolver/BUILD.gn b/src/tint/lang/wgsl/resolver/BUILD.gn
index e1b2aac..49c8be2 100644
--- a/src/tint/lang/wgsl/resolver/BUILD.gn
+++ b/src/tint/lang/wgsl/resolver/BUILD.gn
@@ -127,7 +127,6 @@
"struct_pipeline_stage_use_test.cc",
"subgroups_extension_test.cc",
"type_validation_test.cc",
- "uniformity_test.cc",
"unresolved_identifier_test.cc",
"validation_test.cc",
"validator_is_storeable_test.cc",
@@ -150,7 +149,6 @@
"${tint_src_dir}/lang/wgsl/ast/transform",
"${tint_src_dir}/lang/wgsl/intrinsic",
"${tint_src_dir}/lang/wgsl/program",
- "${tint_src_dir}/lang/wgsl/reader",
"${tint_src_dir}/lang/wgsl/resolver",
"${tint_src_dir}/lang/wgsl/sem",
"${tint_src_dir}/lang/wgsl/sem:unittests",
@@ -168,5 +166,10 @@
"${tint_src_dir}/utils/text",
"${tint_src_dir}/utils/traits",
]
+
+ if (tint_build_wgsl_reader) {
+ sources += [ "uniformity_test.cc" ]
+ deps += [ "${tint_src_dir}/lang/wgsl/reader" ]
+ }
}
}
diff --git a/src/tint/lang/wgsl/resolver/resolver.cc b/src/tint/lang/wgsl/resolver/resolver.cc
index 73080d5..4b7c287 100644
--- a/src/tint/lang/wgsl/resolver/resolver.cc
+++ b/src/tint/lang/wgsl/resolver/resolver.cc
@@ -98,14 +98,6 @@
using namespace tint::core::fluent_types; // NOLINT
-TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::Access>);
-TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::AddressSpace>);
-TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::BuiltinValue>);
-TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::InterpolationSampling>);
-TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::InterpolationType>);
-TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::TexelFormat>);
-TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::wgsl::BuiltinFn>);
-
namespace tint::resolver {
namespace {
diff --git a/src/tint/lang/wgsl/resolver/uniformity_test.cc b/src/tint/lang/wgsl/resolver/uniformity_test.cc
index 36568e9..dbad0bb 100644
--- a/src/tint/lang/wgsl/resolver/uniformity_test.cc
+++ b/src/tint/lang/wgsl/resolver/uniformity_test.cc
@@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+// GEN_BUILD:CONDITION(tint_build_wgsl_reader)
+
#include <memory>
#include <string>
#include <tuple>
diff --git a/src/tint/lang/wgsl/sem/builtin_enum_expression.cc b/src/tint/lang/wgsl/sem/builtin_enum_expression.cc
index fe5bff6..55081b8 100644
--- a/src/tint/lang/wgsl/sem/builtin_enum_expression.cc
+++ b/src/tint/lang/wgsl/sem/builtin_enum_expression.cc
@@ -14,8 +14,25 @@
#include "src/tint/lang/wgsl/sem/builtin_enum_expression.h"
+#include "src/tint/lang/core/access.h"
+#include "src/tint/lang/core/address_space.h"
+#include "src/tint/lang/core/builtin_value.h"
+#include "src/tint/lang/core/interpolation_sampling.h"
+#include "src/tint/lang/core/interpolation_type.h"
+#include "src/tint/lang/core/texel_format.h"
+#include "src/tint/lang/wgsl/builtin_fn.h"
+
TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpressionBase);
+// Specializations
+TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::Access>);
+TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::AddressSpace>);
+TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::BuiltinValue>);
+TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::InterpolationSampling>);
+TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::InterpolationType>);
+TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::core::TexelFormat>);
+TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression<tint::wgsl::BuiltinFn>);
+
namespace tint::sem {
BuiltinEnumExpressionBase::BuiltinEnumExpressionBase(const ast::Expression* declaration,