summaryrefslogtreecommitdiff
path: root/libdeno/deno.gni
blob: 896902207e962a0e4d4c8232893082711117a1b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Copyright 2018 the Deno authors. All rights reserved. MIT license.
import("//build/compiled_action.gni")

declare_args() {
  # Use prebuilt V8 libraries from //prebuilt/
  use_prebuilt_v8 = true
}

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.js,
    ]

    # TODO(ry) source_map should not be involved at this layer. Remove the
    # following.
    if (defined(invoker.source_map)) {
      inputs += [ invoker.source_map ]
    }
    outputs = [
      snapshot_out_bin,
    ]
    args = rebase_path(outputs, root_build_dir) +
           rebase_path(inputs, root_build_dir)

    # To debug snapshotting problems:
    #  args += ["--trace-serializer"]
  }
}