From aae0eceea0f5b9f31370a1c795e9ab4ce3e353e9 Mon Sep 17 00:00:00 2001 From: Refael Ackermann Date: Thu, 27 Sep 2018 10:45:24 -0400 Subject: [PATCH] build: encapsulate node/inspector gyp scafolding PR-URL: https://github.com/nodejs/node/pull/23156 Reviewed-By: Richard Lau Reviewed-By: Joyee Cheung --- node.gyp | 195 +----------------------------- src/inspector/node_inspector.gypi | 149 +++++++++++++++++++++++ 2 files changed, 150 insertions(+), 194 deletions(-) create mode 100644 src/inspector/node_inspector.gypi diff --git a/node.gyp b/node.gyp index 8abff1b81a23d6..b7aae2855c6613 100644 --- a/node.gyp +++ b/node.gyp @@ -500,40 +500,7 @@ 'product_name': 'node_base', }], [ 'v8_enable_inspector==1', { - 'defines': [ - 'HAVE_INSPECTOR=1', - ], - 'sources': [ - 'src/inspector_agent.cc', - 'src/inspector_io.cc', - 'src/inspector_js_api.cc', - 'src/inspector_socket.cc', - 'src/inspector_socket_server.cc', - 'src/inspector/main_thread_interface.cc', - 'src/inspector/worker_inspector.cc', - 'src/inspector/node_string.cc', - 'src/inspector/worker_agent.cc', - 'src/inspector/tracing_agent.cc', - 'src/inspector_agent.h', - 'src/inspector_io.h', - 'src/inspector_socket.h', - 'src/inspector_socket_server.h', - 'src/inspector/main_thread_interface.h', - 'src/inspector/worker_inspector.h', - 'src/inspector/node_string.h', - 'src/inspector/worker_agent.h', - 'src/inspector/tracing_agent.h', - '<@(node_inspector_generated_sources)' - ], - 'dependencies': [ - 'node_protocol_generated_sources#host', - 'v8_inspector_compress_protocol_json#host', - ], - 'include_dirs': [ - '<(SHARED_INTERMEDIATE_DIR)/include', # for inspector - '<(SHARED_INTERMEDIATE_DIR)', - '<(SHARED_INTERMEDIATE_DIR)/src', # for inspector - ], + 'includes' : [ 'src/inspector/node_inspector.gypi' ], }, { 'defines': [ 'HAVE_INSPECTOR=0' ] }], @@ -1063,165 +1030,5 @@ }, ] }], # end aix section - [ 'v8_enable_inspector==1', { - 'variables': { - 'protocol_path': 'tools/inspector_protocol', - 'node_inspector_path': 'src/inspector', - 'node_inspector_generated_sources': [ - '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/Forward.h', - '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/Protocol.cpp', - '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/Protocol.h', - '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/NodeWorker.cpp', - '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/NodeWorker.h', - '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/NodeTracing.cpp', - '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/NodeTracing.h', - ], - 'node_protocol_files': [ - '<(protocol_path)/lib/Allocator_h.template', - '<(protocol_path)/lib/Array_h.template', - '<(protocol_path)/lib/Collections_h.template', - '<(protocol_path)/lib/DispatcherBase_cpp.template', - '<(protocol_path)/lib/DispatcherBase_h.template', - '<(protocol_path)/lib/ErrorSupport_cpp.template', - '<(protocol_path)/lib/ErrorSupport_h.template', - '<(protocol_path)/lib/Forward_h.template', - '<(protocol_path)/lib/FrontendChannel_h.template', - '<(protocol_path)/lib/Maybe_h.template', - '<(protocol_path)/lib/Object_cpp.template', - '<(protocol_path)/lib/Object_h.template', - '<(protocol_path)/lib/Parser_cpp.template', - '<(protocol_path)/lib/Parser_h.template', - '<(protocol_path)/lib/Protocol_cpp.template', - '<(protocol_path)/lib/ValueConversions_h.template', - '<(protocol_path)/lib/Values_cpp.template', - '<(protocol_path)/lib/Values_h.template', - '<(protocol_path)/templates/Exported_h.template', - '<(protocol_path)/templates/Imported_h.template', - '<(protocol_path)/templates/TypeBuilder_cpp.template', - '<(protocol_path)/templates/TypeBuilder_h.template', - '<(protocol_path)/CodeGenerator.py', - ] - }, - 'targets': [ - { - 'target_name': 'prepare_protocol_json', - 'type': 'none', - 'toolsets': ['host'], - 'copies': [ - { - 'files': [ - '<(node_inspector_path)/node_protocol_config.json', - '<(node_inspector_path)/node_protocol.pdl' - ], - 'destination': '<(SHARED_INTERMEDIATE_DIR)', - } - ], - 'actions': [ - { - 'action_name': 'convert_node_protocol_to_json', - 'inputs': [ - '<(SHARED_INTERMEDIATE_DIR)/node_protocol.pdl', - ], - 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/node_protocol.json', - ], - 'action': [ - 'python', - 'tools/inspector_protocol/ConvertProtocolToJSON.py', - '<@(_inputs)', - '<@(_outputs)', - ], - }, - ] - }, - { - 'target_name': 'node_protocol_generated_sources', - 'type': 'none', - 'toolsets': ['host'], - 'dependencies': ['prepare_protocol_json'], - 'actions': [ - { - 'action_name': 'node_protocol_generated_sources', - 'inputs': [ - '<(SHARED_INTERMEDIATE_DIR)/node_protocol_config.json', - '<(SHARED_INTERMEDIATE_DIR)/node_protocol.json', - '<@(node_protocol_files)', - ], - 'outputs': [ - '<@(node_inspector_generated_sources)', - ], - 'action': [ - 'python', - '<(protocol_path)/CodeGenerator.py', - '--jinja_dir', '<@(protocol_path)/..', - '--output_base', '<(SHARED_INTERMEDIATE_DIR)/src/', - '--config', '<(SHARED_INTERMEDIATE_DIR)/node_protocol_config.json', - ], - 'message': 'Generating node protocol sources from protocol json', - }, - ] - }, - { - 'target_name': 'v8_inspector_compress_protocol_json', - 'type': 'none', - 'toolsets': ['host'], - 'copies': [ - { - 'destination': '<(SHARED_INTERMEDIATE_DIR)', - 'files': ['deps/v8/src/inspector/js_protocol.pdl'] - } - ], - 'actions': [ - { - 'action_name': 'v8_inspector_convert_protocol_to_json', - 'inputs': [ - '<(SHARED_INTERMEDIATE_DIR)/js_protocol.pdl', - ], - 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/js_protocol.json', - ], - 'action': [ - 'python', - 'tools/inspector_protocol/ConvertProtocolToJSON.py', - '<@(_inputs)', - '<@(_outputs)', - ], - }, - { - 'action_name': 'concatenate_protocols', - 'inputs': [ - '<(SHARED_INTERMEDIATE_DIR)/js_protocol.json', - '<(SHARED_INTERMEDIATE_DIR)/node_protocol.json', - ], - 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/concatenated_protocol.json', - ], - 'action': [ - 'python', - 'tools/inspector_protocol/ConcatenateProtocols.py', - '<@(_inputs)', - '<@(_outputs)', - ], - }, - { - 'action_name': 'v8_inspector_compress_protocol_json', - 'process_outputs_as_sources': 1, - 'inputs': [ - '<(SHARED_INTERMEDIATE_DIR)/concatenated_protocol.json', - ], - 'outputs': [ - '<(SHARED_INTERMEDIATE_DIR)/v8_inspector_protocol_json.h', - ], - 'action': [ - 'python', - 'tools/compress_json.py', - '<@(_inputs)', - '<@(_outputs)', - ], - }, - ], - }, - ] - }] ], # end conditions block } diff --git a/src/inspector/node_inspector.gypi b/src/inspector/node_inspector.gypi new file mode 100644 index 00000000000000..aea4de894fbe99 --- /dev/null +++ b/src/inspector/node_inspector.gypi @@ -0,0 +1,149 @@ +{ + 'variables': { + 'protocol_tool_path': '../../tools/inspector_protocol', + 'node_inspector_path': '../../src/inspector', + 'node_inspector_generated_sources': [ + '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/Forward.h', + '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/Protocol.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/Protocol.h', + '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/NodeWorker.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/NodeWorker.h', + '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/NodeTracing.cpp', + '<(SHARED_INTERMEDIATE_DIR)/src/node/inspector/protocol/NodeTracing.h', + ], + 'node_protocol_files': [ + '<(protocol_tool_path)/lib/Allocator_h.template', + '<(protocol_tool_path)/lib/Array_h.template', + '<(protocol_tool_path)/lib/Collections_h.template', + '<(protocol_tool_path)/lib/DispatcherBase_cpp.template', + '<(protocol_tool_path)/lib/DispatcherBase_h.template', + '<(protocol_tool_path)/lib/ErrorSupport_cpp.template', + '<(protocol_tool_path)/lib/ErrorSupport_h.template', + '<(protocol_tool_path)/lib/Forward_h.template', + '<(protocol_tool_path)/lib/FrontendChannel_h.template', + '<(protocol_tool_path)/lib/Maybe_h.template', + '<(protocol_tool_path)/lib/Object_cpp.template', + '<(protocol_tool_path)/lib/Object_h.template', + '<(protocol_tool_path)/lib/Parser_cpp.template', + '<(protocol_tool_path)/lib/Parser_h.template', + '<(protocol_tool_path)/lib/Protocol_cpp.template', + '<(protocol_tool_path)/lib/ValueConversions_h.template', + '<(protocol_tool_path)/lib/Values_cpp.template', + '<(protocol_tool_path)/lib/Values_h.template', + '<(protocol_tool_path)/templates/Exported_h.template', + '<(protocol_tool_path)/templates/Imported_h.template', + '<(protocol_tool_path)/templates/TypeBuilder_cpp.template', + '<(protocol_tool_path)/templates/TypeBuilder_h.template', + '<(protocol_tool_path)/CodeGenerator.py', + ] + }, + 'defines': [ + 'HAVE_INSPECTOR=1', + ], + 'sources': [ + '../../src/inspector_agent.cc', + '../../src/inspector_io.cc', + '../../src/inspector_agent.h', + '../../src/inspector_io.h', + '../../src/inspector_js_api.cc', + '../../src/inspector_socket.cc', + '../../src/inspector_socket.h', + '../../src/inspector_socket_server.cc', + '../../src/inspector_socket_server.h', + '../../src/inspector/main_thread_interface.cc', + '../../src/inspector/main_thread_interface.h', + '../../src/inspector/node_string.cc', + '../../src/inspector/node_string.h', + '../../src/inspector/tracing_agent.cc', + '../../src/inspector/tracing_agent.h', + '../../src/inspector/worker_agent.cc', + '../../src/inspector/worker_agent.h', + '../../src/inspector/worker_inspector.cc', + '../../src/inspector/worker_inspector.h', + ], + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/include', # for inspector + '<(SHARED_INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)/src', # for inspector + ], + 'copies': [ + { + 'files': [ + '<(node_inspector_path)/node_protocol_config.json', + '<(node_inspector_path)/node_protocol.pdl' + ], + 'destination': '<(SHARED_INTERMEDIATE_DIR)', + } + ], + 'actions': [ + { + 'action_name': 'convert_node_protocol_to_json', + 'inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/node_protocol.pdl', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/node_protocol.json', + ], + 'action': [ + 'python', + 'tools/inspector_protocol/ConvertProtocolToJSON.py', + '<@(_inputs)', + '<@(_outputs)', + ], + }, + { + 'action_name': 'node_protocol_generated_sources', + 'process_outputs_as_sources': 0, + 'inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/node_protocol_config.json', + '<(SHARED_INTERMEDIATE_DIR)/node_protocol.json', + '<@(node_protocol_files)', + ], + 'outputs': [ + '<@(node_inspector_generated_sources)', + ], + 'process_outputs_as_sources': 1, + 'action': [ + 'python', + 'tools/inspector_protocol/CodeGenerator.py', + '--jinja_dir', '<@(protocol_tool_path)/..', + '--output_base', '<(SHARED_INTERMEDIATE_DIR)/src/', + '--config', '<(SHARED_INTERMEDIATE_DIR)/node_protocol_config.json', + ], + 'message': 'Generating node protocol sources from protocol json', + }, + { + 'action_name': 'concatenate_protocols', + 'inputs': [ + '../../deps/v8/src/inspector/js_protocol.json', + '<(SHARED_INTERMEDIATE_DIR)/node_protocol.json', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/concatenated_protocol.json', + ], + 'action': [ + 'python', + 'tools/inspector_protocol/ConcatenateProtocols.py', + '<@(_inputs)', + '<@(_outputs)', + ], + }, + { + 'action_name': 'v8_inspector_compress_protocol_json', + 'process_outputs_as_sources': 0, + 'inputs': [ + '<(SHARED_INTERMEDIATE_DIR)/concatenated_protocol.json', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/v8_inspector_protocol_json.h', + ], + 'process_outputs_as_sources': 1, + 'action': [ + 'python', + 'tools/compress_json.py', + '<@(_inputs)', + '<@(_outputs)', + ], + }, + ], +}