Skip to content

Commit 63611d0

Browse files
legendecastargos
authored andcommitted
src: add a hard dependency v8_inspector_headers
A GYP hard dependency instructs GYP to not remove the dependency link between two static library targets in its generated output. This allows V8 dependents to include V8 inspector protocol headers. PR-URL: #56805 Refs: #53946 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Kohei Ueno <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]>
1 parent 4cc7907 commit 63611d0

File tree

3 files changed

+57
-40
lines changed

3 files changed

+57
-40
lines changed

src/inspector/node_inspector.gypi

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
'variables': {
33
'protocol_tool_path': '../../deps/inspector_protocol',
44
'jinja_dir': '../../tools/inspector_protocol',
5+
'v8_gypfiles_dir': '../../tools/v8_gypfiles',
56
'node_inspector_sources': [
67
'src/inspector_agent.cc',
78
'src/inspector_io.cc',
@@ -74,6 +75,7 @@
7475
],
7576
'dependencies': [
7677
'<(protocol_tool_path)/inspector_protocol.gyp:crdtp',
78+
'<(v8_gypfiles_dir)/v8.gyp:v8_inspector_headers',
7779
],
7880
'actions': [
7981
{

tools/v8_gypfiles/inspector.gypi

+2-40
Original file line numberDiff line numberDiff line change
@@ -129,51 +129,13 @@
129129
'<(inspector_protocol_path)/crdtp/span.h',
130130
'<(inspector_protocol_path)/crdtp/status.cc',
131131
'<(inspector_protocol_path)/crdtp/status.h',
132+
133+
'<@(inspector_generated_sources)',
132134
],
133135
'v8_inspector_js_protocol': '<(V8_ROOT)/include/js_protocol.pdl',
134136
},
135137
'include_dirs': [
136138
'<(inspector_generated_output_root)',
137139
'<(inspector_protocol_path)',
138140
],
139-
'actions': [
140-
{
141-
'action_name': 'protocol_compatibility',
142-
'inputs': [
143-
'<(v8_inspector_js_protocol)',
144-
],
145-
'outputs': [
146-
'<@(inspector_generated_output_root)/src/js_protocol.stamp',
147-
],
148-
'action': [
149-
'<(python)',
150-
'<(inspector_protocol_path)/check_protocol_compatibility.py',
151-
'--stamp', '<@(_outputs)',
152-
'<@(_inputs)',
153-
],
154-
'message': 'Checking inspector protocol compatibility',
155-
},
156-
{
157-
'action_name': 'protocol_generated_sources',
158-
'inputs': [
159-
'<(v8_inspector_js_protocol)',
160-
'<(inspector_path)/inspector_protocol_config.json',
161-
'<@(inspector_protocol_files)',
162-
],
163-
'outputs': [
164-
'<@(inspector_generated_sources)',
165-
],
166-
'process_outputs_as_sources': 1,
167-
'action': [
168-
'<(python)',
169-
'<(inspector_protocol_path)/code_generator.py',
170-
'--jinja_dir', '<(V8_ROOT)/third_party',
171-
'--output_base', '<(inspector_generated_output_root)/src/inspector',
172-
'--config', '<(inspector_path)/inspector_protocol_config.json',
173-
'--config_value', 'protocol.path=<(v8_inspector_js_protocol)',
174-
'--inspector_protocol_dir', '<(inspector_protocol_path)',
175-
],
176-
'message': 'Generating inspector protocol sources from protocol json',
177-
},
178-
],
179141
}

tools/v8_gypfiles/v8.gyp

+53
Original file line numberDiff line numberDiff line change
@@ -1017,6 +1017,58 @@
10171017
}],
10181018
],
10191019
}, # v8_compiler_for_mksnapshot
1020+
{
1021+
'target_name': 'v8_inspector_headers',
1022+
'type': 'none',
1023+
'toolsets': ['host', 'target'],
1024+
'hard_dependency': 1,
1025+
'includes': ['inspector.gypi'],
1026+
'direct_dependent_settings': {
1027+
'include_dirs': [
1028+
'<(inspector_generated_output_root)/include',
1029+
],
1030+
},
1031+
'actions': [
1032+
{
1033+
'action_name': 'protocol_compatibility',
1034+
'inputs': [
1035+
'<(v8_inspector_js_protocol)',
1036+
],
1037+
'outputs': [
1038+
'<@(inspector_generated_output_root)/src/js_protocol.stamp',
1039+
],
1040+
'action': [
1041+
'<(python)',
1042+
'<(inspector_protocol_path)/check_protocol_compatibility.py',
1043+
'--stamp', '<@(_outputs)',
1044+
'<@(_inputs)',
1045+
],
1046+
'message': 'Checking inspector protocol compatibility',
1047+
},
1048+
{
1049+
'action_name': 'protocol_generated_sources',
1050+
'inputs': [
1051+
'<(v8_inspector_js_protocol)',
1052+
'<(inspector_path)/inspector_protocol_config.json',
1053+
'<@(inspector_protocol_files)',
1054+
],
1055+
'outputs': [
1056+
'<@(inspector_generated_sources)',
1057+
],
1058+
'process_outputs_as_sources': 1,
1059+
'action': [
1060+
'<(python)',
1061+
'<(inspector_protocol_path)/code_generator.py',
1062+
'--jinja_dir', '<(V8_ROOT)/third_party',
1063+
'--output_base', '<(inspector_generated_output_root)/src/inspector',
1064+
'--config', '<(inspector_path)/inspector_protocol_config.json',
1065+
'--config_value', 'protocol.path=<(v8_inspector_js_protocol)',
1066+
'--inspector_protocol_dir', '<(inspector_protocol_path)',
1067+
],
1068+
'message': 'Generating inspector protocol sources from protocol json',
1069+
},
1070+
],
1071+
}, # v8_inspector_headers
10201072
{
10211073
'target_name': 'v8_base_without_compiler',
10221074
'type': 'static_library',
@@ -1026,6 +1078,7 @@
10261078
'v8_bigint',
10271079
'v8_headers',
10281080
'v8_heap_base',
1081+
'v8_inspector_headers',
10291082
'v8_libbase',
10301083
'v8_shared_internal_headers',
10311084
'v8_version',

0 commit comments

Comments
 (0)