Add support for WGSL reading to BUILD.gn
BUG=tint:47
Change-Id: Ic50421f4dc712c614cf5783027ba273b53b2bd83
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/19681
Reviewed-by: dan sinclair <dsinclair@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index af7b8cb..41e7327 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -32,6 +32,12 @@
} else {
defines += [ "TINT_BUILD_SPV_WRITER=0" ]
}
+
+ if (tint_build_wgsl_reader) {
+ defines += [ "TINT_BUILD_WGSL_READER=1" ]
+ } else {
+ defines += [ "TINT_BUILD_WGSL_READER=0" ]
+ }
}
# libtint source sets are divided into a non-optional core in :libtint_core and
@@ -276,8 +282,29 @@
}
}
+source_set("libtint_wgsl_reader") {
+ sources = [
+ "src/reader/wgsl/lexer.cc",
+ "src/reader/wgsl/lexer.h",
+ "src/reader/wgsl/parser.cc",
+ "src/reader/wgsl/parser.h",
+ "src/reader/wgsl/parser_impl.cc",
+ "src/reader/wgsl/parser_impl.h",
+ "src/reader/wgsl/token.cc",
+ "src/reader/wgsl/token.h",
+ ]
+
+ configs += [ ":tint_common_config" ]
+
+ if (build_with_chromium) {
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ }
+}
+
source_set("libtint") {
deps = [ ":libtint_core" ]
+
if (tint_build_spv_reader) {
deps += [ ":libtint_spv_reader" ]
}
@@ -286,6 +313,10 @@
deps += [ ":libtint_spv_writer" ]
}
+ if (tint_build_wgsl_reader) {
+ deps += [ ":libtint_wgsl_reader" ]
+ }
+
configs += [ ":tint_common_config" ]
if (build_with_chromium) {
@@ -294,11 +325,23 @@
}
}
-executable("tint") {
+config("tint_exe_config") {
+ include_dirs = []
+ if (tint_build_spv_reader || tint_build_spv_writer) {
+ include_dirs = [ "${tint_spirv_tools_dir}/include/" ]
+ }
+}
+
+executable("tint_exe") {
sources = [ "samples/main.cc" ]
deps = [ ":libtint" ]
+ if (tint_build_spv_reader || tint_build_spv_writer) {
+ deps += ["${tint_spirv_headers_dir}/:spv_headers" ]
+ }
+
configs += [ ":tint_common_config" ]
+ configs += [ ":tint_exe_config" ]
if (build_with_chromium) {
configs -= [ "//build/config/compiler:chromium_code" ]
@@ -307,5 +350,5 @@
}
group("tint_all") {
- deps = [ ":tint" ]
+ deps = [ ":tint_exe" ]
}