• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016 the V8 project authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("../../gni/v8.gni")
6
7_inspector_protocol = v8_path_prefix + "/third_party/inspector_protocol"
8import("$_inspector_protocol/inspector_protocol.gni")
9
10_protocol_generated = [
11  "protocol/Forward.h",
12  "protocol/Protocol.cpp",
13  "protocol/Protocol.h",
14  "protocol/Console.cpp",
15  "protocol/Console.h",
16  "protocol/Debugger.cpp",
17  "protocol/Debugger.h",
18  "protocol/HeapProfiler.cpp",
19  "protocol/HeapProfiler.h",
20  "protocol/Profiler.cpp",
21  "protocol/Profiler.h",
22  "protocol/Runtime.cpp",
23  "protocol/Runtime.h",
24  "protocol/Schema.cpp",
25  "protocol/Schema.h",
26  "../../include/inspector/Debugger.h",
27  "../../include/inspector/Runtime.h",
28  "../../include/inspector/Schema.h",
29]
30
31action("protocol_compatibility") {
32  visibility = [ ":*" ]  # Only targets in this file can depend on this.
33  script = "$_inspector_protocol/check_protocol_compatibility.py"
34  inputs = [ v8_inspector_js_protocol ]
35  _stamp = "$target_gen_dir/js_protocol.stamp"
36  outputs = [ _stamp ]
37  args = [
38    "--stamp",
39    rebase_path(_stamp, root_build_dir),
40    rebase_path(v8_inspector_js_protocol, root_build_dir),
41  ]
42}
43
44inspector_protocol_generate("protocol_generated_sources") {
45  visibility = [ ":*" ]  # Only targets in this file can depend on this.
46  deps = [ ":protocol_compatibility" ]
47
48  inspector_protocol_dir = _inspector_protocol
49  out_dir = target_gen_dir
50  config_file = v8_path_prefix + "/src/inspector/inspector_protocol_config.json"
51  inputs = [
52    v8_inspector_js_protocol,
53    config_file,
54  ]
55  outputs = _protocol_generated
56}
57
58config("inspector_config") {
59  visibility = [ ":*" ]  # Only targets in this file can depend on this.
60
61  configs = [ "../../:internal_config" ]
62  include_dirs = [ "../../include" ]
63}
64
65v8_header_set("inspector_test_headers") {
66  configs = [ ":inspector_config" ]
67
68  public_deps = [ "../..:v8_headers" ]
69
70  sources = [ "test-interface.h" ]
71}
72
73v8_source_set("inspector_string_conversions") {
74  sources = [
75    "v8-string-conversions.cc",
76    "v8-string-conversions.h",
77  ]
78  configs = [ "../..:internal_config_base" ]
79  deps = [ "../..:v8_libbase" ]
80}
81
82v8_source_set("inspector") {
83  deps = [
84    ":inspector_string_conversions",
85    "../..:v8_tracing",
86    "../..:v8_version",
87    "../../third_party/inspector_protocol:crdtp",
88  ]
89
90  public_deps = [
91    ":inspector_test_headers",
92    ":protocol_generated_sources",
93    "../../:v8_libbase",
94  ]
95
96  configs = [ ":inspector_config" ]
97
98  sources = rebase_path(_protocol_generated, ".", target_gen_dir)
99  sources += [
100    "../../include/v8-inspector-protocol.h",
101    "../../include/v8-inspector.h",
102  ]
103  sources += [
104    "custom-preview.cc",
105    "custom-preview.h",
106    "injected-script.cc",
107    "injected-script.h",
108    "inspected-context.cc",
109    "inspected-context.h",
110    "remote-object-id.cc",
111    "remote-object-id.h",
112    "search-util.cc",
113    "search-util.h",
114    "string-16.cc",
115    "string-16.h",
116    "string-util.cc",
117    "string-util.h",
118    "test-interface.cc",
119    "v8-console-agent-impl.cc",
120    "v8-console-agent-impl.h",
121    "v8-console-message.cc",
122    "v8-console-message.h",
123    "v8-console.cc",
124    "v8-console.h",
125    "v8-debugger-agent-impl.cc",
126    "v8-debugger-agent-impl.h",
127    "v8-debugger-script.cc",
128    "v8-debugger-script.h",
129    "v8-debugger.cc",
130    "v8-debugger.h",
131    "v8-heap-profiler-agent-impl.cc",
132    "v8-heap-profiler-agent-impl.h",
133    "v8-inspector-impl.cc",
134    "v8-inspector-impl.h",
135    "v8-inspector-session-impl.cc",
136    "v8-inspector-session-impl.h",
137    "v8-profiler-agent-impl.cc",
138    "v8-profiler-agent-impl.h",
139    "v8-regex.cc",
140    "v8-regex.h",
141    "v8-runtime-agent-impl.cc",
142    "v8-runtime-agent-impl.h",
143    "v8-schema-agent-impl.cc",
144    "v8-schema-agent-impl.h",
145    "v8-stack-trace-impl.cc",
146    "v8-stack-trace-impl.h",
147    "v8-value-utils.cc",
148    "v8-value-utils.h",
149    "value-mirror.cc",
150    "value-mirror.h",
151  ]
152}
153
154#Target to generate all .cc files.
155group("v8_generated_cc_files") {
156  testonly = true
157
158  deps = [ ":protocol_generated_sources" ]
159}
160