blob: d99653a63cf01ee49a540d7867fb0b4776650394 [file] [log] [blame]
Ryan Dahl4f3c8b32011-08-04 00:01:301{
Ryan Dahlbea48272011-08-04 06:36:272 'variables': {
Ben Noordhuis4f683692015-01-24 00:06:073 'v8_use_snapshot%': 'false',
Dave Pachecocc152992012-03-28 17:26:104 'node_use_dtrace%': 'false',
Glen Keane5e825d12015-01-22 12:35:165 'node_use_lttng%': 'false',
Igor Zinkovsky35a14212012-06-11 23:23:176 'node_use_etw%': 'false',
Scott Blomquistf657ce62012-11-20 23:27:227 'node_use_perfctr%': 'false',
Fedor Indutny8363ede2016-03-23 01:05:548 'node_no_browser_globals%': 'false',
Stefan Budeanu410296c2016-03-27 00:17:559 'node_use_v8_platform%': 'true',
10 'node_use_bundled_v8%': 'true',
11 'node_shared%': 'false',
Stefan Budeanu88e862b2016-06-29 20:03:1812 'force_dynamic_crt%': 0,
Stefan Budeanu410296c2016-03-27 00:17:5513 'node_module_version%': '',
T.C. Hollingsworthd03b8482012-02-26 23:02:2114 'node_shared_zlib%': 'false',
Stephen Gallagherbfd78b62012-10-23 13:01:2615 'node_shared_http_parser%': 'false',
Johan Bergström2253be92016-03-17 22:25:1716 'node_shared_cares%': 'false',
Stephen Gallagher38809e32012-10-23 23:54:2217 'node_shared_libuv%': 'false',
Bert Belderae2ac4f2011-09-04 23:01:5318 'node_use_openssl%': 'true',
Ryan Dahlfe464a22012-06-20 20:31:4919 'node_shared_openssl%': 'false',
Fedor Indutnyb55c9d62014-03-26 20:30:4920 'node_v8_options%': '',
Chunyang Daia881b532015-10-21 16:24:1221 'node_enable_v8_vtunejit%': 'false',
Michael Dawson15bcbf82015-09-29 14:22:0022 'node_core_target_name%': 'node',
Bert Belderae2ac4f2011-09-04 23:01:5323 'library_files': [
Jeremiah Senkpielec6af312016-03-15 20:28:1324 'lib/internal/bootstrap_node.js',
Ben Noordhuis29d7fd62014-11-03 11:03:3425 'lib/_debug_agent.js',
Bert Belderae2ac4f2011-09-04 23:01:5326 'lib/_debugger.js',
Bert Belderae2ac4f2011-09-04 23:01:5327 'lib/assert.js',
28 'lib/buffer.js',
Ryan Dahl96e423a2011-10-11 20:16:3329 'lib/child_process.js',
Bert Belderae2ac4f2011-09-04 23:01:5330 'lib/console.js',
31 'lib/constants.js',
32 'lib/crypto.js',
Ryan Dahl73b4b862011-10-12 21:51:2533 'lib/cluster.js',
Ryan Dahl71cce3f2011-10-11 20:26:4134 'lib/dgram.js',
Ryan Dahl58e892d2011-10-11 20:21:3035 'lib/dns.js',
isaacs963459d2012-04-06 23:26:1836 'lib/domain.js',
Bert Belderae2ac4f2011-09-04 23:01:5337 'lib/events.js',
Bert Belderae2ac4f2011-09-04 23:01:5338 'lib/fs.js',
39 'lib/http.js',
Timothy J Fontaine62e4f892013-04-11 21:47:1540 'lib/_http_agent.js',
Timothy J Fontaine951e0b62013-04-11 23:11:1241 'lib/_http_client.js',
Timothy J Fontainebb564892013-04-11 22:15:4142 'lib/_http_common.js',
Timothy J Fontaine5909a9c2013-04-11 22:00:4543 'lib/_http_incoming.js',
Timothy J Fontainedc9f97b2013-04-11 22:37:1444 'lib/_http_outgoing.js',
Timothy J Fontaine6717fdc2013-04-11 23:00:1945 'lib/_http_server.js',
Bert Belderae2ac4f2011-09-04 23:01:5346 'lib/https.js',
Rich Trott47befff2015-09-26 21:27:3647 'lib/_linklist.js',
Bert Belderae2ac4f2011-09-04 23:01:5348 'lib/module.js',
Ryan Dahlbe0bb2d2011-10-11 20:07:1449 'lib/net.js',
Bert Belderae2ac4f2011-09-04 23:01:5350 'lib/os.js',
51 'lib/path.js',
Aleksey Smolenchukd8586ea2014-12-30 22:25:5252 'lib/process.js',
Bert Belderae2ac4f2011-09-04 23:01:5353 'lib/punycode.js',
54 'lib/querystring.js',
55 'lib/readline.js',
56 'lib/repl.js',
57 'lib/stream.js',
isaacs420e07c2012-10-02 22:44:5058 'lib/_stream_readable.js',
59 'lib/_stream_writable.js',
60 'lib/_stream_duplex.js',
61 'lib/_stream_transform.js',
62 'lib/_stream_passthrough.js',
Fedor Indutny1738c772015-02-23 20:09:4463 'lib/_stream_wrap.js',
Bert Belderae2ac4f2011-09-04 23:01:5364 'lib/string_decoder.js',
65 'lib/sys.js',
Ryan Dahlbe0bb2d2011-10-11 20:07:1466 'lib/timers.js',
Bert Belderae2ac4f2011-09-04 23:01:5367 'lib/tls.js',
Fedor Indutny5d2aef12014-03-06 23:27:0168 'lib/_tls_common.js',
Fedor Indutnyaf80e7b2013-06-13 13:36:0069 'lib/_tls_legacy.js',
70 'lib/_tls_wrap.js',
Ryan Dahlcdf5d912011-10-11 20:41:3371 'lib/tty.js',
Bert Belderae2ac4f2011-09-04 23:01:5372 'lib/url.js',
73 'lib/util.js',
Ben Noordhuisdb595b22014-12-09 21:57:4874 'lib/v8.js',
Bert Belderae2ac4f2011-09-04 23:01:5375 'lib/vm.js',
isaacs5b8e1da2011-09-06 23:13:0576 'lib/zlib.js',
James M Snelle8eaaa72016-10-11 21:12:3177 'lib/internal/buffer.js',
Evan Lucasa77c3302015-05-22 14:52:0578 'lib/internal/child_process.js',
cjihrig2f885e72017-01-11 20:30:5579 'lib/internal/cluster/child.js',
80 'lib/internal/cluster/master.js',
81 'lib/internal/cluster/round_robin_handle.js',
82 'lib/internal/cluster/shared_handle.js',
83 'lib/internal/cluster/utils.js',
84 'lib/internal/cluster/worker.js',
James M Snell159749d2016-10-24 20:09:3485 'lib/internal/errors.js',
Vladimir Kurchatkin2db758c2015-02-14 19:53:3486 'lib/internal/freelist.js',
James M Snelldc727792016-08-30 16:53:5087 'lib/internal/fs.js',
Brian White940b5302017-03-06 02:13:0988 'lib/internal/http.js',
Rich Trott47befff2015-09-26 21:27:3689 'lib/internal/linkedlist.js',
Evan Lucas6cbbfef2016-01-26 14:12:4190 'lib/internal/net.js',
Dave Eddy2e6ece42015-08-17 21:33:1391 'lib/internal/module.js',
Jeremiah Senkpiel015cef22016-03-15 20:13:5292 'lib/internal/process/next_tick.js',
93 'lib/internal/process/promises.js',
94 'lib/internal/process/stdio.js',
James M Snellc6656db2016-01-20 19:38:3595 'lib/internal/process/warning.js',
Jeremiah Senkpiel015cef22016-03-15 20:13:5296 'lib/internal/process.js',
Timothy Guc6b12d02017-02-04 06:06:0497 'lib/internal/querystring.js',
Wayne Andrewsf8ee1972017-01-10 09:21:3098 'lib/internal/process/write-coverage.js',
cjihrigca2e8b22015-11-16 19:09:2699 'lib/internal/readline.js',
Chris Dickinson0450ce72015-04-23 07:35:53100 'lib/internal/repl.js',
Rich Trott47befff2015-09-26 21:27:36101 'lib/internal/socket_list.js',
James M Snell4b312382016-05-31 18:52:19102 'lib/internal/url.js',
Vladimir Kurchatkin628845b2015-05-28 14:01:56103 'lib/internal/util.js',
Matt Loring49440b72015-11-25 14:08:58104 'lib/internal/v8_prof_polyfill.js',
105 'lib/internal/v8_prof_processor.js',
Brendan Ashworthc70c7782015-08-26 21:41:28106 'lib/internal/streams/lazy_transform.js',
Brian White68698462016-05-31 17:03:59107 'lib/internal/streams/BufferList.js',
yorkie1b30df12016-08-09 15:34:23108 'lib/internal/streams/legacy.js',
Matt Loring49440b72015-11-25 14:08:58109 'deps/v8/tools/splaytree.js',
110 'deps/v8/tools/codemap.js',
111 'deps/v8/tools/consarray.js',
112 'deps/v8/tools/csvparser.js',
113 'deps/v8/tools/profile.js',
114 'deps/v8/tools/profile_view.js',
115 'deps/v8/tools/logreader.js',
116 'deps/v8/tools/tickprocessor.js',
117 'deps/v8/tools/SourceMap.js',
118 'deps/v8/tools/tickprocessor-driver.js',
Anna Henningsenfd18b652016-12-20 17:01:28119 'deps/node-inspect/lib/_inspect.js',
120 'deps/node-inspect/lib/internal/inspect_client.js',
121 'deps/node-inspect/lib/internal/inspect_repl.js',
Bert Belderae2ac4f2011-09-04 23:01:53122 ],
Stefan Budeanu410296c2016-03-27 00:17:55123 'conditions': [
124 [ 'node_shared=="true"', {
125 'node_target_type%': 'shared_library',
126 }, {
127 'node_target_type%': 'executable',
128 }],
Ben Noordhuisb4d4fd92016-04-18 14:10:20129 [ 'OS=="win" and '
130 'node_use_openssl=="true" and '
131 'node_shared_openssl=="false"', {
132 'use_openssl_def': 1,
133 }, {
134 'use_openssl_def': 0,
135 }],
Stefan Budeanu410296c2016-03-27 00:17:55136 ],
Ryan Dahlbea48272011-08-04 06:36:27137 },
138
Ryan Dahl4f3c8b32011-08-04 00:01:30139 'targets': [
140 {
Michael Dawson15bcbf82015-09-29 14:22:00141 'target_name': '<(node_core_target_name)',
Marat Abdullincd38a4a2015-04-04 14:04:49142 'type': '<(node_target_type)',
Ryan Dahlbea48272011-08-04 06:36:27143
Ryan Dahl4f3c8b32011-08-04 00:01:30144 'dependencies': [
Ryan Dahla979ab92011-08-04 23:40:07145 'node_js2c#host',
Ryan Dahl4f3c8b32011-08-04 00:01:30146 ],
Ryan Dahla979ab92011-08-04 23:40:07147
Daniel Bevenius6a09a692016-10-18 14:41:26148 'includes': [
149 'node.gypi'
150 ],
151
Ryan Dahla979ab92011-08-04 23:40:07152 'include_dirs': [
Ryan Dahldb1bf672011-08-08 19:11:48153 'src',
Scott Blomquista6167742013-01-03 22:36:04154 'tools/msvs/genfiles',
Ryan Dahldb1bf672011-08-08 19:11:48155 'deps/uv/src/ares',
Ben Noordhuisc30fc8d2017-02-02 22:23:49156 '<(SHARED_INTERMEDIATE_DIR)',
Ryan Dahla979ab92011-08-04 23:40:07157 ],
158
Ryan Dahl4f3c8b32011-08-04 00:01:30159 'sources': [
Trevor Norris5d17b162014-12-09 03:55:48160 'src/async-wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:48161 'src/cares_wrap.cc',
Daniel Bevenius46633932016-07-04 17:20:33162 'src/connection_wrap.cc',
Daniel Beveniusb8960572016-06-29 18:20:54163 'src/connect_wrap.cc',
Daniel Bevenius974ecb02017-01-18 11:34:33164 'src/debug-agent.cc',
165 'src/env.cc',
166 'src/fs_event_wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:48167 'src/handle_wrap.cc',
Fedor Indutny1738c772015-02-23 20:09:44168 'src/js_stream.cc',
Ryan Dahldb1bf672011-08-08 19:11:48169 'src/node.cc',
Jason Ginchereau56e881d2017-03-20 21:55:26170 'src/node_api.cc',
171 'src/node_api.h',
172 'src/node_api_types.h',
Ryan Dahldb1bf672011-08-08 19:11:48173 'src/node_buffer.cc',
James M Snell2e974cd2016-04-19 04:02:18174 'src/node_config.cc',
Ryan Dahldb1bf672011-08-08 19:11:48175 'src/node_constants.cc',
Domenic Denicola7afdba62013-07-27 04:34:12176 'src/node_contextify.cc',
Eugene Ostroukhovf9aadfb2016-11-18 21:52:22177 'src/node_debug_options.cc',
Ryan Dahldb1bf672011-08-08 19:11:48178 'src/node_file.cc',
179 'src/node_http_parser.cc',
Ryan Dahldb1bf672011-08-08 19:11:48180 'src/node_main.cc',
181 'src/node_os.cc',
James M Snelld3875912016-02-04 01:16:10182 'src/node_revert.cc',
Anna Henningsen1fde98b2017-01-27 05:38:11183 'src/node_serdes.cc',
James M Snell4b312382016-05-31 18:52:19184 'src/node_url.cc',
Evan Lucas88533882015-09-29 19:30:22185 'src/node_util.cc',
Ben Noordhuis010222d2013-10-28 13:57:47186 'src/node_v8.cc',
Ben Noordhuisf0ce9842012-06-16 20:41:37187 'src/node_stat_watcher.cc',
Andrew Paprockic0818092012-10-08 19:24:08188 'src/node_watchdog.cc',
isaacs5b8e1da2011-09-06 23:13:05189 'src/node_zlib.cc',
Steven R. Loomisac2857b2014-09-05 05:03:24190 'src/node_i18n.cc',
Ryan Dahldb1bf672011-08-08 19:11:48191 'src/pipe_wrap.cc',
Daniel Bevenius974ecb02017-01-18 11:34:33192 'src/process_wrap.cc',
Bert Belder600a6462012-08-20 21:59:21193 'src/signal_wrap.cc',
Bert Belderfa4eb472014-02-10 20:22:06194 'src/spawn_sync.cc',
isaacs64fc34b2013-05-01 22:40:43195 'src/string_bytes.cc',
Daniel Beveniusf57dabe2017-01-17 06:51:25196 'src/string_search.cc',
Fedor Indutnyb9686232015-02-22 18:59:07197 'src/stream_base.cc',
Ryan Dahldb1bf672011-08-08 19:11:48198 'src/stream_wrap.cc',
199 'src/tcp_wrap.cc',
200 'src/timer_wrap.cc',
Daniel Bevenius974ecb02017-01-18 11:34:33201 'src/tracing/agent.cc',
202 'src/tracing/node_trace_buffer.cc',
203 'src/tracing/node_trace_writer.cc',
204 'src/tracing/trace_event.cc',
Ryan Dahlc1ae6ea2011-09-20 20:38:07205 'src/tty_wrap.cc',
Ryan Dahl06f750c2011-08-24 23:20:08206 'src/udp_wrap.cc',
Daniel Beveniusf57dabe2017-01-17 06:51:25207 'src/util.cc',
Ben Noordhuisd4c14c12013-07-16 21:08:25208 'src/uv.cc',
Peter Bright64b41682011-08-15 16:35:48209 # headers to make for a more pleasant IDE experience
Trevor Norrisefa62fd2013-09-24 21:12:11210 'src/async-wrap.h',
211 'src/async-wrap-inl.h',
Trevor Norrisd120d922013-11-04 18:49:55212 'src/base-object.h',
213 'src/base-object-inl.h',
Daniel Bevenius46633932016-07-04 17:20:33214 'src/connection_wrap.h',
Daniel Beveniusb8960572016-06-29 18:20:54215 'src/connect_wrap.h',
Ben Noordhuis29d7fd62014-11-03 11:03:34216 'src/debug-agent.h',
Ben Noordhuis756b6222013-08-10 22:26:11217 'src/env.h',
218 'src/env-inl.h',
Peter Bright64b41682011-08-15 16:35:48219 'src/handle_wrap.h',
Fedor Indutny1738c772015-02-23 20:09:44220 'src/js_stream.h',
Peter Bright64b41682011-08-15 16:35:48221 'src/node.h',
222 'src/node_buffer.h',
Peter Bright64b41682011-08-15 16:35:48223 'src/node_constants.h',
Eugene Ostroukhovf9aadfb2016-11-18 21:52:22224 'src/node_debug_options.h',
Peter Bright64b41682011-08-15 16:35:48225 'src/node_file.h',
226 'src/node_http_parser.h',
Ben Noordhuis756b6222013-08-10 22:26:11227 'src/node_internals.h',
Peter Bright64b41682011-08-15 16:35:48228 'src/node_javascript.h',
Ben Noordhuisd7087df2016-06-17 23:39:05229 'src/node_mutex.h',
Peter Bright64b41682011-08-15 16:35:48230 'src/node_root_certs.h',
Peter Bright64b41682011-08-15 16:35:48231 'src/node_version.h',
Andrew Paprockic0818092012-10-08 19:24:08232 'src/node_watchdog.h',
Fedor Indutny6978e992013-06-11 10:52:27233 'src/node_wrap.h',
James M Snelld3875912016-02-04 01:16:10234 'src/node_revert.h',
Steven R. Loomisac2857b2014-09-05 05:03:24235 'src/node_i18n.h',
Peter Bright64b41682011-08-15 16:35:48236 'src/pipe_wrap.h',
Fedor Indutnyaf98fc92012-05-16 16:04:24237 'src/tty_wrap.h',
238 'src/tcp_wrap.h',
239 'src/udp_wrap.h',
Ben Noordhuis38dc0cd2015-01-30 11:54:53240 'src/req-wrap.h',
241 'src/req-wrap-inl.h',
isaacs64fc34b2013-05-01 22:40:43242 'src/string_bytes.h',
Fedor Indutnyb9686232015-02-22 18:59:07243 'src/stream_base.h',
Fedor Indutny89e133a2015-02-25 17:43:14244 'src/stream_base-inl.h',
Peter Bright64b41682011-08-15 16:35:48245 'src/stream_wrap.h',
Daniel Bevenius684590f2017-01-17 07:12:08246 'src/tracing/agent.h',
247 'src/tracing/node_trace_buffer.h',
248 'src/tracing/node_trace_writer.h',
misterpoeba4847e2016-08-05 21:04:25249 'src/tracing/trace_event.h'
Bert Belder9e55ba72012-08-06 19:22:11250 'src/tree.h',
Ben Noordhuis756b6222013-08-10 22:26:11251 'src/util.h',
252 'src/util-inl.h',
Peter Bright64b41682011-08-15 16:35:48253 'deps/http_parser/http_parser.h',
Johan Bergströmd726a172015-04-02 23:13:43254 'deps/v8/include/v8.h',
255 'deps/v8/include/v8-debug.h',
Bert Belderae2ac4f2011-09-04 23:01:53256 # javascript files to make for an even more pleasant IDE experience
257 '<@(library_files)',
Bert Belderc0c4bd42011-10-28 10:10:24258 # node.gyp is added to the project by default.
259 'common.gypi',
Ben Noordhuisc30fc8d2017-02-02 22:23:49260 '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc',
Ryan Dahla979ab92011-08-04 23:40:07261 ],
262
263 'defines': [
Bert Beldere1fe2702015-01-08 12:05:51264 'NODE_ARCH="<(target_arch)"',
265 'NODE_PLATFORM="<(OS)"',
Bert Beldere1fe2702015-01-08 12:05:51266 'NODE_WANT_INTERNALS=1',
Ben Noordhuis9a03ae62015-07-01 21:47:37267 # Warn when using deprecated V8 APIs.
268 'V8_DEPRECATION_WARNINGS=1',
Ryan Dahl4f3c8b32011-08-04 00:01:30269 ],
Ryan Dahl4f3c8b32011-08-04 00:01:30270 },
Ben Noordhuisb4d4fd92016-04-18 14:10:20271 {
272 'target_name': 'mkssldef',
273 'type': 'none',
274 # TODO(bnoordhuis) Make all platforms export the same list of symbols.
275 # Teach mkssldef.py to generate linker maps that UNIX linkers understand.
276 'conditions': [
277 [ 'use_openssl_def==1', {
278 'variables': {
279 'mkssldef_flags': [
280 # Categories to export.
281 '-CAES,BF,BIO,DES,DH,DSA,EC,ECDH,ECDSA,ENGINE,EVP,HMAC,MD4,MD5,'
Alex Hultmanb8b8c362016-07-10 14:08:42282 'NEXTPROTONEG,PSK,RC2,RC4,RSA,SHA,SHA0,SHA1,SHA256,SHA512,SOCK,'
283 'STDIO,TLSEXT',
Ben Noordhuisb4d4fd92016-04-18 14:10:20284 # Defines.
285 '-DWIN32',
286 # Symbols to filter from the export list.
287 '-X^DSO',
288 '-X^_',
289 '-X^private_',
Alex Hultman359352c2016-08-05 02:36:40290 # Base generated DEF on zlib.def
291 '-Bdeps/zlib/win32/zlib.def'
Ben Noordhuisb4d4fd92016-04-18 14:10:20292 ],
293 },
294 'conditions': [
295 ['openssl_fips!=""', {
296 'variables': { 'mkssldef_flags': ['-DOPENSSL_FIPS'] },
297 }],
298 ],
299 'actions': [
300 {
301 'action_name': 'mkssldef',
302 'inputs': [
303 'deps/openssl/openssl/util/libeay.num',
304 'deps/openssl/openssl/util/ssleay.num',
305 ],
306 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/openssl.def'],
307 'action': [
308 'python',
309 'tools/mkssldef.py',
310 '<@(mkssldef_flags)',
311 '-o',
312 '<@(_outputs)',
313 '<@(_inputs)',
314 ],
315 },
316 ],
317 }],
318 ],
319 },
Igor Zinkovsky35a14212012-06-11 23:23:17320 # generate ETW header and resource files
321 {
322 'target_name': 'node_etw',
323 'type': 'none',
324 'conditions': [
João Reisccd81882016-03-11 10:26:20325 [ 'node_use_etw=="true"', {
Igor Zinkovsky35a14212012-06-11 23:23:17326 'actions': [
327 {
328 'action_name': 'node_etw',
329 'inputs': [ 'src/res/node_etw_provider.man' ],
Scott Blomquist953b0492012-10-25 23:51:46330 'outputs': [
Scott Blomquista6167742013-01-03 22:36:04331 'tools/msvs/genfiles/node_etw_provider.rc',
332 'tools/msvs/genfiles/node_etw_provider.h',
333 'tools/msvs/genfiles/node_etw_providerTEMP.BIN',
Scott Blomquist953b0492012-10-25 23:51:46334 ],
Scott Blomquista6167742013-01-03 22:36:04335 'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ]
Igor Zinkovsky35a14212012-06-11 23:23:17336 }
337 ]
338 } ]
339 ]
340 },
Scott Blomquistf657ce62012-11-20 23:27:22341 # generate perf counter header and resource files
342 {
343 'target_name': 'node_perfctr',
344 'type': 'none',
345 'conditions': [
João Reisccd81882016-03-11 10:26:20346 [ 'node_use_perfctr=="true"', {
Scott Blomquistf657ce62012-11-20 23:27:22347 'actions': [
348 {
349 'action_name': 'node_perfctr_man',
350 'inputs': [ 'src/res/node_perfctr_provider.man' ],
351 'outputs': [
Scott Blomquista6167742013-01-03 22:36:04352 'tools/msvs/genfiles/node_perfctr_provider.h',
353 'tools/msvs/genfiles/node_perfctr_provider.rc',
354 'tools/msvs/genfiles/MSG00001.BIN',
Scott Blomquistf657ce62012-11-20 23:27:22355 ],
356 'action': [ 'ctrpp <@(_inputs) '
Scott Blomquista6167742013-01-03 22:36:04357 '-o tools/msvs/genfiles/node_perfctr_provider.h '
358 '-rc tools/msvs/genfiles/node_perfctr_provider.rc'
Scott Blomquistf657ce62012-11-20 23:27:22359 ]
360 },
361 ],
362 } ]
363 ]
364 },
Ryan Dahl4f3c8b32011-08-04 00:01:30365 {
Ben Noordhuis782620f2016-06-29 21:20:06366 'target_name': 'v8_inspector_compress_protocol_json',
367 'type': 'none',
368 'toolsets': ['host'],
369 'conditions': [
Ali Ijaz Sheikhb30ec592017-01-17 19:49:26370 [ 'v8_enable_inspector==1', {
Ben Noordhuis782620f2016-06-29 21:20:06371 'actions': [
372 {
373 'action_name': 'v8_inspector_compress_protocol_json',
374 'process_outputs_as_sources': 1,
375 'inputs': [
Ali Ijaz Sheikhb30ec592017-01-17 19:49:26376 'deps/v8/src/inspector/js_protocol.json',
Ben Noordhuis782620f2016-06-29 21:20:06377 ],
378 'outputs': [
379 '<(SHARED_INTERMEDIATE_DIR)/v8_inspector_protocol_json.h',
380 ],
381 'action': [
382 'python',
383 'tools/compress_json.py',
384 '<@(_inputs)',
385 '<@(_outputs)',
386 ],
387 },
388 ],
389 }],
390 ],
391 },
392 {
Ryan Dahl4f3c8b32011-08-04 00:01:30393 'target_name': 'node_js2c',
394 'type': 'none',
395 'toolsets': ['host'],
Ryan Dahl4f3c8b32011-08-04 00:01:30396 'actions': [
397 {
398 'action_name': 'node_js2c',
Ben Noordhuisc30fc8d2017-02-02 22:23:49399 'process_outputs_as_sources': 1,
Ryan Dahl4f3c8b32011-08-04 00:01:30400 'inputs': [
Ryan Dahl4f3c8b32011-08-04 00:01:30401 '<@(library_files)',
Nathan Rajlich95fd5172012-03-14 15:34:44402 './config.gypi',
Ryan Dahl4f3c8b32011-08-04 00:01:30403 ],
404 'outputs': [
Ben Noordhuisc30fc8d2017-02-02 22:23:49405 '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc',
Ryan Dahl4f3c8b32011-08-04 00:01:30406 ],
Ryan Dahla979ab92011-08-04 23:40:07407 'conditions': [
Ben Noordhuisc4def502013-10-28 19:18:59408 [ 'node_use_dtrace=="false" and node_use_etw=="false"', {
409 'inputs': [ 'src/notrace_macros.py' ]
Ben Noordhuis4b279f02013-07-24 10:53:28410 }],
Glen Keane5e825d12015-01-22 12:35:16411 ['node_use_lttng=="false"', {
412 'inputs': [ 'src/nolttng_macros.py' ]
413 }],
Scott Blomquistf657ce62012-11-20 23:27:22414 [ 'node_use_perfctr=="false"', {
415 'inputs': [ 'src/perfctr_macros.py' ]
Ryan Dahla979ab92011-08-04 23:40:07416 }]
Peter Bright71333b32011-08-06 19:20:15417 ],
Ben Noordhuis4b279f02013-07-24 10:53:28418 'action': [
Felix Beckerc3e50ca2016-01-24 16:01:07419 'python',
Ben Noordhuis4b279f02013-07-24 10:53:28420 'tools/js2c.py',
421 '<@(_outputs)',
422 '<@(_inputs)',
423 ],
Ryan Dahl4f3c8b32011-08-04 00:01:30424 },
425 ],
426 }, # end node_js2c
Dave Pachecocc152992012-03-28 17:26:10427 {
428 'target_name': 'node_dtrace_header',
429 'type': 'none',
430 'conditions': [
Ben Noordhuis0fbe5282014-12-11 17:04:31431 [ 'node_use_dtrace=="true" and OS!="linux"', {
Dave Pachecocc152992012-03-28 17:26:10432 'actions': [
433 {
434 'action_name': 'node_dtrace_header',
435 'inputs': [ 'src/node_provider.d' ],
436 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
437 'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)',
438 '-o', '<@(_outputs)' ]
439 }
440 ]
Evan Torrie691d55f2014-12-09 19:02:39441 } ],
442 [ 'node_use_dtrace=="true" and OS=="linux"', {
443 'actions': [
444 {
445 'action_name': 'node_dtrace_header',
446 'inputs': [ 'src/node_provider.d' ],
447 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
448 'action': [ 'dtrace', '-h', '-s', '<@(_inputs)',
449 '-o', '<@(_outputs)' ]
450 }
451 ]
452 } ],
Dave Pachecocc152992012-03-28 17:26:10453 ]
454 },
455 {
456 'target_name': 'node_dtrace_provider',
457 'type': 'none',
458 'conditions': [
Ben Noordhuisc4def502013-10-28 19:18:59459 [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
Dave Pachecocc152992012-03-28 17:26:10460 'actions': [
461 {
462 'action_name': 'node_dtrace_provider_o',
463 'inputs': [
cjihriga69ab272015-08-13 16:14:34464 '<(OBJ_DIR)/node/src/node_dtrace.o',
Dave Pachecocc152992012-03-28 17:26:10465 ],
466 'outputs': [
cjihriga69ab272015-08-13 16:14:34467 '<(OBJ_DIR)/node/src/node_dtrace_provider.o'
Dave Pachecocc152992012-03-28 17:26:10468 ],
Timothy J Fontainef0d80d72013-04-16 23:18:07469 'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d',
Julien Gilli4dc660e2014-12-03 06:55:53470 '<@(_inputs)', '-o', '<@(_outputs)' ]
Dave Pachecocc152992012-03-28 17:26:10471 }
472 ]
Ben Noordhuisc4def502013-10-28 19:18:59473 }],
474 [ 'node_use_dtrace=="true" and OS=="linux"', {
475 'actions': [
476 {
477 'action_name': 'node_dtrace_provider_o',
478 'inputs': [ 'src/node_provider.d' ],
479 'outputs': [
480 '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o'
481 ],
482 'action': [
483 'dtrace', '-C', '-G', '-s', '<@(_inputs)', '-o', '<@(_outputs)'
484 ],
Julien Gilli4dc660e2014-12-03 06:55:53485 }
Ben Noordhuisc4def502013-10-28 19:18:59486 ],
487 }],
Dave Pachecocc152992012-03-28 17:26:10488 ]
489 },
490 {
491 'target_name': 'node_dtrace_ustack',
492 'type': 'none',
493 'conditions': [
Ben Noordhuisc4def502013-10-28 19:18:59494 [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
Dave Pachecocc152992012-03-28 17:26:10495 'actions': [
496 {
497 'action_name': 'node_dtrace_ustack_constants',
498 'inputs': [
Fedor Indutny61c0d572014-01-16 16:39:12499 '<(V8_BASE)'
Dave Pachecocc152992012-03-28 17:26:10500 ],
501 'outputs': [
502 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
503 ],
504 'action': [
505 'tools/genv8constants.py',
506 '<@(_outputs)',
507 '<@(_inputs)'
508 ]
509 },
510 {
511 'action_name': 'node_dtrace_ustack',
512 'inputs': [
513 'src/v8ustack.d',
514 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
515 ],
516 'outputs': [
cjihriga69ab272015-08-13 16:14:34517 '<(OBJ_DIR)/node/src/node_dtrace_ustack.o'
Dave Pachecocc152992012-03-28 17:26:10518 ],
Fedor Indutny3d913fe2013-02-26 07:57:12519 'conditions': [
520 [ 'target_arch=="ia32"', {
521 'action': [
522 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
523 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
524 ]
525 } ],
526 [ 'target_arch=="x64"', {
527 'action': [
528 'dtrace', '-64', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
529 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
530 ]
531 } ],
Dave Pachecocc152992012-03-28 17:26:10532 ]
Fedor Indutnyb940e0f2014-02-20 16:52:26533 },
Dave Pachecocc152992012-03-28 17:26:10534 ]
535 } ],
536 ]
Fedor Indutnyb940e0f2014-02-20 16:52:26537 },
538 {
539 'target_name': 'specialize_node_d',
540 'type': 'none',
541 'conditions': [
542 [ 'node_use_dtrace=="true"', {
543 'actions': [
544 {
545 'action_name': 'specialize_node_d',
546 'inputs': [
547 'src/node.d'
548 ],
549 'outputs': [
550 '<(PRODUCT_DIR)/node.d',
551 ],
552 'action': [
553 'tools/specialize_node_d.py',
554 '<@(_outputs)',
555 '<@(_inputs)',
556 '<@(OS)',
557 '<@(target_arch)',
558 ],
559 },
560 ],
561 } ],
562 ]
Ben Noordhuis00807882015-03-19 01:01:45563 },
564 {
565 'target_name': 'cctest',
566 'type': 'executable',
Daniel Bevenius6a09a692016-10-18 14:41:26567
568 'dependencies': [
569 '<(node_core_target_name)',
570 'deps/gtest/gtest.gyp:gtest',
571 'node_js2c#host',
572 'node_dtrace_header',
573 'node_dtrace_ustack',
574 'node_dtrace_provider',
575 ],
576
577 'variables': {
578 'OBJ_PATH': '<(OBJ_DIR)/node/src',
579 'OBJ_GEN_PATH': '<(OBJ_DIR)/node/gen',
580 'OBJ_TRACING_PATH': '<(OBJ_DIR)/node/src/tracing',
581 'OBJ_SUFFIX': 'o',
582 'conditions': [
583 ['OS=="win"', {
584 'OBJ_PATH': '<(OBJ_DIR)/node',
585 'OBJ_GEN_PATH': '<(OBJ_DIR)/node',
586 'OBJ_TRACING_PATH': '<(OBJ_DIR)/node',
587 'OBJ_SUFFIX': 'obj',
588 }],
589 ['OS=="aix"', {
590 'OBJ_PATH': '<(OBJ_DIR)/node_base/src',
591 'OBJ_GEN_PATH': '<(OBJ_DIR)/node_base/gen',
592 'OBJ_TRACING_PATH': '<(OBJ_DIR)/node_base/src/tracing',
593 }],
594 ],
595 },
596
597 'includes': [
598 'node.gypi'
599 ],
600
Ben Noordhuis00807882015-03-19 01:01:45601 'include_dirs': [
602 'src',
Daniel Bevenius6a09a692016-10-18 14:41:26603 'tools/msvs/genfiles',
Eugene Ostroukhov42da7402016-11-09 22:19:35604 'deps/v8/include',
Daniel Bevenius6a09a692016-10-18 14:41:26605 'deps/cares/include',
606 'deps/uv/include',
607 '<(SHARED_INTERMEDIATE_DIR)', # for node_natives.h
Ben Noordhuis00807882015-03-19 01:01:45608 ],
Daniel Bevenius6a09a692016-10-18 14:41:26609
610 'libraries': [
611 '<(OBJ_GEN_PATH)/node_javascript.<(OBJ_SUFFIX)',
612 '<(OBJ_PATH)/node_debug_options.<(OBJ_SUFFIX)',
613 '<(OBJ_PATH)/async-wrap.<(OBJ_SUFFIX)',
614 '<(OBJ_PATH)/env.<(OBJ_SUFFIX)',
615 '<(OBJ_PATH)/node.<(OBJ_SUFFIX)',
616 '<(OBJ_PATH)/node_buffer.<(OBJ_SUFFIX)',
617 '<(OBJ_PATH)/node_i18n.<(OBJ_SUFFIX)',
James M Snell51b007a2017-03-25 17:33:29618 '<(OBJ_PATH)/node_url.<(OBJ_SUFFIX)',
Daniel Bevenius6a09a692016-10-18 14:41:26619 '<(OBJ_PATH)/debug-agent.<(OBJ_SUFFIX)',
620 '<(OBJ_PATH)/util.<(OBJ_SUFFIX)',
621 '<(OBJ_PATH)/string_bytes.<(OBJ_SUFFIX)',
622 '<(OBJ_PATH)/string_search.<(OBJ_SUFFIX)',
623 '<(OBJ_PATH)/stream_base.<(OBJ_SUFFIX)',
624 '<(OBJ_PATH)/node_constants.<(OBJ_SUFFIX)',
625 '<(OBJ_PATH)/node_revert.<(OBJ_SUFFIX)',
626 '<(OBJ_TRACING_PATH)/agent.<(OBJ_SUFFIX)',
627 '<(OBJ_TRACING_PATH)/node_trace_buffer.<(OBJ_SUFFIX)',
628 '<(OBJ_TRACING_PATH)/node_trace_writer.<(OBJ_SUFFIX)',
629 '<(OBJ_TRACING_PATH)/trace_event.<(OBJ_SUFFIX)',
630 ],
631
Ben Noordhuis00807882015-03-19 01:01:45632 'defines': [
633 # gtest's ASSERT macros conflict with our own.
634 'GTEST_DONT_DEFINE_ASSERT_EQ=1',
635 'GTEST_DONT_DEFINE_ASSERT_GE=1',
636 'GTEST_DONT_DEFINE_ASSERT_GT=1',
637 'GTEST_DONT_DEFINE_ASSERT_LE=1',
638 'GTEST_DONT_DEFINE_ASSERT_LT=1',
639 'GTEST_DONT_DEFINE_ASSERT_NE=1',
Ben Noordhuiseff96d32016-05-24 07:54:05640 'NODE_WANT_INTERNALS=1',
Ben Noordhuis00807882015-03-19 01:01:45641 ],
Daniel Bevenius6a09a692016-10-18 14:41:26642
Ben Noordhuis00807882015-03-19 01:01:45643 'sources': [
Daniel Bevenius6a09a692016-10-18 14:41:26644 'test/cctest/test_util.cc',
James M Snell51b007a2017-03-25 17:33:29645 'test/cctest/test_url.cc'
Daniel Bevenius6a09a692016-10-18 14:41:26646 ],
647
648 'sources!': [
649 'src/node_main.cc'
Ben Noordhuis00807882015-03-19 01:01:45650 ],
Pavel Feldman84ad31f2016-02-07 16:47:14651
652 'conditions': [
Ali Ijaz Sheikhb30ec592017-01-17 19:49:26653 ['v8_enable_inspector==1', {
Pavel Feldman84ad31f2016-02-07 16:47:14654 'sources': [
Eugene Ostroukhov42da7402016-11-09 22:19:35655 'test/cctest/test_inspector_socket.cc',
656 'test/cctest/test_inspector_socket_server.cc'
Сковорода Никита Андреевич990c9682016-07-06 20:16:35657 ],
658 'conditions': [
Gibson Fahnestockae21a512017-01-06 10:00:41659 [ 'node_shared_zlib=="false"', {
660 'dependencies': [
661 'deps/zlib/zlib.gyp:zlib',
662 ]
663 }],
Сковорода Никита Андреевич990c9682016-07-06 20:16:35664 [ 'node_shared_openssl=="false"', {
665 'dependencies': [
666 'deps/openssl/openssl.gyp:openssl'
667 ]
668 }],
669 [ 'node_shared_http_parser=="false"', {
670 'dependencies': [
671 'deps/http_parser/http_parser.gyp:http_parser'
672 ]
673 }],
674 [ 'node_shared_libuv=="false"', {
675 'dependencies': [
676 'deps/uv/uv.gyp:libuv'
677 ]
678 }]
Pavel Feldman84ad31f2016-02-07 16:47:14679 ]
Stefan Budeanu410296c2016-03-27 00:17:55680 }],
681 [ 'node_use_v8_platform=="true"', {
682 'dependencies': [
Michaël Zassofbfc15c2016-06-30 16:13:07683 'deps/v8/src/v8.gyp:v8_libplatform',
Stefan Budeanu410296c2016-03-27 00:17:55684 ],
685 }],
Daniel Bevenius6a09a692016-10-18 14:41:26686 [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
687 'copies': [{
688 'destination': '<(OBJ_DIR)/cctest/src',
689 'files': [
690 '<(OBJ_PATH)/node_dtrace_ustack.<(OBJ_SUFFIX)',
691 '<(OBJ_PATH)/node_dtrace_provider.<(OBJ_SUFFIX)',
692 '<(OBJ_PATH)/node_dtrace.<(OBJ_SUFFIX)',
693 ]},
Stefan Budeanu410296c2016-03-27 00:17:55694 ],
695 }],
Daniel Bevenius6a09a692016-10-18 14:41:26696 ['OS=="solaris"', {
697 'ldflags': [ '-I<(SHARED_INTERMEDIATE_DIR)' ]
698 }],
Pavel Feldman84ad31f2016-02-07 16:47:14699 ]
Dave Pachecocc152992012-03-28 17:26:10700 }
Michael Dawson15bcbf82015-09-29 14:22:00701 ], # end targets
702
703 'conditions': [
704 ['OS=="aix"', {
705 'targets': [
706 {
707 'target_name': 'node',
Stewart Addison1bd87162016-11-14 13:43:41708 'conditions': [
709 ['node_shared=="true"', {
710 'type': 'shared_library',
711 'ldflags': ['--shared'],
712 'product_extension': '<(shlib_suffix)',
713 }, {
714 'type': 'executable',
715 }],
Stewart X Addisone4074782016-12-13 19:49:00716 ['target_arch=="ppc64"', {
717 'ldflags': [
718 '-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread/ppc64'
719 ],
720 }],
721 ['target_arch=="ppc"', {
722 'ldflags': [
723 '-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread'
724 ],
725 }]
Stewart Addison1bd87162016-11-14 13:43:41726 ],
Michael Dawson15bcbf82015-09-29 14:22:00727 'dependencies': ['<(node_core_target_name)', 'node_exp'],
728
729 'include_dirs': [
730 'src',
731 'deps/v8/include',
732 ],
733
734 'sources': [
735 'src/node_main.cc',
736 '<@(library_files)',
737 # node.gyp is added to the project by default.
738 'common.gypi',
739 ],
740
Gireesh Punathild80432d2016-07-04 09:11:10741 'ldflags': ['-Wl,-bE:<(PRODUCT_DIR)/node.exp'],
Michael Dawson15bcbf82015-09-29 14:22:00742 },
743 {
744 'target_name': 'node_exp',
745 'type': 'none',
746 'dependencies': [
747 '<(node_core_target_name)',
748 ],
749 'actions': [
750 {
751 'action_name': 'expfile',
752 'inputs': [
753 '<(OBJ_DIR)'
754 ],
755 'outputs': [
756 '<(PRODUCT_DIR)/node.exp'
757 ],
758 'action': [
759 'sh', 'tools/create_expfile.sh',
760 '<@(_inputs)', '<@(_outputs)'
761 ],
762 }
763 ]
764 }
765 ], # end targets
766 }], # end aix section
767 ], # end conditions block
Ryan Dahl4f3c8b32011-08-04 00:01:30768}