Use .dsl.cpp suffix for DSL C++ instead of _dsl.cpp.
This requires the GN processing to be slightly more complex, as GN has no native support for more than one extension on a file. Context: https://groups.google.com/a/chromium.org/g/gn-dev/c/RdEpjeYtb-4 Change-Id: I630511fca9eb291f0e414481ef439f18a8e1b72f Bug: skia:11854 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396197 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Auto-Submit: John Stiles <johnstiles@google.com>
This commit is contained in:
parent
4df814c2d6
commit
0a0a50ae97
13
BUILD.gn
13
BUILD.gn
@ -780,8 +780,15 @@ if (skia_compile_sksl_tests) {
|
|||||||
src = resourcesDir + partialPath
|
src = resourcesDir + partialPath
|
||||||
|
|
||||||
dir = get_path_info(dst, "dir")
|
dir = get_path_info(dst, "dir")
|
||||||
name = get_path_info(dst, "name")
|
|
||||||
ext = get_path_info(dst, "extension")
|
# We want to support double-extensions (for '.dsl.cpp') but GN doesn't natively handle this.
|
||||||
|
# Workaround: http://go/ggroup/a/chromium.org/g/gn-dev/c/RdEpjeYtb-4
|
||||||
|
# For input path "file.aa.bb", name will contain "file" and ext will contain ".aa.bb".
|
||||||
|
# For input path "file.cc", name will contain "file" and ext will contain ".cc".
|
||||||
|
nameTmp = get_path_info(dst, "name")
|
||||||
|
name = get_path_info(nameTmp, "name")
|
||||||
|
ext = get_path_info(nameTmp, "extension")
|
||||||
|
ext += get_path_info(dst, "extension")
|
||||||
response_file_contents += rebase_path([
|
response_file_contents += rebase_path([
|
||||||
src,
|
src,
|
||||||
dir,
|
dir,
|
||||||
@ -814,7 +821,7 @@ if (skia_compile_sksl_tests) {
|
|||||||
compile_sksl("dsl_fp_tests") {
|
compile_sksl("dsl_fp_tests") {
|
||||||
sources = sksl_dsl_fp_tests_sources
|
sources = sksl_dsl_fp_tests_sources
|
||||||
outExtensions = [
|
outExtensions = [
|
||||||
"_dsl.cpp",
|
".dsl.cpp",
|
||||||
".h",
|
".h",
|
||||||
]
|
]
|
||||||
lang = "--dslfp"
|
lang = "--dslfp"
|
||||||
|
@ -82,7 +82,7 @@ for input, targetDir in pairwise(inputs):
|
|||||||
worklist.write(settings + "\n\n")
|
worklist.write(settings + "\n\n")
|
||||||
elif lang == "--dslfp":
|
elif lang == "--dslfp":
|
||||||
worklist.write(input + "\n")
|
worklist.write(input + "\n")
|
||||||
worklist.write(target + "_dsl.cpp\n")
|
worklist.write(target + ".dsl.cpp\n")
|
||||||
worklist.write(settings + "\n\n")
|
worklist.write(settings + "\n\n")
|
||||||
worklist.write(input + "\n")
|
worklist.write(input + "\n")
|
||||||
worklist.write(target + ".h\n")
|
worklist.write(target + ".h\n")
|
||||||
@ -127,7 +127,7 @@ else:
|
|||||||
# `### Compilation failed`, its sibling should be replaced by an empty file. This improves clarity
|
# `### Compilation failed`, its sibling should be replaced by an empty file. This improves clarity
|
||||||
# during code review; a failure on either file means that success on the sibling is irrelevant.
|
# during code review; a failure on either file means that success on the sibling is irrelevant.
|
||||||
if lang == "--fp" or lang == "--dslfp":
|
if lang == "--fp" or lang == "--dslfp":
|
||||||
cppExtension = ("_dsl.cpp" if lang == "--dslfp" else ".cpp")
|
cppExtension = (".dsl.cpp" if lang == "--dslfp" else ".cpp")
|
||||||
hExtension = ".h"
|
hExtension = ".h"
|
||||||
|
|
||||||
for target in targets:
|
for target in targets:
|
||||||
|
@ -592,7 +592,7 @@ sksl_rte_error_tests = [
|
|||||||
sksl_fp_tests_sources = sksl_fp_error_tests + sksl_fp_tests
|
sksl_fp_tests_sources = sksl_fp_error_tests + sksl_fp_tests
|
||||||
|
|
||||||
# Tests in sksl_dsl_fp_tests_sources will be compiled with --settings on, and are expected to
|
# Tests in sksl_dsl_fp_tests_sources will be compiled with --settings on, and are expected to
|
||||||
# generate a _dsl.cpp and a .h output file.
|
# generate a .dsl.cpp and a .h output file.
|
||||||
sksl_dsl_fp_tests_sources = sksl_dsl_fp_tests
|
sksl_dsl_fp_tests_sources = sksl_dsl_fp_tests
|
||||||
|
|
||||||
# Tests in sksl_glsl_tests_sources will be compiled with --settings on, and are expected to generate
|
# Tests in sksl_glsl_tests_sources will be compiled with --settings on, and are expected to generate
|
||||||
|
@ -379,7 +379,7 @@ ResultCode processCommand(std::vector<SkSL::String>& args) {
|
|||||||
[&](SkSL::Compiler& compiler, SkSL::Program& program, SkSL::OutputStream& out) {
|
[&](SkSL::Compiler& compiler, SkSL::Program& program, SkSL::OutputStream& out) {
|
||||||
return compiler.toH(program, base_name(inputPath.c_str(), "Gr", ".fp"), out);
|
return compiler.toH(program, base_name(inputPath.c_str(), "Gr", ".fp"), out);
|
||||||
});
|
});
|
||||||
} else if (outputPath.endsWith("_dsl.cpp")) {
|
} else if (outputPath.endsWith(".dsl.cpp")) {
|
||||||
settings.fReplaceSettings = false;
|
settings.fReplaceSettings = false;
|
||||||
settings.fPermitInvalidStaticTests = true;
|
settings.fPermitInvalidStaticTests = true;
|
||||||
return compileProgram(
|
return compileProgram(
|
||||||
|
Loading…
Reference in New Issue
Block a user