blob: fb0286b6602ac2604c0705ddda435c611a399ac5 [file] [log] [blame]
Ryan Dahl4f3c8b32011-08-04 00:01:301{
Ryan Dahlbea48272011-08-04 06:36:272 'variables': {
Ryan Dahlbca88b22012-01-07 00:20:453 'v8_use_snapshot%': 'true',
Ryan Dahld2ab3142011-10-07 08:08:534 # Turn off -Werror in V8
5 # See http://codereview.chromium.org/8159015
6 'werror': '',
Dave Pachecocc152992012-03-28 17:26:107 'node_use_dtrace%': 'false',
Igor Zinkovsky35a14212012-06-11 23:23:178 'node_use_etw%': 'false',
Scott Blomquistf657ce62012-11-20 23:27:229 'node_use_perfctr%': 'false',
Scott Blomquist841b7f52012-12-21 08:06:2110 'node_has_winsdk%': 'false',
Nathan Rajlicha84adad2012-02-23 22:32:2411 'node_shared_v8%': 'false',
T.C. Hollingsworthd03b8482012-02-26 23:02:2112 'node_shared_zlib%': 'false',
Stephen Gallagherbfd78b62012-10-23 13:01:2613 'node_shared_http_parser%': 'false',
Stephen Gallagher73ff6532012-10-23 14:27:1914 'node_shared_cares%': 'false',
Stephen Gallagher38809e32012-10-23 23:54:2215 'node_shared_libuv%': 'false',
Bert Belderae2ac4f2011-09-04 23:01:5316 'node_use_openssl%': 'true',
Jan Wynholds06810b22012-10-09 22:09:0717 'node_use_systemtap%': 'false',
Ryan Dahlfe464a22012-06-20 20:31:4918 'node_shared_openssl%': 'false',
Bert Belderae2ac4f2011-09-04 23:01:5319 'library_files': [
20 'src/node.js',
21 'lib/_debugger.js',
22 'lib/_linklist.js',
23 'lib/assert.js',
24 'lib/buffer.js',
Ryan Dahl96e423a2011-10-11 20:16:3325 'lib/child_process.js',
Bert Belderae2ac4f2011-09-04 23:01:5326 'lib/console.js',
27 'lib/constants.js',
28 'lib/crypto.js',
Ryan Dahl73b4b862011-10-12 21:51:2529 'lib/cluster.js',
Ryan Dahl71cce3f2011-10-11 20:26:4130 'lib/dgram.js',
Ryan Dahl58e892d2011-10-11 20:21:3031 'lib/dns.js',
isaacs963459d2012-04-06 23:26:1832 'lib/domain.js',
Bert Belderae2ac4f2011-09-04 23:01:5333 'lib/events.js',
34 'lib/freelist.js',
35 'lib/fs.js',
36 'lib/http.js',
Timothy J Fontaine62e4f892013-04-11 21:47:1537 'lib/_http_agent.js',
Timothy J Fontaine951e0b62013-04-11 23:11:1238 'lib/_http_client.js',
Timothy J Fontainebb564892013-04-11 22:15:4139 'lib/_http_common.js',
Timothy J Fontaine5909a9c2013-04-11 22:00:4540 'lib/_http_incoming.js',
Timothy J Fontainedc9f97b2013-04-11 22:37:1441 'lib/_http_outgoing.js',
Timothy J Fontaine6717fdc2013-04-11 23:00:1942 'lib/_http_server.js',
Bert Belderae2ac4f2011-09-04 23:01:5343 'lib/https.js',
Bert Belderae2ac4f2011-09-04 23:01:5344 'lib/module.js',
Ryan Dahlbe0bb2d2011-10-11 20:07:1445 'lib/net.js',
Bert Belderae2ac4f2011-09-04 23:01:5346 'lib/os.js',
47 'lib/path.js',
48 'lib/punycode.js',
49 'lib/querystring.js',
50 'lib/readline.js',
51 'lib/repl.js',
52 'lib/stream.js',
isaacs420e07c2012-10-02 22:44:5053 'lib/_stream_readable.js',
54 'lib/_stream_writable.js',
55 'lib/_stream_duplex.js',
56 'lib/_stream_transform.js',
57 'lib/_stream_passthrough.js',
Bert Belderae2ac4f2011-09-04 23:01:5358 'lib/string_decoder.js',
59 'lib/sys.js',
Ryan Dahlbe0bb2d2011-10-11 20:07:1460 'lib/timers.js',
Bert Belderae2ac4f2011-09-04 23:01:5361 'lib/tls.js',
Fedor Indutnyaf80e7b2013-06-13 13:36:0062 'lib/_tls_legacy.js',
63 'lib/_tls_wrap.js',
Ryan Dahlcdf5d912011-10-11 20:41:3364 'lib/tty.js',
Bert Belderae2ac4f2011-09-04 23:01:5365 'lib/url.js',
66 'lib/util.js',
67 'lib/vm.js',
isaacs5b8e1da2011-09-06 23:13:0568 'lib/zlib.js',
Bert Belderae2ac4f2011-09-04 23:01:5369 ],
Ryan Dahlbea48272011-08-04 06:36:2770 },
71
Ryan Dahl4f3c8b32011-08-04 00:01:3072 'targets': [
73 {
74 'target_name': 'node',
75 'type': 'executable',
Ryan Dahlbea48272011-08-04 06:36:2776
Ryan Dahl4f3c8b32011-08-04 00:01:3077 'dependencies': [
Ryan Dahla979ab92011-08-04 23:40:0778 'node_js2c#host',
Ryan Dahl4f3c8b32011-08-04 00:01:3079 ],
Ryan Dahla979ab92011-08-04 23:40:0780
81 'include_dirs': [
Ryan Dahldb1bf672011-08-08 19:11:4882 'src',
Scott Blomquista6167742013-01-03 22:36:0483 'tools/msvs/genfiles',
Ryan Dahldb1bf672011-08-08 19:11:4884 'deps/uv/src/ares',
Ryan Dahla979ab92011-08-04 23:40:0785 '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
86 ],
87
Ryan Dahl4f3c8b32011-08-04 00:01:3088 'sources': [
Igor Zinkovsky8fe57122011-09-22 23:18:0889 'src/fs_event_wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:4890 'src/cares_wrap.cc',
91 'src/handle_wrap.cc',
92 'src/node.cc',
93 'src/node_buffer.cc',
94 'src/node_constants.cc',
Ryan Dahldb1bf672011-08-08 19:11:4895 'src/node_extensions.cc',
96 'src/node_file.cc',
97 'src/node_http_parser.cc',
98 'src/node_javascript.cc',
99 'src/node_main.cc',
100 'src/node_os.cc',
101 'src/node_script.cc',
Ben Noordhuisf0ce9842012-06-16 20:41:37102 'src/node_stat_watcher.cc',
Ryan Dahldb1bf672011-08-08 19:11:48103 'src/node_string.cc',
Andrew Paprockic0818092012-10-08 19:24:08104 'src/node_watchdog.cc',
isaacs5b8e1da2011-09-06 23:13:05105 'src/node_zlib.cc',
Ryan Dahldb1bf672011-08-08 19:11:48106 'src/pipe_wrap.cc',
Bert Belder600a6462012-08-20 21:59:21107 'src/signal_wrap.cc',
Trevor Norris8f3f9f72013-04-17 23:18:47108 'src/smalloc.cc',
isaacs64fc34b2013-05-01 22:40:43109 'src/string_bytes.cc',
Ryan Dahldb1bf672011-08-08 19:11:48110 'src/stream_wrap.cc',
111 'src/tcp_wrap.cc',
112 'src/timer_wrap.cc',
Ryan Dahlc1ae6ea2011-09-20 20:38:07113 'src/tty_wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:48114 'src/process_wrap.cc',
Ryan Dahl06f750c2011-08-24 23:20:08115 'src/udp_wrap.cc',
Peter Bright64b41682011-08-15 16:35:48116 # headers to make for a more pleasant IDE experience
117 'src/handle_wrap.h',
118 'src/node.h',
119 'src/node_buffer.h',
Peter Bright64b41682011-08-15 16:35:48120 'src/node_constants.h',
Peter Bright64b41682011-08-15 16:35:48121 'src/node_extensions.h',
122 'src/node_file.h',
123 'src/node_http_parser.h',
124 'src/node_javascript.h',
Peter Bright64b41682011-08-15 16:35:48125 'src/node_os.h',
126 'src/node_root_certs.h',
127 'src/node_script.h',
Peter Bright64b41682011-08-15 16:35:48128 'src/node_string.h',
129 'src/node_version.h',
Andrew Paprockic0818092012-10-08 19:24:08130 'src/node_watchdog.h',
Fedor Indutny6978e992013-06-11 10:52:27131 'src/node_wrap.h',
Peter Bright64b41682011-08-15 16:35:48132 'src/pipe_wrap.h',
Ben Noordhuisa7820a12013-06-04 10:21:58133 'src/queue.h',
Trevor Norris8f3f9f72013-04-17 23:18:47134 'src/smalloc.h',
Fedor Indutnyaf98fc92012-05-16 16:04:24135 'src/tty_wrap.h',
136 'src/tcp_wrap.h',
137 'src/udp_wrap.h',
Peter Bright64b41682011-08-15 16:35:48138 'src/req_wrap.h',
isaacs64fc34b2013-05-01 22:40:43139 'src/string_bytes.h',
Peter Bright64b41682011-08-15 16:35:48140 'src/stream_wrap.h',
Bert Belder9e55ba72012-08-06 19:22:11141 'src/tree.h',
Peter Bright64b41682011-08-15 16:35:48142 'deps/http_parser/http_parser.h',
Peter Bright64b41682011-08-15 16:35:48143 '<(SHARED_INTERMEDIATE_DIR)/node_natives.h',
Bert Belderae2ac4f2011-09-04 23:01:53144 # javascript files to make for an even more pleasant IDE experience
145 '<@(library_files)',
Bert Belderc0c4bd42011-10-28 10:10:24146 # node.gyp is added to the project by default.
147 'common.gypi',
Ryan Dahla979ab92011-08-04 23:40:07148 ],
149
150 'defines': [
Ben Noordhuis09dc5772011-11-29 16:35:19151 'NODE_WANT_INTERNALS=1',
Ryan Dahla979ab92011-08-04 23:40:07152 'ARCH="<(target_arch)"',
153 'PLATFORM="<(OS)"',
Maciej Małeckif84bf5b2012-12-21 01:56:47154 'NODE_TAG="<(node_tag)"',
Ryan Dahl4f3c8b32011-08-04 00:01:30155 ],
156
157 'conditions': [
Ryan Dahla979ab92011-08-04 23:40:07158 [ 'node_use_openssl=="true"', {
Peter Bright71333b32011-08-06 19:20:15159 'defines': [ 'HAVE_OPENSSL=1' ],
Fedor Indutny03e008d2013-06-11 10:59:10160 'sources': [
161 'src/node_crypto.cc',
162 'src/node_crypto_bio.cc',
Nathan Rajlich567c72b2013-07-06 03:53:23163 'src/node_crypto.h',
164 'src/node_crypto_bio.h',
Fedor Indutny03e008d2013-06-11 10:59:10165 'src/tls_wrap.cc',
166 'src/tls_wrap.h'
167 ],
Ben Noordhuis9f986982011-08-29 22:01:43168 'conditions': [
Ryan Dahlfe464a22012-06-20 20:31:49169 [ 'node_shared_openssl=="false"', {
Ben Noordhuis9f986982011-08-29 22:01:43170 'dependencies': [ './deps/openssl/openssl.gyp:openssl' ],
171 }]]
Ryan Dahla979ab92011-08-04 23:40:07172 }, {
173 'defines': [ 'HAVE_OPENSSL=0' ]
174 }],
Peter Bright64b41682011-08-15 16:35:48175 [ 'node_use_dtrace=="true"', {
Dave Pachecocc152992012-03-28 17:26:10176 'defines': [ 'HAVE_DTRACE=1' ],
177 'dependencies': [ 'node_dtrace_header' ],
178 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
179 #
Dave Pachecofe7440c2013-03-28 18:36:00180 # DTrace is supported on solaris, mac, and bsd. There are three
181 # object files associated with DTrace support, but they're not all
182 # used all the time:
183 #
184 # node_dtrace.o all configurations
185 # node_dtrace_ustack.o not supported on OS X
186 # node_dtrace_provider.o All except OS X. "dtrace -G" is not
187 # used on OS X.
188 #
189 # Note that node_dtrace_provider.cc and node_dtrace_ustack.cc do not
190 # actually exist. They're listed here to trick GYP into linking the
191 # corresponding object files into the final "node" executable. These
192 # object files are generated by "dtrace -G" using custom actions
193 # below, and the GYP-generated Makefiles will properly build them when
194 # needed.
Dave Pachecocc152992012-03-28 17:26:10195 #
Peter Bright64b41682011-08-15 16:35:48196 'sources': [
Ryan Dahlb3ddb892011-10-26 18:31:12197 'src/node_dtrace.cc',
Peter Bright64b41682011-08-15 16:35:48198 ],
Dave Pachecofe7440c2013-03-28 18:36:00199 'conditions': [ [
200 'OS!="mac"', {
201 'sources': [
202 'src/node_dtrace_ustack.cc',
203 'src/node_dtrace_provider.cc',
204 ]
205 }
206 ] ]
Dave Pachecocc152992012-03-28 17:26:10207 } ],
Jan Wynholds06810b22012-10-09 22:09:07208 [ 'node_use_systemtap=="true"', {
209 'defines': [ 'HAVE_SYSTEMTAP=1', 'STAP_SDT_V1=1' ],
Jan Wynholds06810b22012-10-09 22:09:07210 'sources': [
211 'src/node_dtrace.cc',
Jan Wynholds06810b22012-10-09 22:09:07212 ],
213 } ],
Igor Zinkovsky35a14212012-06-11 23:23:17214 [ 'node_use_etw=="true"', {
215 'defines': [ 'HAVE_ETW=1' ],
216 'dependencies': [ 'node_etw' ],
217 'sources': [
218 'src/node_win32_etw_provider.h',
219 'src/node_win32_etw_provider-inl.h',
220 'src/node_win32_etw_provider.cc',
221 'src/node_dtrace.cc',
Scott Blomquista6167742013-01-03 22:36:04222 'tools/msvs/genfiles/node_etw_provider.h',
223 'tools/msvs/genfiles/node_etw_provider.rc',
Igor Zinkovsky35a14212012-06-11 23:23:17224 ]
225 } ],
Scott Blomquistf657ce62012-11-20 23:27:22226 [ 'node_use_perfctr=="true"', {
227 'defines': [ 'HAVE_PERFCTR=1' ],
228 'dependencies': [ 'node_perfctr' ],
229 'sources': [
230 'src/node_win32_perfctr_provider.h',
231 'src/node_win32_perfctr_provider.cc',
232 'src/node_counters.cc',
233 'src/node_counters.h',
Scott Blomquista6167742013-01-03 22:36:04234 'tools/msvs/genfiles/node_perfctr_provider.rc',
Scott Blomquistf657ce62012-11-20 23:27:22235 ]
236 } ],
Paddy Byersd8852aa2013-04-03 07:35:39237 [ 'v8_postmortem_support=="true"', {
238 'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:postmortem-metadata' ],
239 }],
Ben Noordhuisf00c8bc2012-06-26 22:33:50240 [ 'node_shared_v8=="false"', {
isaacs59ecf2c2012-02-23 22:52:18241 'sources': [
242 'deps/v8/include/v8.h',
243 'deps/v8/include/v8-debug.h',
244 ],
245 'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:v8' ],
246 }],
247
T.C. Hollingsworthd03b8482012-02-26 23:02:21248 [ 'node_shared_zlib=="false"', {
249 'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
250 }],
251
Stephen Gallagherbfd78b62012-10-23 13:01:26252 [ 'node_shared_http_parser=="false"', {
253 'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ],
254 }],
255
Stephen Gallagher73ff6532012-10-23 14:27:19256 [ 'node_shared_cares=="false"', {
257 'dependencies': [ 'deps/cares/cares.gyp:cares' ],
258 }],
259
Stephen Gallagher38809e32012-10-23 23:54:22260 [ 'node_shared_libuv=="false"', {
261 'dependencies': [ 'deps/uv/uv.gyp:libuv' ],
262 }],
263
Ryan Dahl4f3c8b32011-08-04 00:01:30264 [ 'OS=="win"', {
Ryan Dahl4f3c8b32011-08-04 00:01:30265 'sources': [
Bert Belder0187b652012-06-13 15:40:50266 'src/res/node.rc',
Peter Bright71333b32011-08-06 19:20:15267 ],
Peter Bright6ac8c552011-08-07 05:11:21268 'defines': [
Peter Bright6ac8c552011-08-07 05:11:21269 'FD_SETSIZE=1024',
Peter Bright79d9f622011-08-07 17:43:24270 # we need to use node's preferred "win32" rather than gyp's preferred "win"
271 'PLATFORM="win32"',
Bert Belderd52f5022012-02-16 19:20:07272 '_UNICODE=1',
Peter Bright6ac8c552011-08-07 05:11:21273 ],
Ryan Dahl19762882011-09-02 19:53:16274 'libraries': [ '-lpsapi.lib' ]
Ben Noordhuisacbfc402012-07-12 23:43:14275 }, { # POSIX
Ryan Dahla979ab92011-08-04 23:40:07276 'defines': [ '__POSIX__' ],
Ryan Dahl4f3c8b32011-08-04 00:01:30277 }],
278 [ 'OS=="mac"', {
Ryan Dahla979ab92011-08-04 23:40:07279 'libraries': [ '-framework Carbon' ],
Nathan Rajlichf2ba4ce2012-01-11 22:44:39280 'defines!': [
281 'PLATFORM="mac"',
282 ],
Nathan Rajlich9ff86a22012-01-11 22:36:27283 'defines': [
284 # we need to use node's preferred "darwin" rather than gyp's preferred "mac"
285 'PLATFORM="darwin"',
286 ],
Ryan Dahlb433c422011-08-16 00:54:47287 }],
Ben Noordhuisdecd8182011-08-17 05:44:53288 [ 'OS=="freebsd"', {
Ben Noordhuisdecd8182011-08-17 05:44:53289 'libraries': [
290 '-lutil',
291 '-lkvm',
292 ],
293 }],
Ben Noordhuis13871fa2011-10-26 05:11:20294 [ 'OS=="solaris"', {
Ben Noordhuis13871fa2011-10-26 05:11:20295 'libraries': [
296 '-lkstat',
Trent Mickf70b1382012-07-27 17:56:40297 '-lumem',
Ben Noordhuis13871fa2011-10-26 05:11:20298 ],
Nathan Rajlich606a9332012-08-29 21:57:25299 'defines!': [
300 'PLATFORM="solaris"',
301 ],
302 'defines': [
303 # we need to use node's preferred "sunos"
304 # rather than gyp's preferred "solaris"
305 'PLATFORM="sunos"',
306 ],
Ben Noordhuis13871fa2011-10-26 05:11:20307 }],
Peter Bright16788f42011-08-13 18:17:47308 ],
Bert Belder5691e8a2012-09-24 22:50:37309 'msvs_settings': {
Peter Bright16788f42011-08-13 18:17:47310 'VCLinkerTool': {
311 'SubSystem': 1, # /subsystem:console
312 },
313 },
Ryan Dahl4f3c8b32011-08-04 00:01:30314 },
Igor Zinkovsky35a14212012-06-11 23:23:17315 # generate ETW header and resource files
316 {
317 'target_name': 'node_etw',
318 'type': 'none',
319 'conditions': [
Scott Blomquist841b7f52012-12-21 08:06:21320 [ 'node_use_etw=="true" and node_has_winsdk=="true"', {
Igor Zinkovsky35a14212012-06-11 23:23:17321 'actions': [
322 {
323 'action_name': 'node_etw',
324 'inputs': [ 'src/res/node_etw_provider.man' ],
Scott Blomquist953b0492012-10-25 23:51:46325 'outputs': [
Scott Blomquista6167742013-01-03 22:36:04326 'tools/msvs/genfiles/node_etw_provider.rc',
327 'tools/msvs/genfiles/node_etw_provider.h',
328 'tools/msvs/genfiles/node_etw_providerTEMP.BIN',
Scott Blomquist953b0492012-10-25 23:51:46329 ],
Scott Blomquista6167742013-01-03 22:36:04330 'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ]
Igor Zinkovsky35a14212012-06-11 23:23:17331 }
332 ]
333 } ]
334 ]
335 },
Scott Blomquistf657ce62012-11-20 23:27:22336 # generate perf counter header and resource files
337 {
338 'target_name': 'node_perfctr',
339 'type': 'none',
340 'conditions': [
Scott Blomquist841b7f52012-12-21 08:06:21341 [ 'node_use_perfctr=="true" and node_has_winsdk=="true"', {
Scott Blomquistf657ce62012-11-20 23:27:22342 'actions': [
343 {
344 'action_name': 'node_perfctr_man',
345 'inputs': [ 'src/res/node_perfctr_provider.man' ],
346 'outputs': [
Scott Blomquista6167742013-01-03 22:36:04347 'tools/msvs/genfiles/node_perfctr_provider.h',
348 'tools/msvs/genfiles/node_perfctr_provider.rc',
349 'tools/msvs/genfiles/MSG00001.BIN',
Scott Blomquistf657ce62012-11-20 23:27:22350 ],
351 'action': [ 'ctrpp <@(_inputs) '
Scott Blomquista6167742013-01-03 22:36:04352 '-o tools/msvs/genfiles/node_perfctr_provider.h '
353 '-rc tools/msvs/genfiles/node_perfctr_provider.rc'
Scott Blomquistf657ce62012-11-20 23:27:22354 ]
355 },
356 ],
357 } ]
358 ]
359 },
Ryan Dahl4f3c8b32011-08-04 00:01:30360 {
361 'target_name': 'node_js2c',
362 'type': 'none',
363 'toolsets': ['host'],
Ryan Dahl4f3c8b32011-08-04 00:01:30364 'actions': [
365 {
366 'action_name': 'node_js2c',
367 'inputs': [
Ryan Dahl4f3c8b32011-08-04 00:01:30368 '<@(library_files)',
Nathan Rajlich95fd5172012-03-14 15:34:44369 './config.gypi',
Ryan Dahl4f3c8b32011-08-04 00:01:30370 ],
371 'outputs': [
372 '<(SHARED_INTERMEDIATE_DIR)/node_natives.h',
373 ],
Ryan Dahla979ab92011-08-04 23:40:07374 'conditions': [
Scott Blomquistf657ce62012-11-20 23:27:22375 [ 'node_use_dtrace=="false"'
376 ' and node_use_etw=="false"'
377 ' and node_use_systemtap=="false"',
Jan Wynholds06810b22012-10-09 22:09:07378 {
Scott Blomquistf657ce62012-11-20 23:27:22379 'inputs': ['src/macros.py']
380 }
Ryan Dahla979ab92011-08-04 23:40:07381 ],
Scott Blomquistf657ce62012-11-20 23:27:22382 [ 'node_use_perfctr=="false"', {
383 'inputs': [ 'src/perfctr_macros.py' ]
Ryan Dahla979ab92011-08-04 23:40:07384 }]
Peter Bright71333b32011-08-06 19:20:15385 ],
Scott Blomquistf657ce62012-11-20 23:27:22386 'action': [
387 '<(python)',
388 'tools/js2c.py',
389 '<@(_outputs)',
390 '<@(_inputs)',
391 ],
Ryan Dahl4f3c8b32011-08-04 00:01:30392 },
393 ],
394 }, # end node_js2c
Dave Pachecocc152992012-03-28 17:26:10395 {
396 'target_name': 'node_dtrace_header',
397 'type': 'none',
398 'conditions': [
Timothy J Fontaine23509eb2013-03-31 02:51:17399 [ 'node_use_dtrace=="true" or node_use_systemtap=="true"', {
Dave Pachecocc152992012-03-28 17:26:10400 'actions': [
401 {
402 'action_name': 'node_dtrace_header',
403 'inputs': [ 'src/node_provider.d' ],
404 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
405 'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)',
406 '-o', '<@(_outputs)' ]
407 }
408 ]
409 } ]
410 ]
411 },
412 {
413 'target_name': 'node_dtrace_provider',
414 'type': 'none',
415 'conditions': [
Dave Pachecofe7440c2013-03-28 18:36:00416 [ 'node_use_dtrace=="true" and OS!="mac"', {
Dave Pachecocc152992012-03-28 17:26:10417 'actions': [
418 {
419 'action_name': 'node_dtrace_provider_o',
420 'inputs': [
Timothy J Fontainef0d80d72013-04-16 23:18:07421 '<(PRODUCT_DIR)/obj.target/libuv/deps/uv/src/unix/core.o',
422 '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace.o',
Dave Pachecocc152992012-03-28 17:26:10423 ],
424 'outputs': [
425 '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace_provider.o'
426 ],
Timothy J Fontainef0d80d72013-04-16 23:18:07427 'action': [ 'dtrace', '-G', '-xnolibs', '-s', 'src/node_provider.d',
428 '-s', 'deps/uv/src/unix/uv-dtrace.d', '<@(_inputs)',
Dave Pachecocc152992012-03-28 17:26:10429 '-o', '<@(_outputs)' ]
430 }
431 ]
432 } ]
433 ]
434 },
435 {
436 'target_name': 'node_dtrace_ustack',
437 'type': 'none',
438 'conditions': [
Dave Pachecofe7440c2013-03-28 18:36:00439 [ 'node_use_dtrace=="true" and OS!="mac"', {
Dave Pachecocc152992012-03-28 17:26:10440 'actions': [
441 {
442 'action_name': 'node_dtrace_ustack_constants',
443 'inputs': [
Timothy J Fontaine39dfe942013-04-17 22:37:22444 '<(PRODUCT_DIR)/obj.target/deps/v8/tools/gyp/libv8_base.<(target_arch).a'
Dave Pachecocc152992012-03-28 17:26:10445 ],
446 'outputs': [
447 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
448 ],
449 'action': [
450 'tools/genv8constants.py',
451 '<@(_outputs)',
452 '<@(_inputs)'
453 ]
454 },
455 {
456 'action_name': 'node_dtrace_ustack',
457 'inputs': [
458 'src/v8ustack.d',
459 '<(SHARED_INTERMEDIATE_DIR)/v8constants.h'
460 ],
461 'outputs': [
462 '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace_ustack.o'
463 ],
Fedor Indutny3d913fe2013-02-26 07:57:12464 'conditions': [
465 [ 'target_arch=="ia32"', {
466 'action': [
467 'dtrace', '-32', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
468 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
469 ]
470 } ],
471 [ 'target_arch=="x64"', {
472 'action': [
473 'dtrace', '-64', '-I<(SHARED_INTERMEDIATE_DIR)', '-Isrc',
474 '-C', '-G', '-s', 'src/v8ustack.d', '-o', '<@(_outputs)',
475 ]
476 } ],
Dave Pachecocc152992012-03-28 17:26:10477 ]
478 }
479 ]
480 } ],
481 ]
482 }
Ryan Dahl4f3c8b32011-08-04 00:01:30483 ] # end targets
484}