summaryrefslogtreecommitdiff
path: root/build_extra/deno.gni
diff options
context:
space:
mode:
Diffstat (limited to 'build_extra/deno.gni')
-rw-r--r--build_extra/deno.gni52
1 files changed, 52 insertions, 0 deletions
diff --git a/build_extra/deno.gni b/build_extra/deno.gni
new file mode 100644
index 000000000..a8804e9f9
--- /dev/null
+++ b/build_extra/deno.gni
@@ -0,0 +1,52 @@
+template("run_node") {
+ action(target_name) {
+ forward_variables_from(invoker, "*")
+ script = "//js/run_node.py"
+ }
+}
+
+# Template to generate different V8 snapshots based on different runtime flags.
+# Can be invoked with run_mksnapshot(<name>). The target will resolve to
+# run_mksnapshot_<name>. If <name> is "default", no file suffixes will be used.
+# Otherwise files are suffixed, e.g. embedded_<name>.cc and
+# snapshot_blob_<name>.bin.
+#
+# The template exposes the variables:
+# args: additional flags for mksnapshots
+# embedded_suffix: a camel case suffix for method names in the embedded
+# snapshot.
+template("create_snapshot") {
+ name = target_name
+ suffix = "_$name"
+ action("create_snapshot_" + name) {
+ forward_variables_from(invoker,
+ [
+ "testonly",
+ "deps",
+ ])
+ visibility = [ ":*" ] # Only targets in this file can depend on this.
+ deps += [ ":snapshot_creator" ]
+ script = "//third_party/v8/tools/run.py"
+ data = []
+ exe = rebase_path(get_label_info(":snapshot_creator", "root_out_dir") +
+ "/snapshot_creator")
+ snapshot_out_cc = "$target_gen_dir/snapshot${suffix}.cc"
+ sources = [
+ invoker.js,
+ ]
+ outputs = [
+ snapshot_out_cc,
+ ]
+ args = [
+ exe,
+ rebase_path(invoker.js, root_build_dir),
+ rebase_path(snapshot_out_cc, root_build_dir),
+ ]
+
+ # To debug snapshotting problems:
+ # args += ["--trace-serializer"]
+ data = [
+ invoker.js,
+ ]
+ }
+}