aboutsummaryrefslogtreecommitdiffhomepage
path: root/BUILD.gn
diff options
context:
space:
mode:
authorGravatar Ethan Nicholas <ethannicholas@google.com>2017-09-11 13:50:14 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-11 21:45:20 +0000
commit5b5f096a038259b8d9084834f877588a0db80250 (patch)
tree1b78aa591c578a09012b1f8f8533c3fc3d9c1372 /BUILD.gn
parent9194706e8cf1ed72f07b2ed9207d81120f2135ad (diff)
Revert "Revert "Switch to the new SkSL lexer.""
This reverts commit 358515491a0d6891e6a709688a30ad087df1beb1. Bug: skia: Change-Id: I013fac0ed83774d8ae7c6ee6819045cab37f5e97 Reviewed-on: https://skia-review.googlesource.com/45180 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'BUILD.gn')
-rw-r--r--BUILD.gn36
1 files changed, 35 insertions, 1 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 1c328b0452..ef2ac0751f 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -45,6 +45,7 @@ declare_args() {
skia_vulkan_sdk = getenv("VULKAN_SDK")
skia_qt_path = getenv("QT_PATH")
skia_compile_processors = false
+ skia_lex = false
skia_jumper_clang = ""
skia_jumper_objdump = ""
@@ -411,7 +412,7 @@ optional("fontmgr_fuchsia") {
]
}
-if (skia_compile_processors) {
+if (skia_lex) {
executable("sksllex") {
sources = [
"src/sksl/lex/Main.cpp",
@@ -422,6 +423,38 @@ if (skia_compile_processors) {
include_dirs = [ "src/sksl/lex" ]
}
+ action("run_sksllex") {
+ script = "gn/run_sksllex.py"
+ sources = [
+ "src/sksl/lex/layout.lex",
+ "src/sksl/lex/sksl.lex",
+ ]
+
+ # GN insists its outputs should go somewhere underneath target_out_dir, so we trick it with a
+ # path that starts with target_out_dir and then uses ".." to back up into the src dir.
+ outputs = [
+ "$target_out_dir/" +
+ rebase_path("src/sksl/lex/SkSLLexer.h", target_out_dir),
+ # the script also modifies the corresponding .cpp file, but if we tell GN that it gets
+ # confused due to the same file being named by two different paths
+ ]
+ sksllex_path = "$root_out_dir/"
+ sksllex_path += "sksllex"
+ if (host_os == "win") {
+ sksllex_path += ".exe"
+ }
+ args = [
+ rebase_path(sksllex_path),
+ rebase_path("bin/clang-format"),
+ rebase_path("src"),
+ ]
+ }
+} else {
+ group("run_sksllex") {
+ }
+}
+
+if (skia_compile_processors) {
executable("skslc") {
defines = [ "SKSL_STANDALONE" ]
sources = [
@@ -482,6 +515,7 @@ optional("gpu") {
enabled = skia_enable_gpu
deps = [
":compile_processors",
+ ":run_sksllex",
]
public_defines = []