0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-29 08:58:01 -04:00
denoland-deno/libdeno/deno.gni
Kitson Kelly ee9c627cc5 Split out compiler snapshot (#1566)
Speeds up startup time, reduces runtime heap size.
2019-01-28 20:41:28 -05:00

60 lines
1.7 KiB
Text

# Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import("//build/compiled_action.gni")
# Tempalte to generate a Rollup bundle of code.
template("bundle") {
action(target_name) {
forward_variables_from(invoker, "*")
script = "//tools/run_node.py"
outputs = [
out_dir + out_name + ".js",
out_dir + out_name + ".js.map",
]
depfile = out_dir + out_name + ".d"
args = [
rebase_path("third_party/node_modules/rollup/bin/rollup", root_build_dir),
"-c",
rebase_path("rollup.config.js", root_build_dir),
"-i",
rebase_path("js/" + out_name + ".ts", root_build_dir),
"-o",
rebase_path(out_dir + out_name + ".js", root_build_dir),
"--sourcemapFile",
rebase_path("."),
"--silent",
]
}
}
template("run_node") {
action(target_name) {
forward_variables_from(invoker, "*")
script = "//tools/run_node.py"
}
}
# Template to generate different V8 snapshots based on different runtime flags.
template("snapshot") {
compiled_action(target_name) {
forward_variables_from(invoker,
[
"testonly",
"deps",
])
tool = "//libdeno:snapshot_creator"
visibility = [ ":*" ] # Only targets in this file can depend on this.
snapshot_out_bin = "$target_gen_dir/$target_name.bin"
inputs = [
invoker.source_root,
]
outputs = [
snapshot_out_bin,
]
args = rebase_path(outputs, root_build_dir) +
rebase_path(inputs, root_build_dir)
# To debug snapshotting problems:
# args += ["--trace-serializer"]
}
}