Skip to content

Commit e410085

Browse files
legendecasRafaelGSS
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 4991e5d commit e410085

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)