Skip to content

Commit 017ad97

Browse files
legendecasaduh95
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 dcd9c72 commit 017ad97

File tree

3 files changed

+57
-40
lines changed

3 files changed

+57
-40
lines changed

src/inspector/node_inspector.gypi

Lines changed: 2 additions & 0 deletions
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

Lines changed: 2 additions & 40 deletions
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

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,6 +1009,58 @@
10091009
}],
10101010
],
10111011
}, # v8_compiler_for_mksnapshot
1012+
{
1013+
'target_name': 'v8_inspector_headers',
1014+
'type': 'none',
1015+
'toolsets': ['host', 'target'],
1016+
'hard_dependency': 1,
1017+
'includes': ['inspector.gypi'],
1018+
'direct_dependent_settings': {
1019+
'include_dirs': [
1020+
'<(inspector_generated_output_root)/include',
1021+
],
1022+
},
1023+
'actions': [
1024+
{
1025+
'action_name': 'protocol_compatibility',
1026+
'inputs': [
1027+
'<(v8_inspector_js_protocol)',
1028+
],
1029+
'outputs': [
1030+
'<@(inspector_generated_output_root)/src/js_protocol.stamp',
1031+
],
1032+
'action': [
1033+
'<(python)',
1034+
'<(inspector_protocol_path)/check_protocol_compatibility.py',
1035+
'--stamp', '<@(_outputs)',
1036+
'<@(_inputs)',
1037+
],
1038+
'message': 'Checking inspector protocol compatibility',
1039+
},
1040+
{
1041+
'action_name': 'protocol_generated_sources',
1042+
'inputs': [
1043+
'<(v8_inspector_js_protocol)',
1044+
'<(inspector_path)/inspector_protocol_config.json',
1045+
'<@(inspector_protocol_files)',
1046+
],
1047+
'outputs': [
1048+
'<@(inspector_generated_sources)',
1049+
],
1050+
'process_outputs_as_sources': 1,
1051+
'action': [
1052+
'<(python)',
1053+
'<(inspector_protocol_path)/code_generator.py',
1054+
'--jinja_dir', '<(V8_ROOT)/third_party',
1055+
'--output_base', '<(inspector_generated_output_root)/src/inspector',
1056+
'--config', '<(inspector_path)/inspector_protocol_config.json',
1057+
'--config_value', 'protocol.path=<(v8_inspector_js_protocol)',
1058+
'--inspector_protocol_dir', '<(inspector_protocol_path)',
1059+
],
1060+
'message': 'Generating inspector protocol sources from protocol json',
1061+
},
1062+
],
1063+
}, # v8_inspector_headers
10121064
{
10131065
'target_name': 'v8_base_without_compiler',
10141066
'type': 'static_library',
@@ -1018,6 +1070,7 @@
10181070
'v8_bigint',
10191071
'v8_headers',
10201072
'v8_heap_base',
1073+
'v8_inspector_headers',
10211074
'v8_libbase',
10221075
'v8_shared_internal_headers',
10231076
'v8_version',

0 commit comments

Comments
 (0)