blob: 59d9326966730abef40ab1383da9e9003afbd86e [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',
Rich Trott47befff2015-09-26 21:27:3688 'lib/internal/linkedlist.js',
Evan Lucas6cbbfef2016-01-26 14:12:4189 'lib/internal/net.js',
Dave Eddy2e6ece42015-08-17 21:33:1390 'lib/internal/module.js',
Jeremiah Senkpiel015cef22016-03-15 20:13:5291 'lib/internal/process/next_tick.js',
92 'lib/internal/process/promises.js',
93 'lib/internal/process/stdio.js',
James M Snellc6656db2016-01-20 19:38:3594 'lib/internal/process/warning.js',
Jeremiah Senkpiel015cef22016-03-15 20:13:5295 'lib/internal/process.js',
Timothy Guc6b12d02017-02-04 06:06:0496 'lib/internal/querystring.js',
cjihrigca2e8b22015-11-16 19:09:2697 'lib/internal/readline.js',
Chris Dickinson0450ce72015-04-23 07:35:5398 'lib/internal/repl.js',
Rich Trott47befff2015-09-26 21:27:3699 'lib/internal/socket_list.js',
James M Snell4b312382016-05-31 18:52:19100 'lib/internal/url.js',
Vladimir Kurchatkin628845b2015-05-28 14:01:56101 'lib/internal/util.js',
Matt Loring49440b72015-11-25 14:08:58102 'lib/internal/v8_prof_polyfill.js',
103 'lib/internal/v8_prof_processor.js',
Brendan Ashworthc70c7782015-08-26 21:41:28104 'lib/internal/streams/lazy_transform.js',
Brian White68698462016-05-31 17:03:59105 'lib/internal/streams/BufferList.js',
yorkie1b30df12016-08-09 15:34:23106 'lib/internal/streams/legacy.js',
Matt Loring49440b72015-11-25 14:08:58107 'deps/v8/tools/splaytree.js',
108 'deps/v8/tools/codemap.js',
109 'deps/v8/tools/consarray.js',
110 'deps/v8/tools/csvparser.js',
111 'deps/v8/tools/profile.js',
112 'deps/v8/tools/profile_view.js',
113 'deps/v8/tools/logreader.js',
114 'deps/v8/tools/tickprocessor.js',
115 'deps/v8/tools/SourceMap.js',
116 'deps/v8/tools/tickprocessor-driver.js',
Anna Henningsenfd18b652016-12-20 17:01:28117 'deps/node-inspect/lib/_inspect.js',
118 'deps/node-inspect/lib/internal/inspect_client.js',
119 'deps/node-inspect/lib/internal/inspect_repl.js',
Bert Belderae2ac4f2011-09-04 23:01:53120 ],
Stefan Budeanu410296c2016-03-27 00:17:55121 'conditions': [
122 [ 'node_shared=="true"', {
123 'node_target_type%': 'shared_library',
124 }, {
125 'node_target_type%': 'executable',
126 }],
Ben Noordhuisb4d4fd92016-04-18 14:10:20127 [ 'OS=="win" and '
128 'node_use_openssl=="true" and '
129 'node_shared_openssl=="false"', {
130 'use_openssl_def': 1,
131 }, {
132 'use_openssl_def': 0,
133 }],
Stefan Budeanu410296c2016-03-27 00:17:55134 ],
Ryan Dahlbea48272011-08-04 06:36:27135 },
136
Ryan Dahl4f3c8b32011-08-04 00:01:30137 'targets': [
138 {
Michael Dawson15bcbf82015-09-29 14:22:00139 'target_name': '<(node_core_target_name)',
Marat Abdullincd38a4a2015-04-04 14:04:49140 'type': '<(node_target_type)',
Ryan Dahlbea48272011-08-04 06:36:27141
Ryan Dahl4f3c8b32011-08-04 00:01:30142 'dependencies': [
Ryan Dahla979ab92011-08-04 23:40:07143 'node_js2c#host',
Ryan Dahl4f3c8b32011-08-04 00:01:30144 ],
Ryan Dahla979ab92011-08-04 23:40:07145
146 'include_dirs': [
Ryan Dahldb1bf672011-08-08 19:11:48147 'src',
Scott Blomquista6167742013-01-03 22:36:04148 'tools/msvs/genfiles',
Ryan Dahldb1bf672011-08-08 19:11:48149 'deps/uv/src/ares',
Ben Noordhuisc30fc8d2017-02-02 22:23:49150 '<(SHARED_INTERMEDIATE_DIR)',
Ryan Dahla979ab92011-08-04 23:40:07151 ],
152
Ryan Dahl4f3c8b32011-08-04 00:01:30153 'sources': [
Trevor Norris5d17b162014-12-09 03:55:48154 'src/async-wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:48155 'src/cares_wrap.cc',
Daniel Bevenius46633932016-07-04 17:20:33156 'src/connection_wrap.cc',
Daniel Beveniusb8960572016-06-29 18:20:54157 'src/connect_wrap.cc',
Daniel Bevenius974ecb02017-01-18 11:34:33158 'src/debug-agent.cc',
159 'src/env.cc',
160 'src/fs_event_wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:48161 'src/handle_wrap.cc',
Fedor Indutny1738c772015-02-23 20:09:44162 'src/js_stream.cc',
Ryan Dahldb1bf672011-08-08 19:11:48163 'src/node.cc',
164 'src/node_buffer.cc',
James M Snell2e974cd2016-04-19 04:02:18165 'src/node_config.cc',
Ryan Dahldb1bf672011-08-08 19:11:48166 'src/node_constants.cc',
Domenic Denicola7afdba62013-07-27 04:34:12167 'src/node_contextify.cc',
Eugene Ostroukhovf9aadfb2016-11-18 21:52:22168 'src/node_debug_options.cc',
Ryan Dahldb1bf672011-08-08 19:11:48169 'src/node_file.cc',
170 'src/node_http_parser.cc',
Ryan Dahldb1bf672011-08-08 19:11:48171 'src/node_main.cc',
172 'src/node_os.cc',
James M Snelld3875912016-02-04 01:16:10173 'src/node_revert.cc',
James M Snell4b312382016-05-31 18:52:19174 'src/node_url.cc',
Evan Lucas88533882015-09-29 19:30:22175 'src/node_util.cc',
Ben Noordhuis010222d2013-10-28 13:57:47176 'src/node_v8.cc',
Ben Noordhuisf0ce9842012-06-16 20:41:37177 'src/node_stat_watcher.cc',
Andrew Paprockic0818092012-10-08 19:24:08178 'src/node_watchdog.cc',
isaacs5b8e1da2011-09-06 23:13:05179 'src/node_zlib.cc',
Steven R. Loomisac2857b2014-09-05 05:03:24180 'src/node_i18n.cc',
Ryan Dahldb1bf672011-08-08 19:11:48181 'src/pipe_wrap.cc',
Daniel Bevenius974ecb02017-01-18 11:34:33182 'src/process_wrap.cc',
Bert Belder600a6462012-08-20 21:59:21183 'src/signal_wrap.cc',
Bert Belderfa4eb472014-02-10 20:22:06184 'src/spawn_sync.cc',
isaacs64fc34b2013-05-01 22:40:43185 'src/string_bytes.cc',
Daniel Beveniusf57dabe2017-01-17 06:51:25186 'src/string_search.cc',
Fedor Indutnyb9686232015-02-22 18:59:07187 'src/stream_base.cc',
Ryan Dahldb1bf672011-08-08 19:11:48188 'src/stream_wrap.cc',
189 'src/tcp_wrap.cc',
190 'src/timer_wrap.cc',
Daniel Bevenius974ecb02017-01-18 11:34:33191 'src/tracing/agent.cc',
192 'src/tracing/node_trace_buffer.cc',
193 'src/tracing/node_trace_writer.cc',
194 'src/tracing/trace_event.cc',
Ryan Dahlc1ae6ea2011-09-20 20:38:07195 'src/tty_wrap.cc',
Ryan Dahl06f750c2011-08-24 23:20:08196 'src/udp_wrap.cc',
Daniel Beveniusf57dabe2017-01-17 06:51:25197 'src/util.cc',
Ben Noordhuisd4c14c12013-07-16 21:08:25198 'src/uv.cc',
Peter Bright64b41682011-08-15 16:35:48199 # headers to make for a more pleasant IDE experience
Trevor Norrisefa62fd2013-09-24 21:12:11200 'src/async-wrap.h',
201 'src/async-wrap-inl.h',
Trevor Norrisd120d922013-11-04 18:49:55202 'src/base-object.h',
203 'src/base-object-inl.h',
Daniel Bevenius46633932016-07-04 17:20:33204 'src/connection_wrap.h',
Daniel Beveniusb8960572016-06-29 18:20:54205 'src/connect_wrap.h',
Ben Noordhuis29d7fd62014-11-03 11:03:34206 'src/debug-agent.h',
Ben Noordhuis756b6222013-08-10 22:26:11207 'src/env.h',
208 'src/env-inl.h',
Peter Bright64b41682011-08-15 16:35:48209 'src/handle_wrap.h',
Fedor Indutny1738c772015-02-23 20:09:44210 'src/js_stream.h',
Peter Bright64b41682011-08-15 16:35:48211 'src/node.h',
212 'src/node_buffer.h',
Peter Bright64b41682011-08-15 16:35:48213 'src/node_constants.h',
Eugene Ostroukhovf9aadfb2016-11-18 21:52:22214 'src/node_debug_options.h',
Peter Bright64b41682011-08-15 16:35:48215 'src/node_file.h',
216 'src/node_http_parser.h',
Ben Noordhuis756b6222013-08-10 22:26:11217 'src/node_internals.h',
Peter Bright64b41682011-08-15 16:35:48218 'src/node_javascript.h',
Ben Noordhuisd7087df2016-06-17 23:39:05219 'src/node_mutex.h',
Peter Bright64b41682011-08-15 16:35:48220 'src/node_root_certs.h',
Peter Bright64b41682011-08-15 16:35:48221 'src/node_version.h',
Andrew Paprockic0818092012-10-08 19:24:08222 'src/node_watchdog.h',
Fedor Indutny6978e992013-06-11 10:52:27223 'src/node_wrap.h',
James M Snelld3875912016-02-04 01:16:10224 'src/node_revert.h',
Steven R. Loomisac2857b2014-09-05 05:03:24225 'src/node_i18n.h',
Peter Bright64b41682011-08-15 16:35:48226 'src/pipe_wrap.h',
Fedor Indutnyaf98fc92012-05-16 16:04:24227 'src/tty_wrap.h',
228 'src/tcp_wrap.h',
229 'src/udp_wrap.h',
Ben Noordhuis38dc0cd2015-01-30 11:54:53230 'src/req-wrap.h',
231 'src/req-wrap-inl.h',
isaacs64fc34b2013-05-01 22:40:43232 'src/string_bytes.h',
Fedor Indutnyb9686232015-02-22 18:59:07233 'src/stream_base.h',
Fedor Indutny89e133a2015-02-25 17:43:14234 'src/stream_base-inl.h',
Peter Bright64b41682011-08-15 16:35:48235 'src/stream_wrap.h',
Daniel Bevenius684590f2017-01-17 07:12:08236 'src/tracing/agent.h',
237 'src/tracing/node_trace_buffer.h',
238 'src/tracing/node_trace_writer.h',
misterpoeba4847e2016-08-05 21:04:25239 'src/tracing/trace_event.h'
Bert Belder9e55ba72012-08-06 19:22:11240 'src/tree.h',
Ben Noordhuis756b6222013-08-10 22:26:11241 'src/util.h',
242 'src/util-inl.h',
Peter Bright64b41682011-08-15 16:35:48243 'deps/http_parser/http_parser.h',
Johan Bergströmd726a172015-04-02 23:13:43244 'deps/v8/include/v8.h',
245 'deps/v8/include/v8-debug.h',
Bert Belderae2ac4f2011-09-04 23:01:53246 # javascript files to make for an even more pleasant IDE experience
247 '<@(library_files)',
Bert Belderc0c4bd42011-10-28 10:10:24248 # node.gyp is added to the project by default.
249 'common.gypi',
Ben Noordhuisc30fc8d2017-02-02 22:23:49250 '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc',
Ryan Dahla979ab92011-08-04 23:40:07251 ],
252
253 'defines': [
Bert Beldere1fe2702015-01-08 12:05:51254 'NODE_ARCH="<(target_arch)"',
255 'NODE_PLATFORM="<(OS)"',
Bert Beldere1fe2702015-01-08 12:05:51256 'NODE_WANT_INTERNALS=1',
Ben Noordhuis9a03ae62015-07-01 21:47:37257 # Warn when using deprecated V8 APIs.
258 'V8_DEPRECATION_WARNINGS=1',
Ryan Dahl4f3c8b32011-08-04 00:01:30259 ],
260
Rod Vaggdcbb9e12015-06-10 07:05:26261
Ryan Dahl4f3c8b32011-08-04 00:01:30262 'conditions': [
Stefan Budeanu410296c2016-03-27 00:17:55263 [ 'node_shared=="false"', {
264 'msvs_settings': {
265 'VCManifestTool': {
266 'EmbedManifest': 'true',
267 'AdditionalManifestFiles': 'src/res/node.exe.extra.manifest'
268 }
269 },
270 }, {
271 'defines': [
272 'NODE_SHARED_MODE',
273 ],
274 'conditions': [
Stefan Budeanu88e862b2016-06-29 20:03:18275 [ 'node_module_version!="" and OS!="win"', {
Stewart Addisona7222052016-07-12 18:04:29276 'product_extension': '<(shlib_suffix)',
Stefan Budeanu410296c2016-03-27 00:17:55277 }]
278 ],
279 }],
Ben Noordhuis0a9f27b2016-07-05 14:18:38280 [ 'node_enable_d8=="true"', {
281 'dependencies': [ 'deps/v8/src/d8.gyp:d8' ],
282 }],
Stefan Budeanu410296c2016-03-27 00:17:55283 [ 'node_use_bundled_v8=="true"', {
Stefan Budeanu410296c2016-03-27 00:17:55284 'dependencies': [
Michaël Zassofbfc15c2016-06-30 16:13:07285 'deps/v8/src/v8.gyp:v8',
286 'deps/v8/src/v8.gyp:v8_libplatform'
Stefan Budeanu410296c2016-03-27 00:17:55287 ],
288 }],
289 [ 'node_use_v8_platform=="true"', {
290 'defines': [
291 'NODE_USE_V8_PLATFORM=1',
292 ],
293 }, {
294 'defines': [
295 'NODE_USE_V8_PLATFORM=0',
296 ],
297 }],
Rod Vaggdcbb9e12015-06-10 07:05:26298 [ 'node_tag!=""', {
299 'defines': [ 'NODE_TAG="<(node_tag)"' ],
300 }],
Evan Lucasd895d4a2015-08-25 00:13:22301 [ 'node_v8_options!=""', {
302 'defines': [ 'NODE_V8_OPTIONS="<(node_v8_options)"'],
303 }],
Marat Abdullincd38a4a2015-04-04 14:04:49304 # No node_main.cc for anything except executable
305 [ 'node_target_type!="executable"', {
306 'sources!': [
307 'src/node_main.cc',
308 ],
309 }],
Rod Vagg04fd4fa2015-01-18 06:41:37310 [ 'node_release_urlbase!=""', {
311 'defines': [
312 'NODE_RELEASE_URLBASE="<(node_release_urlbase)"',
313 ]
314 }],
Steven R. Loomisac2857b2014-09-05 05:03:24315 [ 'v8_enable_i18n_support==1', {
316 'defines': [ 'NODE_HAVE_I18N_SUPPORT=1' ],
317 'dependencies': [
318 '<(icu_gyp_path):icui18n',
319 '<(icu_gyp_path):icuuc',
320 ],
321 'conditions': [
322 [ 'icu_small=="true"', {
323 'defines': [ 'NODE_HAVE_SMALL_ICU=1' ],
324 }]],
325 }],
Stefan Budeanu410296c2016-03-27 00:17:55326 [ 'node_use_bundled_v8=="true" and \
327 node_enable_v8_vtunejit=="true" and (target_arch=="x64" or \
Chunyang Daia881b532015-10-21 16:24:12328 target_arch=="ia32" or target_arch=="x32")', {
329 'defines': [ 'NODE_ENABLE_VTUNE_PROFILING' ],
330 'dependencies': [
331 'deps/v8/src/third_party/vtune/v8vtune.gyp:v8_vtune'
332 ],
333 }],
Pavel Feldman84ad31f2016-02-07 16:47:14334 [ 'v8_inspector=="true"', {
335 'defines': [
336 'HAVE_INSPECTOR=1',
Pavel Feldman84ad31f2016-02-07 16:47:14337 ],
338 'sources': [
339 'src/inspector_agent.cc',
340 'src/inspector_socket.cc',
Eugene Ostroukhov42da7402016-11-09 22:19:35341 'src/inspector_socket_server.cc',
Ben Noordhuisc0676f32016-08-02 07:34:29342 'src/inspector_agent.h',
Eugene Ostroukhov42da7402016-11-09 22:19:35343 'src/inspector_socket.h',
344 'src/inspector_socket_server.h',
Pavel Feldman84ad31f2016-02-07 16:47:14345 ],
346 'dependencies': [
Eugene Ostroukhov8f004552016-10-05 22:11:48347 'deps/v8_inspector/src/inspector/inspector.gyp:standalone_inspector',
Ben Noordhuis782620f2016-06-29 21:20:06348 'v8_inspector_compress_protocol_json#host',
Pavel Feldman84ad31f2016-02-07 16:47:14349 ],
350 'include_dirs': [
Eugene Ostroukhov8f004552016-10-05 22:11:48351 'deps/v8_inspector/include',
352 '<(SHARED_INTERMEDIATE_DIR)/include', # for inspector
353 '<(SHARED_INTERMEDIATE_DIR)',
Pavel Feldman84ad31f2016-02-07 16:47:14354 ],
355 }, {
356 'defines': [ 'HAVE_INSPECTOR=0' ]
357 }],
Ryan Dahla979ab92011-08-04 23:40:07358 [ 'node_use_openssl=="true"', {
Peter Bright71333b32011-08-06 19:20:15359 'defines': [ 'HAVE_OPENSSL=1' ],
Fedor Indutny03e008d2013-06-11 10:59:10360 'sources': [
361 'src/node_crypto.cc',
362 'src/node_crypto_bio.cc',
Fedor Indutny8e281932013-08-02 12:16:13363 'src/node_crypto_clienthello.cc',
Nathan Rajlich567c72b2013-07-06 03:53:23364 'src/node_crypto.h',
365 'src/node_crypto_bio.h',
Fedor Indutny8e281932013-08-02 12:16:13366 'src/node_crypto_clienthello.h',
Fedor Indutny03e008d2013-06-11 10:59:10367 'src/tls_wrap.cc',
368 'src/tls_wrap.h'
369 ],
Ben Noordhuis9f986982011-08-29 22:01:43370 'conditions': [
Fedor Indutny9bd26e72015-10-01 21:28:49371 ['openssl_fips != ""', {
372 'defines': [ 'NODE_FIPS_MODE' ],
373 }],
Ryan Dahlfe464a22012-06-20 20:31:49374 [ 'node_shared_openssl=="false"', {
Fedor Indutny6f3d6032013-12-11 17:20:17375 'dependencies': [
376 './deps/openssl/openssl.gyp:openssl',
377
378 # For tests
Fedor Indutny93390ff2014-07-23 19:51:14379 './deps/openssl/openssl.gyp:openssl-cli',
Fedor Indutny6f3d6032013-12-11 17:20:17380 ],
Fedor Indutny9f36c0d2014-07-30 10:54:36381 # Do not let unused OpenSSL symbols to slip away
Fedor Indutny9f36c0d2014-07-30 10:54:36382 'conditions': [
Marat Abdullincd38a4a2015-04-04 14:04:49383 # -force_load or --whole-archive are not applicable for
384 # the static library
385 [ 'node_target_type!="static_library"', {
386 'xcode_settings': {
387 'OTHER_LDFLAGS': [
Fedor Indutny0f683772015-06-01 21:49:43388 '-Wl,-force_load,<(PRODUCT_DIR)/<(OPENSSL_PRODUCT)',
Marat Abdullincd38a4a2015-04-04 14:04:49389 ],
390 },
391 'conditions': [
Stefan Budeanu410296c2016-03-27 00:17:55392 ['OS in "linux freebsd" and node_shared=="false"', {
Marat Abdullincd38a4a2015-04-04 14:04:49393 'ldflags': [
Ben Noordhuise03a7b22016-08-03 09:23:24394 '-Wl,--whole-archive,'
Kenan Yildirim70afe9d2017-02-13 18:31:56395 '<(OBJ_DIR)/deps/openssl/'
Ben Noordhuise03a7b22016-08-03 09:23:24396 '<(OPENSSL_PRODUCT)',
Marat Abdullincd38a4a2015-04-04 14:04:49397 '-Wl,--no-whole-archive',
398 ],
399 }],
Alex Hultman359352c2016-08-05 02:36:40400 # openssl.def is based on zlib.def, zlib symbols
401 # are always exported.
Ben Noordhuisb4d4fd92016-04-18 14:10:20402 ['use_openssl_def==1', {
403 'sources': ['<(SHARED_INTERMEDIATE_DIR)/openssl.def'],
404 }],
Alex Hultman359352c2016-08-05 02:36:40405 ['OS=="win" and use_openssl_def==0', {
406 'sources': ['deps/zlib/win32/zlib.def'],
407 }],
Fedor Indutny9f36c0d2014-07-30 10:54:36408 ],
409 }],
410 ],
Ben Noordhuis9f986982011-08-29 22:01:43411 }]]
Ryan Dahla979ab92011-08-04 23:40:07412 }, {
413 'defines': [ 'HAVE_OPENSSL=0' ]
414 }],
Peter Bright64b41682011-08-15 16:35:48415 [ 'node_use_dtrace=="true"', {
Dave Pachecocc152992012-03-28 17:26:10416 'defines': [ 'HAVE_DTRACE=1' ],
Fedor Indutnyb940e0f2014-02-20 16:52:26417 'dependencies': [
418 'node_dtrace_header',
419 'specialize_node_d',
420 ],
Dave Pachecocc152992012-03-28 17:26:10421 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
Fedor Indutnyb940e0f2014-02-20 16:52:26422
Dave Pachecocc152992012-03-28 17:26:10423 #
Ben Noordhuisc4def502013-10-28 19:18:59424 # DTrace is supported on linux, solaris, mac, and bsd. There are
425 # three object files associated with DTrace support, but they're
426 # not all used all the time:
Dave Pachecofe7440c2013-03-28 18:36:00427 #
428 # node_dtrace.o all configurations
Ben Noordhuisc4def502013-10-28 19:18:59429 # node_dtrace_ustack.o not supported on mac and linux
Dave Pachecofe7440c2013-03-28 18:36:00430 # node_dtrace_provider.o All except OS X. "dtrace -G" is not
431 # used on OS X.
432 #
433 # Note that node_dtrace_provider.cc and node_dtrace_ustack.cc do not
434 # actually exist. They're listed here to trick GYP into linking the
435 # corresponding object files into the final "node" executable. These
436 # object files are generated by "dtrace -G" using custom actions
437 # below, and the GYP-generated Makefiles will properly build them when
438 # needed.
Dave Pachecocc152992012-03-28 17:26:10439 #
Ben Noordhuisc4def502013-10-28 19:18:59440 'sources': [ 'src/node_dtrace.cc' ],
441 'conditions': [
442 [ 'OS=="linux"', {
443 'sources': [
Julien Gilli4dc660e2014-12-03 06:55:53444 '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o'
Ben Noordhuisc4def502013-10-28 19:18:59445 ],
446 }],
447 [ 'OS!="mac" and OS!="linux"', {
Dave Pachecofe7440c2013-03-28 18:36:00448 'sources': [
449 'src/node_dtrace_ustack.cc',
450 'src/node_dtrace_provider.cc',
451 ]
452 }
453 ] ]
Dave Pachecocc152992012-03-28 17:26:10454 } ],
Glen Keane5e825d12015-01-22 12:35:16455 [ 'node_use_lttng=="true"', {
456 'defines': [ 'HAVE_LTTNG=1' ],
457 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
458 'libraries': [ '-llttng-ust' ],
459 'sources': [
460 'src/node_lttng.cc'
461 ],
462 } ],
Igor Zinkovsky35a14212012-06-11 23:23:17463 [ 'node_use_etw=="true"', {
464 'defines': [ 'HAVE_ETW=1' ],
465 'dependencies': [ 'node_etw' ],
466 'sources': [
467 'src/node_win32_etw_provider.h',
468 'src/node_win32_etw_provider-inl.h',
469 'src/node_win32_etw_provider.cc',
470 'src/node_dtrace.cc',
Scott Blomquista6167742013-01-03 22:36:04471 'tools/msvs/genfiles/node_etw_provider.h',
472 'tools/msvs/genfiles/node_etw_provider.rc',
Igor Zinkovsky35a14212012-06-11 23:23:17473 ]
474 } ],
Scott Blomquistf657ce62012-11-20 23:27:22475 [ 'node_use_perfctr=="true"', {
476 'defines': [ 'HAVE_PERFCTR=1' ],
477 'dependencies': [ 'node_perfctr' ],
478 'sources': [
479 'src/node_win32_perfctr_provider.h',
480 'src/node_win32_perfctr_provider.cc',
481 'src/node_counters.cc',
482 'src/node_counters.h',
Scott Blomquista6167742013-01-03 22:36:04483 'tools/msvs/genfiles/node_perfctr_provider.rc',
Scott Blomquistf657ce62012-11-20 23:27:22484 ]
485 } ],
Fedor Indutny8363ede2016-03-23 01:05:54486 [ 'node_no_browser_globals=="true"', {
487 'defines': [ 'NODE_NO_BROWSER_GLOBALS' ],
488 } ],
Stefan Budeanu410296c2016-03-27 00:17:55489 [ 'node_use_bundled_v8=="true" and v8_postmortem_support=="true"', {
Michaël Zassofbfc15c2016-06-30 16:13:07490 'dependencies': [ 'deps/v8/src/v8.gyp:postmortem-metadata' ],
Marat Abdullincd38a4a2015-04-04 14:04:49491 'conditions': [
492 # -force_load is not applicable for the static library
493 [ 'node_target_type!="static_library"', {
494 'xcode_settings': {
495 'OTHER_LDFLAGS': [
496 '-Wl,-force_load,<(V8_BASE)',
497 ],
498 },
499 }],
500 ],
Paddy Byersd8852aa2013-04-03 07:35:39501 }],
T.C. Hollingsworthd03b8482012-02-26 23:02:21502 [ 'node_shared_zlib=="false"', {
503 'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
504 }],
505
Stephen Gallagherbfd78b62012-10-23 13:01:26506 [ 'node_shared_http_parser=="false"', {
507 'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ],
508 }],
509
Johan Bergström2253be92016-03-17 22:25:17510 [ 'node_shared_cares=="false"', {
511 'dependencies': [ 'deps/cares/cares.gyp:cares' ],
512 }],
513
Stephen Gallagher38809e32012-10-23 23:54:22514 [ 'node_shared_libuv=="false"', {
515 'dependencies': [ 'deps/uv/uv.gyp:libuv' ],
516 }],
517
Ryan Dahl4f3c8b32011-08-04 00:01:30518 [ 'OS=="win"', {
Ryan Dahl4f3c8b32011-08-04 00:01:30519 'sources': [
Ben Noordhuis787eddf2016-05-13 15:36:50520 'src/backtrace_win32.cc',
Bert Belder0187b652012-06-13 15:40:50521 'src/res/node.rc',
Peter Bright71333b32011-08-06 19:20:15522 ],
Bert Belder4af57462015-01-19 16:25:23523 'defines!': [
524 'NODE_PLATFORM="win"',
525 ],
Peter Bright6ac8c552011-08-07 05:11:21526 'defines': [
Peter Bright6ac8c552011-08-07 05:11:21527 'FD_SETSIZE=1024',
Peter Bright79d9f622011-08-07 17:43:24528 # we need to use node's preferred "win32" rather than gyp's preferred "win"
Vladimir Kurchatkin9f457992015-01-09 12:38:09529 'NODE_PLATFORM="win32"',
Bert Belderd52f5022012-02-16 19:20:07530 '_UNICODE=1',
Peter Bright6ac8c552011-08-07 05:11:21531 ],
Ryan Dahl19762882011-09-02 19:53:16532 'libraries': [ '-lpsapi.lib' ]
Ben Noordhuisacbfc402012-07-12 23:43:14533 }, { # POSIX
Ryan Dahla979ab92011-08-04 23:40:07534 'defines': [ '__POSIX__' ],
Ben Noordhuis787eddf2016-05-13 15:36:50535 'sources': [ 'src/backtrace_posix.cc' ],
Ryan Dahl4f3c8b32011-08-04 00:01:30536 }],
537 [ 'OS=="mac"', {
Thorsten Lorenzb1741ea2014-08-06 18:00:31538 # linking Corefoundation is needed since certain OSX debugging tools
539 # like Instruments require it for some features
540 'libraries': [ '-framework CoreFoundation' ],
Nathan Rajlichf2ba4ce2012-01-11 22:44:39541 'defines!': [
Vladimir Kurchatkin9f457992015-01-09 12:38:09542 'NODE_PLATFORM="mac"',
Nathan Rajlichf2ba4ce2012-01-11 22:44:39543 ],
Nathan Rajlich9ff86a22012-01-11 22:36:27544 'defines': [
545 # we need to use node's preferred "darwin" rather than gyp's preferred "mac"
Vladimir Kurchatkin9f457992015-01-09 12:38:09546 'NODE_PLATFORM="darwin"',
Nathan Rajlich9ff86a22012-01-11 22:36:27547 ],
Ryan Dahlb433c422011-08-16 00:54:47548 }],
Ben Noordhuisdecd8182011-08-17 05:44:53549 [ 'OS=="freebsd"', {
Ben Noordhuisdecd8182011-08-17 05:44:53550 'libraries': [
551 '-lutil',
552 '-lkvm',
553 ],
554 }],
Michael Dawson2a17c7f2015-08-12 15:53:33555 [ 'OS=="aix"', {
556 'defines': [
557 '_LINUX_SOURCE_COMPAT',
558 ],
559 }],
Ben Noordhuis13871fa2011-10-26 05:11:20560 [ 'OS=="solaris"', {
Ben Noordhuis13871fa2011-10-26 05:11:20561 'libraries': [
562 '-lkstat',
Trent Mickf70b1382012-07-27 17:56:40563 '-lumem',
Ben Noordhuis13871fa2011-10-26 05:11:20564 ],
Nathan Rajlich606a9332012-08-29 21:57:25565 'defines!': [
Vladimir Kurchatkin9f457992015-01-09 12:38:09566 'NODE_PLATFORM="solaris"',
Nathan Rajlich606a9332012-08-29 21:57:25567 ],
568 'defines': [
569 # we need to use node's preferred "sunos"
570 # rather than gyp's preferred "solaris"
Vladimir Kurchatkin9f457992015-01-09 12:38:09571 'NODE_PLATFORM="sunos"',
Nathan Rajlich606a9332012-08-29 21:57:25572 ],
Ben Noordhuis13871fa2011-10-26 05:11:20573 }],
Wayne Andrews5d9d4152016-10-14 12:33:25574 [ '(OS=="freebsd" or OS=="linux") and node_shared=="false" and coverage=="false"', {
Johan Bergströmd726a172015-04-02 23:13:43575 'ldflags': [ '-Wl,-z,noexecstack',
576 '-Wl,--whole-archive <(V8_BASE)',
577 '-Wl,--no-whole-archive' ]
Ben Noordhuis4fae2352014-05-03 01:55:35578 }],
Wayne Andrews5d9d4152016-10-14 12:33:25579 [ '(OS=="freebsd" or OS=="linux") and node_shared=="false" and coverage=="true"', {
580 'ldflags': [ '-Wl,-z,noexecstack',
581 '-Wl,--whole-archive <(V8_BASE)',
582 '-Wl,--no-whole-archive',
583 '--coverage',
584 '-g',
585 '-O0' ],
586 'cflags': [ '--coverage',
587 '-g',
588 '-O0' ]
589 }],
Ben Noordhuis4fae2352014-05-03 01:55:35590 [ 'OS=="sunos"', {
591 'ldflags': [ '-Wl,-M,/usr/lib/ld/map.noexstk' ],
592 }],
Peter Bright16788f42011-08-13 18:17:47593 ],
Ryan Dahl4f3c8b32011-08-04 00:01:30594 },
Ben Noordhuisb4d4fd92016-04-18 14:10:20595 {
596 'target_name': 'mkssldef',
597 'type': 'none',
598 # TODO(bnoordhuis) Make all platforms export the same list of symbols.
599 # Teach mkssldef.py to generate linker maps that UNIX linkers understand.
600 'conditions': [
601 [ 'use_openssl_def==1', {
602 'variables': {
603 'mkssldef_flags': [
604 # Categories to export.
605 '-CAES,BF,BIO,DES,DH,DSA,EC,ECDH,ECDSA,ENGINE,EVP,HMAC,MD4,MD5,'
Alex Hultmanb8b8c362016-07-10 14:08:42606 'NEXTPROTONEG,PSK,RC2,RC4,RSA,SHA,SHA0,SHA1,SHA256,SHA512,SOCK,'
607 'STDIO,TLSEXT',
Ben Noordhuisb4d4fd92016-04-18 14:10:20608 # Defines.
609 '-DWIN32',
610 # Symbols to filter from the export list.
611 '-X^DSO',
612 '-X^_',
613 '-X^private_',
Alex Hultman359352c2016-08-05 02:36:40614 # Base generated DEF on zlib.def
615 '-Bdeps/zlib/win32/zlib.def'
Ben Noordhuisb4d4fd92016-04-18 14:10:20616 ],
617 },
618 'conditions': [
619 ['openssl_fips!=""', {
620 'variables': { 'mkssldef_flags': ['-DOPENSSL_FIPS'] },
621 }],
622 ],
623 'actions': [
624 {
625 'action_name': 'mkssldef',
626 'inputs': [
627 'deps/openssl/openssl/util/libeay.num',
628 'deps/openssl/openssl/util/ssleay.num',
629 ],
630 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/openssl.def'],
631 'action': [
632 'python',
633 'tools/mkssldef.py',
634 '<@(mkssldef_flags)',
635 '-o',
636 '<@(_outputs)',
637 '<@(_inputs)',
638 ],
639 },
640 ],
641 }],
642 ],
643 },
Igor Zinkovsky35a14212012-06-11 23:23:17644 # generate ETW header and resource files
645 {
646 'target_name': 'node_etw',
647 'type': 'none',
648 'conditions': [
João Reisccd81882016-03-11 10:26:20649 [ 'node_use_etw=="true"', {
Igor Zinkovsky35a14212012-06-11 23:23:17650 'actions': [
651 {
652 'action_name': 'node_etw',
653 'inputs': [ 'src/res/node_etw_provider.man' ],
Scott Blomquist953b0492012-10-25 23:51:46654 'outputs': [
Scott Blomquista6167742013-01-03 22:36:04655 'tools/msvs/genfiles/node_etw_provider.rc',
656 'tools/msvs/genfiles/node_etw_provider.h',
657 'tools/msvs/genfiles/node_etw_providerTEMP.BIN',
Scott Blomquist953b0492012-10-25 23:51:46658 ],
Scott Blomquista6167742013-01-03 22:36:04659 'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ]
Igor Zinkovsky35a14212012-06-11 23:23:17660 }
661 ]
662 } ]
663 ]
664 },
Scott Blomquistf657ce62012-11-20 23:27:22665 # generate perf counter header and resource files
666 {
667 'target_name': 'node_perfctr',
668 'type': 'none',
669 'conditions': [
João Reisccd81882016-03-11 10:26:20670 [ 'node_use_perfctr=="true"', {
Scott Blomquistf657ce62012-11-20 23:27:22671 'actions': [
672 {
673 'action_name': 'node_perfctr_man',
674 'inputs': [ 'src/res/node_perfctr_provider.man' ],
675 'outputs': [
Scott Blomquista6167742013-01-03 22:36:04676 'tools/msvs/genfiles/node_perfctr_provider.h',
677 'tools/msvs/genfiles/node_perfctr_provider.rc',
678 'tools/msvs/genfiles/MSG00001.BIN',
Scott Blomquistf657ce62012-11-20 23:27:22679 ],
680 'action': [ 'ctrpp <@(_inputs) '
Scott Blomquista6167742013-01-03 22:36:04681 '-o tools/msvs/genfiles/node_perfctr_provider.h '
682 '-rc tools/msvs/genfiles/node_perfctr_provider.rc'
Scott Blomquistf657ce62012-11-20 23:27:22683 ]
684 },
685 ],
686 } ]
687 ]
688 },
Ryan Dahl4f3c8b32011-08-04 00:01:30689 {
Ben Noordhuis782620f2016-06-29 21:20:06690 'target_name': 'v8_inspector_compress_protocol_json',
691 'type': 'none',
692 'toolsets': ['host'],
693 'conditions': [
694 [ 'v8_inspector=="true"', {
695 'actions': [
696 {
697 'action_name': 'v8_inspector_compress_protocol_json',
698 'process_outputs_as_sources': 1,
699 'inputs': [
Eugene Ostroukhov8f004552016-10-05 22:11:48700 'deps/v8_inspector/src/inspector/js_protocol.json',
Ben Noordhuis782620f2016-06-29 21:20:06701 ],
702 'outputs': [
703 '<(SHARED_INTERMEDIATE_DIR)/v8_inspector_protocol_json.h',
704 ],
705 'action': [
706 'python',
707 'tools/compress_json.py',
708 '<@(_inputs)',
709 '<@(_outputs)',
710 ],
711 },
712 ],
713 }],
714 ],
715 },
716 {
Ryan Dahl4f3c8b32011-08-04 00:01:30717 'target_name': 'node_js2c',
718 'type': 'none',
719 'toolsets': ['host'],
Ryan Dahl4f3c8b32011-08-04 00:01:30720 'actions': [
721 {
722 'action_name': 'node_js2c',
Ben Noordhuisc30fc8d2017-02-02 22:23:49723 'process_outputs_as_sources': 1,
Ryan Dahl4f3c8b32011-08-04 00:01:30724 'inputs': [
Ryan Dahl4f3c8b32011-08-04 00:01:30725 '<@(library_files)',
Nathan Rajlich95fd5172012-03-14 15:34:44726 './config.gypi',
Ryan Dahl4f3c8b32011-08-04 00:01:30727 ],
728 'outputs': [
Ben Noordhuisc30fc8d2017-02-02 22:23:49729 '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc',
Ryan Dahl4f3c8b32011-08-04 00:01:30730 ],
Ryan Dahla979ab92011-08-04 23:40:07731 'conditions': [
Ben Noordhuisc4def502013-10-28 19:18:59732 [ 'node_use_dtrace=="false" and node_use_etw=="false"', {
733 'inputs': [ 'src/notrace_macros.py' ]
Ben Noordhuis4b279f02013-07-24 10:53:28734 }],
Glen Keane5e825d12015-01-22 12:35:16735 ['node_use_lttng=="false"', {
736 'inputs': [ 'src/nolttng_macros.py' ]
737 }],
Scott Blomquistf657ce62012-11-20 23:27:22738 [ 'node_use_perfctr=="false"', {
739 'inputs': [ 'src/perfctr_macros.py' ]
Ryan Dahla979ab92011-08-04 23:40:07740 }]
Peter Bright71333b32011-08-06 19:20:15741 ],
Ben Noordhuis4b279f02013-07-24 10:53:28742 'action': [
Felix Beckerc3e50ca2016-01-24 16:01:07743 'python',
Ben Noordhuis4b279f02013-07-24 10:53:28744 'tools/js2c.py',
745 '<@(_outputs)',
746 '<@(_inputs)',
747 ],
Ryan Dahl4f3c8b32011-08-04 00:01:30748 },
749 ],
750 }, # end node_js2c
Dave Pachecocc152992012-03-28 17:26:10751 {
752 'target_name': 'node_dtrace_header',
753 'type': 'none',
754 'conditions': [
Ben Noordhuis0fbe5282014-12-11 17:04:31755 [ 'node_use_dtrace=="true" and OS!="linux"', {
Dave Pachecocc152992012-03-28 17:26:10756 'actions': [
757 {
758 'action_name': 'node_dtrace_header',
759 'inputs': [ 'src/node_provider.d' ],
760 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
761 'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)',
762 '-o', '<@(_outputs)' ]
763 }
764 ]
Evan Torrie691d55f2014-12-09 19:02:39765 } ],
766 [ 'node_use_dtrace=="true" and OS=="linux"', {
767 'actions': [
768 {
769 'action_name': 'node_dtrace_header',
770 'inputs': [ 'src/node_provider.d' ],
771 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
772 'action': [ 'dtrace', '-h', '-s', '<@(_inputs)',
773 '-o', '<@(_outputs)' ]
774 }
775 ]
776 } ],
Dave Pachecocc152992012-03-28 17:26:10777 ]
778 },
779 {
780 'target_name': 'node_dtrace_provider',
781 'type': 'none',
782 'conditions': [
Ben Noordhuisc4def502013-10-28 19:18:59783 [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
Dave Pachecocc152992012-03-28 17:26:10784 'actions': [
785 {
786 'action_name': 'node_dtrace_provider_o',
787 'inputs': [
cjihriga69ab272015-08-13 16:14:34788 '<(OBJ_DIR)/node/src/node_dtrace.o',
Dave Pachecocc152992012-03-28 17:26:10789 ],
790 'outputs': [
cjihriga69ab272015-08-13 16:14:34791 '<(OBJ_DIR)/node/src/node_dtrace_provider.o'
Dave Pachecocc152992012-03-28 17:26:10792 ],
Timothy J Fontainef0d80d72013-04-16 23:18:07793 'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d',
Julien Gilli4dc660e2014-12-03 06:55:53794 '<@(_inputs)', '-o', '<@(_outputs)' ]
Dave Pachecocc152992012-03-28 17:26:10795 }
796 ]
Ben Noordhuisc4def502013-10-28 19:18:59797 }],
798 [ 'node_use_dtrace=="true" and OS=="linux"', {
799 'actions': [
800 {
801 'action_name': 'node_dtrace_provider_o',
802 'inputs': [ 'src/node_provider.d' ],
803 'outputs': [
804 '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o'
805 ],
806 'action': [
807 'dtrace', '-C', '-G', '-s', '<@(_inputs)', '-o', '<@(_outputs)'
808 ],
Julien Gilli4dc660e2014-12-03 06:55:53809 }
Ben Noordhuisc4def502013-10-28 19:18:59810 ],
811 }],
Dave Pachecocc152992012-03-28 17:26:10812 ]
813 },
814 {
815 'target_name': 'node_dtrace_ustack',
816 'type': 'none',
817 'conditions': [
Ben Noordhuisc4def502013-10-28 19:18:59818 [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
Dave Pachecocc152992012-03-28 17:26:10819 'actions': [
820 {
821 'action_name': 'node_dtrace_ustack_constants',
822 'inputs': [
Fedor Indutny61c0d572014-01-16 16:39:12823 '<(V8_BASE)'
Dave Pachecocc152992012-03-28 17:26:10824 ],
825 'outputs': [
826 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
827 ],
828 'action': [
829 'tools/genv8constants.py',
830 '<@(_outputs)',
831 '<@(_inputs)'
832 ]
833 },
834 {
835 'action_name': 'node_dtrace_ustack',
836 'inputs': [
837 'src/v8ustack.d',
838 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
839 ],
840 'outputs': [
cjihriga69ab272015-08-13 16:14:34841 '<(OBJ_DIR)/node/src/node_dtrace_ustack.o'
Dave Pachecocc152992012-03-28 17:26:10842 ],
Fedor Indutny3d913fe2013-02-26 07:57:12843 'conditions': [
844 [ 'target_arch=="ia32"', {
845 'action': [
846 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
847 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
848 ]
849 } ],
850 [ 'target_arch=="x64"', {
851 'action': [
852 'dtrace', '-64', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
853 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
854 ]
855 } ],
Dave Pachecocc152992012-03-28 17:26:10856 ]
Fedor Indutnyb940e0f2014-02-20 16:52:26857 },
Dave Pachecocc152992012-03-28 17:26:10858 ]
859 } ],
860 ]
Fedor Indutnyb940e0f2014-02-20 16:52:26861 },
862 {
863 'target_name': 'specialize_node_d',
864 'type': 'none',
865 'conditions': [
866 [ 'node_use_dtrace=="true"', {
867 'actions': [
868 {
869 'action_name': 'specialize_node_d',
870 'inputs': [
871 'src/node.d'
872 ],
873 'outputs': [
874 '<(PRODUCT_DIR)/node.d',
875 ],
876 'action': [
877 'tools/specialize_node_d.py',
878 '<@(_outputs)',
879 '<@(_inputs)',
880 '<@(OS)',
881 '<@(target_arch)',
882 ],
883 },
884 ],
885 } ],
886 ]
Ben Noordhuis00807882015-03-19 01:01:45887 },
888 {
889 'target_name': 'cctest',
890 'type': 'executable',
Ben Noordhuis7dcc4af2016-06-29 19:11:14891 'dependencies': [ 'deps/gtest/gtest.gyp:gtest' ],
Ben Noordhuis00807882015-03-19 01:01:45892 'include_dirs': [
893 'src',
Eugene Ostroukhov42da7402016-11-09 22:19:35894 'deps/v8/include',
895 '<(SHARED_INTERMEDIATE_DIR)'
Ben Noordhuis00807882015-03-19 01:01:45896 ],
897 'defines': [
898 # gtest's ASSERT macros conflict with our own.
899 'GTEST_DONT_DEFINE_ASSERT_EQ=1',
900 'GTEST_DONT_DEFINE_ASSERT_GE=1',
901 'GTEST_DONT_DEFINE_ASSERT_GT=1',
902 'GTEST_DONT_DEFINE_ASSERT_LE=1',
903 'GTEST_DONT_DEFINE_ASSERT_LT=1',
904 'GTEST_DONT_DEFINE_ASSERT_NE=1',
Ben Noordhuiseff96d32016-05-24 07:54:05905 'NODE_WANT_INTERNALS=1',
Ben Noordhuis00807882015-03-19 01:01:45906 ],
907 'sources': [
908 'test/cctest/util.cc',
909 ],
Pavel Feldman84ad31f2016-02-07 16:47:14910
911 'conditions': [
912 ['v8_inspector=="true"', {
Eugene Ostroukhov42da7402016-11-09 22:19:35913 'defines': [
914 'HAVE_INSPECTOR=1',
915 ],
916 'dependencies': [
Eugene Ostroukhov42da7402016-11-09 22:19:35917 'v8_inspector_compress_protocol_json#host'
918 ],
919 'include_dirs': [
920 '<(SHARED_INTERMEDIATE_DIR)'
921 ],
Pavel Feldman84ad31f2016-02-07 16:47:14922 'sources': [
923 'src/inspector_socket.cc',
Eugene Ostroukhov42da7402016-11-09 22:19:35924 'src/inspector_socket_server.cc',
925 'test/cctest/test_inspector_socket.cc',
926 'test/cctest/test_inspector_socket_server.cc'
Сковорода Никита Андреевич990c9682016-07-06 20:16:35927 ],
928 'conditions': [
Gibson Fahnestockae21a512017-01-06 10:00:41929 [ 'node_shared_zlib=="false"', {
930 'dependencies': [
931 'deps/zlib/zlib.gyp:zlib',
932 ]
933 }],
Сковорода Никита Андреевич990c9682016-07-06 20:16:35934 [ 'node_shared_openssl=="false"', {
935 'dependencies': [
936 'deps/openssl/openssl.gyp:openssl'
937 ]
938 }],
939 [ 'node_shared_http_parser=="false"', {
940 'dependencies': [
941 'deps/http_parser/http_parser.gyp:http_parser'
942 ]
943 }],
944 [ 'node_shared_libuv=="false"', {
945 'dependencies': [
946 'deps/uv/uv.gyp:libuv'
947 ]
948 }]
Pavel Feldman84ad31f2016-02-07 16:47:14949 ]
Stefan Budeanu410296c2016-03-27 00:17:55950 }],
951 [ 'node_use_v8_platform=="true"', {
952 'dependencies': [
Michaël Zassofbfc15c2016-06-30 16:13:07953 'deps/v8/src/v8.gyp:v8_libplatform',
Stefan Budeanu410296c2016-03-27 00:17:55954 ],
955 }],
956 [ 'node_use_bundled_v8=="true"', {
957 'dependencies': [
Michaël Zassofbfc15c2016-06-30 16:13:07958 'deps/v8/src/v8.gyp:v8',
959 'deps/v8/src/v8.gyp:v8_libplatform'
Stefan Budeanu410296c2016-03-27 00:17:55960 ],
961 }],
Pavel Feldman84ad31f2016-02-07 16:47:14962 ]
Dave Pachecocc152992012-03-28 17:26:10963 }
Michael Dawson15bcbf82015-09-29 14:22:00964 ], # end targets
965
966 'conditions': [
967 ['OS=="aix"', {
968 'targets': [
969 {
970 'target_name': 'node',
Stewart Addison1bd87162016-11-14 13:43:41971 'conditions': [
972 ['node_shared=="true"', {
973 'type': 'shared_library',
974 'ldflags': ['--shared'],
975 'product_extension': '<(shlib_suffix)',
976 }, {
977 'type': 'executable',
978 }],
Stewart X Addisone4074782016-12-13 19:49:00979 ['target_arch=="ppc64"', {
980 'ldflags': [
981 '-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread/ppc64'
982 ],
983 }],
984 ['target_arch=="ppc"', {
985 'ldflags': [
986 '-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread'
987 ],
988 }]
Stewart Addison1bd87162016-11-14 13:43:41989 ],
Michael Dawson15bcbf82015-09-29 14:22:00990 'dependencies': ['<(node_core_target_name)', 'node_exp'],
991
992 'include_dirs': [
993 'src',
994 'deps/v8/include',
995 ],
996
997 'sources': [
998 'src/node_main.cc',
999 '<@(library_files)',
1000 # node.gyp is added to the project by default.
1001 'common.gypi',
1002 ],
1003
Gireesh Punathild80432d2016-07-04 09:11:101004 'ldflags': ['-Wl,-bE:<(PRODUCT_DIR)/node.exp'],
Michael Dawson15bcbf82015-09-29 14:22:001005 },
1006 {
1007 'target_name': 'node_exp',
1008 'type': 'none',
1009 'dependencies': [
1010 '<(node_core_target_name)',
1011 ],
1012 'actions': [
1013 {
1014 'action_name': 'expfile',
1015 'inputs': [
1016 '<(OBJ_DIR)'
1017 ],
1018 'outputs': [
1019 '<(PRODUCT_DIR)/node.exp'
1020 ],
1021 'action': [
1022 'sh', 'tools/create_expfile.sh',
1023 '<@(_inputs)', '<@(_outputs)'
1024 ],
1025 }
1026 ]
1027 }
1028 ], # end targets
1029 }], # end aix section
1030 ], # end conditions block
Ryan Dahl4f3c8b32011-08-04 00:01:301031}