summaryrefslogtreecommitdiff
path: root/libdeno/deno.gni
blob: 56843f4dc34d8fbdcb66097d924ebe9ea095ad20 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 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"]
  }
}