forked from nodejs/node
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathunofficial.gni
110 lines (98 loc) Β· 3.71 KB
/
unofficial.gni
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import("../../node.gni")
import("$node_v8_path/gni/v8.gni")
# The actual configurations are put inside a template in unofficial.gni to
# prevent accidental edits from contributors.
template("inspector_gn_build") {
group(target_name) {
forward_variables_from(invoker, "*")
deps = [
":node_protocol_generated_sources",
":v8_inspector_compress_protocol_json",
]
}
node_gen_dir = get_label_info("../..", "target_gen_dir")
protocol_tool_path = "../../deps/inspector_protocol"
gypi_values = exec_script(
"../../tools/gypi_to_gn.py",
[ rebase_path("node_inspector.gypi"),
"--replace=<(SHARED_INTERMEDIATE_DIR)=$node_gen_dir",
"--replace=<(protocol_tool_path)=$protocol_tool_path" ],
"scope",
[ "node_inspector.gypi" ])
action("node_protocol_generated_sources") {
script = "$protocol_tool_path/code_generator.py"
deps = [ ":node_protocol_json" ]
outputs = gypi_values.node_inspector_generated_sources
inputs = gypi_values.node_protocol_files + [
"node_protocol_config.json",
"$node_gen_dir/src/node_protocol.json",
]
args = [
"--inspector_protocol_dir",
rebase_path(protocol_tool_path, root_build_dir),
"--jinja_dir",
# jinja is in third_party.
rebase_path("//third_party/", root_build_dir),
"--output_base",
rebase_path("$node_gen_dir/src", root_build_dir),
"--config",
rebase_path("node_protocol_config.json", root_build_dir),
]
}
action("v8_inspector_compress_protocol_json") {
script = "../../tools/compress_json.py"
deps = [ ":concatenate_protocols" ]
inputs = [ "$target_gen_dir/concatenated_protocol.json" ]
outputs = [ "$target_gen_dir/v8_inspector_protocol_json.h" ]
args = rebase_path(inputs + outputs, root_build_dir)
}
action("concatenate_protocols") {
script = "$protocol_tool_path/concatenate_protocols.py"
deps = [ ":node_protocol_json" ]
inputs = [
"$node_gen_dir/src/js_protocol.json",
"$node_gen_dir/src/node_protocol.json",
]
outputs = [
"$target_gen_dir/concatenated_protocol.json",
]
args = rebase_path(inputs + outputs, root_build_dir)
}
action_foreach("node_protocol_json") {
script = "$node_v8_path/third_party/inspector_protocol/convert_protocol_to_json.py"
sources = [ "node_protocol.pdl", v8_inspector_js_protocol ]
outputs = [ "$node_gen_dir/src/{{source_name_part}}.json" ]
args = [ "{{source}}" ] + rebase_path(outputs, root_build_dir)
}
config("crdtp_config") {
include_dirs = [ protocol_tool_path ]
}
static_library("crdtp") {
public_configs = [ ":crdtp_config" ]
sources = [
"$protocol_tool_path/crdtp/cbor.cc",
"$protocol_tool_path/crdtp/cbor.h",
"$protocol_tool_path/crdtp/dispatch.cc",
"$protocol_tool_path/crdtp/dispatch.h",
"$protocol_tool_path/crdtp/error_support.cc",
"$protocol_tool_path/crdtp/error_support.h",
"$protocol_tool_path/crdtp/export.h",
"$protocol_tool_path/crdtp/find_by_first.h",
"$protocol_tool_path/crdtp/frontend_channel.h",
"$protocol_tool_path/crdtp/glue.h",
"$protocol_tool_path/crdtp/json.cc",
"$protocol_tool_path/crdtp/json.h",
"$protocol_tool_path/crdtp/parser_handler.h",
"$protocol_tool_path/crdtp/protocol_core.cc",
"$protocol_tool_path/crdtp/protocol_core.h",
"$protocol_tool_path/crdtp/serializable.cc",
"$protocol_tool_path/crdtp/serializable.h",
"$protocol_tool_path/crdtp/span.cc",
"$protocol_tool_path/crdtp/span.h",
"$protocol_tool_path/crdtp/status.cc",
"$protocol_tool_path/crdtp/status.h",
"$protocol_tool_path/crdtp/json_platform.cc",
"$protocol_tool_path/crdtp/json_platform.h",
]
}
}