blob: efeff539f0208af5baf5aeac6902d556003762cf [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',
Bert Belderae2ac4f2011-09-04 23:01:5337 'lib/https.js',
Bert Belderae2ac4f2011-09-04 23:01:5338 'lib/module.js',
Ryan Dahlbe0bb2d2011-10-11 20:07:1439 'lib/net.js',
Bert Belderae2ac4f2011-09-04 23:01:5340 'lib/os.js',
41 'lib/path.js',
42 'lib/punycode.js',
43 'lib/querystring.js',
44 'lib/readline.js',
45 'lib/repl.js',
46 'lib/stream.js',
isaacs420e07c2012-10-02 22:44:5047 'lib/_stream_readable.js',
48 'lib/_stream_writable.js',
49 'lib/_stream_duplex.js',
50 'lib/_stream_transform.js',
51 'lib/_stream_passthrough.js',
Bert Belderae2ac4f2011-09-04 23:01:5352 'lib/string_decoder.js',
53 'lib/sys.js',
Ryan Dahlbe0bb2d2011-10-11 20:07:1454 'lib/timers.js',
Bert Belderae2ac4f2011-09-04 23:01:5355 'lib/tls.js',
Ryan Dahlcdf5d912011-10-11 20:41:3356 'lib/tty.js',
Bert Belderae2ac4f2011-09-04 23:01:5357 'lib/url.js',
58 'lib/util.js',
59 'lib/vm.js',
isaacs5b8e1da2011-09-06 23:13:0560 'lib/zlib.js',
Bert Belderae2ac4f2011-09-04 23:01:5361 ],
Ryan Dahlbea48272011-08-04 06:36:2762 },
63
Ryan Dahl4f3c8b32011-08-04 00:01:3064 'targets': [
65 {
66 'target_name': 'node',
67 'type': 'executable',
Ryan Dahlbea48272011-08-04 06:36:2768
Ryan Dahl4f3c8b32011-08-04 00:01:3069 'dependencies': [
Ryan Dahla979ab92011-08-04 23:40:0770 'node_js2c#host',
Ryan Dahl4f3c8b32011-08-04 00:01:3071 ],
Ryan Dahla979ab92011-08-04 23:40:0772
73 'include_dirs': [
Ryan Dahldb1bf672011-08-08 19:11:4874 'src',
Scott Blomquista6167742013-01-03 22:36:0475 'tools/msvs/genfiles',
Ryan Dahldb1bf672011-08-08 19:11:4876 'deps/uv/src/ares',
Ryan Dahla979ab92011-08-04 23:40:0777 '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
78 ],
79
Ryan Dahl4f3c8b32011-08-04 00:01:3080 'sources': [
Igor Zinkovsky8fe57122011-09-22 23:18:0881 'src/fs_event_wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:4882 'src/cares_wrap.cc',
83 'src/handle_wrap.cc',
84 'src/node.cc',
85 'src/node_buffer.cc',
86 'src/node_constants.cc',
Ryan Dahldb1bf672011-08-08 19:11:4887 'src/node_extensions.cc',
88 'src/node_file.cc',
89 'src/node_http_parser.cc',
90 'src/node_javascript.cc',
91 'src/node_main.cc',
92 'src/node_os.cc',
93 'src/node_script.cc',
Ben Noordhuisf0ce9842012-06-16 20:41:3794 'src/node_stat_watcher.cc',
Ryan Dahldb1bf672011-08-08 19:11:4895 'src/node_string.cc',
isaacs5b8e1da2011-09-06 23:13:0596 'src/node_zlib.cc',
Ryan Dahldb1bf672011-08-08 19:11:4897 'src/pipe_wrap.cc',
Bert Belder600a6462012-08-20 21:59:2198 'src/signal_wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:4899 'src/stream_wrap.cc',
Ben Noordhuis08032ef2012-03-28 00:21:56100 'src/slab_allocator.cc',
Ryan Dahldb1bf672011-08-08 19:11:48101 'src/tcp_wrap.cc',
102 'src/timer_wrap.cc',
Ryan Dahlc1ae6ea2011-09-20 20:38:07103 'src/tty_wrap.cc',
Ryan Dahldb1bf672011-08-08 19:11:48104 'src/process_wrap.cc',
Ben Noordhuis97b00002011-08-12 16:57:04105 'src/v8_typed_array.cc',
Ryan Dahl06f750c2011-08-24 23:20:08106 'src/udp_wrap.cc',
Peter Bright64b41682011-08-15 16:35:48107 # headers to make for a more pleasant IDE experience
108 'src/handle_wrap.h',
109 'src/node.h',
110 'src/node_buffer.h',
Peter Bright64b41682011-08-15 16:35:48111 'src/node_constants.h',
112 'src/node_crypto.h',
Fedor Indutny58f93ff2013-04-03 12:58:10113 'src/node_crypto_bio.h',
Peter Bright64b41682011-08-15 16:35:48114 'src/node_extensions.h',
115 'src/node_file.h',
116 'src/node_http_parser.h',
117 'src/node_javascript.h',
Peter Bright64b41682011-08-15 16:35:48118 'src/node_os.h',
119 'src/node_root_certs.h',
120 'src/node_script.h',
Peter Bright64b41682011-08-15 16:35:48121 'src/node_string.h',
122 'src/node_version.h',
Ben Noordhuis5f040652012-04-28 16:45:10123 'src/ngx-queue.h',
Peter Bright64b41682011-08-15 16:35:48124 'src/pipe_wrap.h',
Fedor Indutnyaf98fc92012-05-16 16:04:24125 'src/tty_wrap.h',
126 'src/tcp_wrap.h',
127 'src/udp_wrap.h',
Peter Bright64b41682011-08-15 16:35:48128 'src/req_wrap.h',
Ben Noordhuis08032ef2012-03-28 00:21:56129 'src/slab_allocator.h',
Peter Bright64b41682011-08-15 16:35:48130 'src/stream_wrap.h',
Bert Belder9e55ba72012-08-06 19:22:11131 'src/tree.h',
Peter Bright64b41682011-08-15 16:35:48132 'src/v8_typed_array.h',
Peter Bright64b41682011-08-15 16:35:48133 'deps/http_parser/http_parser.h',
Peter Bright64b41682011-08-15 16:35:48134 '<(SHARED_INTERMEDIATE_DIR)/node_natives.h',
Bert Belderae2ac4f2011-09-04 23:01:53135 # javascript files to make for an even more pleasant IDE experience
136 '<@(library_files)',
Bert Belderc0c4bd42011-10-28 10:10:24137 # node.gyp is added to the project by default.
138 'common.gypi',
Ryan Dahla979ab92011-08-04 23:40:07139 ],
140
141 'defines': [
Ben Noordhuis09dc5772011-11-29 16:35:19142 'NODE_WANT_INTERNALS=1',
Ryan Dahla979ab92011-08-04 23:40:07143 'ARCH="<(target_arch)"',
144 'PLATFORM="<(OS)"',
Maciej Małeckif84bf5b2012-12-21 01:56:47145 'NODE_TAG="<(node_tag)"',
Ryan Dahl4f3c8b32011-08-04 00:01:30146 ],
147
148 'conditions': [
Ryan Dahla979ab92011-08-04 23:40:07149 [ 'node_use_openssl=="true"', {
Peter Bright71333b32011-08-06 19:20:15150 'defines': [ 'HAVE_OPENSSL=1' ],
Fedor Indutny58f93ff2013-04-03 12:58:10151 'sources': [ 'src/node_crypto.cc', 'src/node_crypto_bio.cc' ],
Ben Noordhuis9f986982011-08-29 22:01:43152 'conditions': [
Ryan Dahlfe464a22012-06-20 20:31:49153 [ 'node_shared_openssl=="false"', {
Ben Noordhuis9f986982011-08-29 22:01:43154 'dependencies': [ './deps/openssl/openssl.gyp:openssl' ],
155 }]]
Ryan Dahla979ab92011-08-04 23:40:07156 }, {
157 'defines': [ 'HAVE_OPENSSL=0' ]
158 }],
Peter Bright64b41682011-08-15 16:35:48159 [ 'node_use_dtrace=="true"', {
Dave Pachecocc152992012-03-28 17:26:10160 'defines': [ 'HAVE_DTRACE=1' ],
161 'dependencies': [ 'node_dtrace_header' ],
162 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
163 #
Dave Pachecoec69fcf2013-03-28 18:36:00164 # DTrace is supported on solaris, mac, and bsd. There are three
165 # object files associated with DTrace support, but they're not all
166 # used all the time:
167 #
168 # node_dtrace.o all configurations
169 # node_dtrace_ustack.o not supported on OS X
170 # node_dtrace_provider.o All except OS X. "dtrace -G" is not
171 # used on OS X.
172 #
173 # Note that node_dtrace_provider.cc and node_dtrace_ustack.cc do not
174 # actually exist. They're listed here to trick GYP into linking the
175 # corresponding object files into the final "node" executable. These
176 # object files are generated by "dtrace -G" using custom actions
177 # below, and the GYP-generated Makefiles will properly build them when
178 # needed.
Dave Pachecocc152992012-03-28 17:26:10179 #
Peter Bright64b41682011-08-15 16:35:48180 'sources': [
Ryan Dahlb3ddb892011-10-26 18:31:12181 'src/node_dtrace.cc',
Peter Bright64b41682011-08-15 16:35:48182 ],
Dave Pachecoec69fcf2013-03-28 18:36:00183 'conditions': [ [
184 'OS!="mac"', {
185 'sources': [
186 'src/node_dtrace_ustack.cc',
187 'src/node_dtrace_provider.cc',
188 ]
189 }
190 ] ]
Dave Pachecocc152992012-03-28 17:26:10191 } ],
Jan Wynholds06810b22012-10-09 22:09:07192 [ 'node_use_systemtap=="true"', {
193 'defines': [ 'HAVE_SYSTEMTAP=1', 'STAP_SDT_V1=1' ],
194 'dependencies': [ 'node_systemtap_header' ],
195 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
196 'sources': [
197 'src/node_dtrace.cc',
198 '<(SHARED_INTERMEDIATE_DIR)/node_systemtap.h',
199 ],
200 } ],
Igor Zinkovsky35a14212012-06-11 23:23:17201 [ 'node_use_etw=="true"', {
202 'defines': [ 'HAVE_ETW=1' ],
203 'dependencies': [ 'node_etw' ],
204 'sources': [
205 'src/node_win32_etw_provider.h',
206 'src/node_win32_etw_provider-inl.h',
207 'src/node_win32_etw_provider.cc',
208 'src/node_dtrace.cc',
Scott Blomquista6167742013-01-03 22:36:04209 'tools/msvs/genfiles/node_etw_provider.h',
210 'tools/msvs/genfiles/node_etw_provider.rc',
Igor Zinkovsky35a14212012-06-11 23:23:17211 ]
212 } ],
Scott Blomquistf657ce62012-11-20 23:27:22213 [ 'node_use_perfctr=="true"', {
214 'defines': [ 'HAVE_PERFCTR=1' ],
215 'dependencies': [ 'node_perfctr' ],
216 'sources': [
217 'src/node_win32_perfctr_provider.h',
218 'src/node_win32_perfctr_provider.cc',
219 'src/node_counters.cc',
220 'src/node_counters.h',
Scott Blomquista6167742013-01-03 22:36:04221 'tools/msvs/genfiles/node_perfctr_provider.rc',
Scott Blomquistf657ce62012-11-20 23:27:22222 ]
223 } ],
Ben Noordhuisf00c8bc2012-06-26 22:33:50224 [ 'node_shared_v8=="false"', {
isaacs59ecf2c2012-02-23 22:52:18225 'sources': [
226 'deps/v8/include/v8.h',
227 'deps/v8/include/v8-debug.h',
228 ],
229 'dependencies': [ 'deps/v8/tools/gyp/v8.gyp:v8' ],
230 }],
231
T.C. Hollingsworthd03b8482012-02-26 23:02:21232 [ 'node_shared_zlib=="false"', {
233 'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
234 }],
235
Stephen Gallagherbfd78b62012-10-23 13:01:26236 [ 'node_shared_http_parser=="false"', {
237 'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ],
238 }],
239
Stephen Gallagher73ff6532012-10-23 14:27:19240 [ 'node_shared_cares=="false"', {
241 'dependencies': [ 'deps/cares/cares.gyp:cares' ],
242 }],
243
Stephen Gallagher38809e32012-10-23 23:54:22244 [ 'node_shared_libuv=="false"', {
245 'dependencies': [ 'deps/uv/uv.gyp:libuv' ],
246 }],
247
Ryan Dahl4f3c8b32011-08-04 00:01:30248 [ 'OS=="win"', {
Ryan Dahl4f3c8b32011-08-04 00:01:30249 'sources': [
Bert Belder0187b652012-06-13 15:40:50250 'src/res/node.rc',
Peter Bright71333b32011-08-06 19:20:15251 ],
Peter Bright6ac8c552011-08-07 05:11:21252 'defines': [
Peter Bright6ac8c552011-08-07 05:11:21253 'FD_SETSIZE=1024',
Peter Bright79d9f622011-08-07 17:43:24254 # we need to use node's preferred "win32" rather than gyp's preferred "win"
255 'PLATFORM="win32"',
Bert Belderd52f5022012-02-16 19:20:07256 '_UNICODE=1',
Peter Bright6ac8c552011-08-07 05:11:21257 ],
Ryan Dahl19762882011-09-02 19:53:16258 'libraries': [ '-lpsapi.lib' ]
Ben Noordhuisacbfc402012-07-12 23:43:14259 }, { # POSIX
Ryan Dahla979ab92011-08-04 23:40:07260 'defines': [ '__POSIX__' ],
Ryan Dahl4f3c8b32011-08-04 00:01:30261 }],
262 [ 'OS=="mac"', {
Ryan Dahla979ab92011-08-04 23:40:07263 'libraries': [ '-framework Carbon' ],
Nathan Rajlichf2ba4ce2012-01-11 22:44:39264 'defines!': [
265 'PLATFORM="mac"',
266 ],
Nathan Rajlich9ff86a22012-01-11 22:36:27267 'defines': [
268 # we need to use node's preferred "darwin" rather than gyp's preferred "mac"
269 'PLATFORM="darwin"',
270 ],
Ryan Dahlb433c422011-08-16 00:54:47271 }],
Ben Noordhuisdecd8182011-08-17 05:44:53272 [ 'OS=="freebsd"', {
Ben Noordhuisdecd8182011-08-17 05:44:53273 'libraries': [
274 '-lutil',
275 '-lkvm',
276 ],
277 }],
Ben Noordhuis13871fa2011-10-26 05:11:20278 [ 'OS=="solaris"', {
Ben Noordhuis13871fa2011-10-26 05:11:20279 'libraries': [
280 '-lkstat',
Trent Mickf70b1382012-07-27 17:56:40281 '-lumem',
Ben Noordhuis13871fa2011-10-26 05:11:20282 ],
Nathan Rajlich606a9332012-08-29 21:57:25283 'defines!': [
284 'PLATFORM="solaris"',
285 ],
286 'defines': [
287 # we need to use node's preferred "sunos"
288 # rather than gyp's preferred "solaris"
289 'PLATFORM="sunos"',
290 ],
Ben Noordhuis13871fa2011-10-26 05:11:20291 }],
Peter Bright16788f42011-08-13 18:17:47292 ],
Bert Belder5691e8a2012-09-24 22:50:37293 'msvs_settings': {
Peter Bright16788f42011-08-13 18:17:47294 'VCLinkerTool': {
295 'SubSystem': 1, # /subsystem:console
296 },
297 },
Ryan Dahl4f3c8b32011-08-04 00:01:30298 },
Igor Zinkovsky35a14212012-06-11 23:23:17299 # generate ETW header and resource files
300 {
301 'target_name': 'node_etw',
302 'type': 'none',
303 'conditions': [
Scott Blomquist841b7f52012-12-21 08:06:21304 [ 'node_use_etw=="true" and node_has_winsdk=="true"', {
Igor Zinkovsky35a14212012-06-11 23:23:17305 'actions': [
306 {
307 'action_name': 'node_etw',
308 'inputs': [ 'src/res/node_etw_provider.man' ],
Scott Blomquist953b0492012-10-25 23:51:46309 'outputs': [
Scott Blomquista6167742013-01-03 22:36:04310 'tools/msvs/genfiles/node_etw_provider.rc',
311 'tools/msvs/genfiles/node_etw_provider.h',
312 'tools/msvs/genfiles/node_etw_providerTEMP.BIN',
Scott Blomquist953b0492012-10-25 23:51:46313 ],
Scott Blomquista6167742013-01-03 22:36:04314 'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ]
Igor Zinkovsky35a14212012-06-11 23:23:17315 }
316 ]
317 } ]
318 ]
319 },
Scott Blomquistf657ce62012-11-20 23:27:22320 # generate perf counter header and resource files
321 {
322 'target_name': 'node_perfctr',
323 'type': 'none',
324 'conditions': [
Scott Blomquist841b7f52012-12-21 08:06:21325 [ 'node_use_perfctr=="true" and node_has_winsdk=="true"', {
Scott Blomquistf657ce62012-11-20 23:27:22326 'actions': [
327 {
328 'action_name': 'node_perfctr_man',
329 'inputs': [ 'src/res/node_perfctr_provider.man' ],
330 'outputs': [
Scott Blomquista6167742013-01-03 22:36:04331 'tools/msvs/genfiles/node_perfctr_provider.h',
332 'tools/msvs/genfiles/node_perfctr_provider.rc',
333 'tools/msvs/genfiles/MSG00001.BIN',
Scott Blomquistf657ce62012-11-20 23:27:22334 ],
335 'action': [ 'ctrpp <@(_inputs) '
Scott Blomquista6167742013-01-03 22:36:04336 '-o tools/msvs/genfiles/node_perfctr_provider.h '
337 '-rc tools/msvs/genfiles/node_perfctr_provider.rc'
Scott Blomquistf657ce62012-11-20 23:27:22338 ]
339 },
340 ],
341 } ]
342 ]
343 },
Ryan Dahl4f3c8b32011-08-04 00:01:30344 {
345 'target_name': 'node_js2c',
346 'type': 'none',
347 'toolsets': ['host'],
Ryan Dahl4f3c8b32011-08-04 00:01:30348 'actions': [
349 {
350 'action_name': 'node_js2c',
351 'inputs': [
Ryan Dahl4f3c8b32011-08-04 00:01:30352 '<@(library_files)',
Nathan Rajlich95fd5172012-03-14 15:34:44353 './config.gypi',
Ryan Dahl4f3c8b32011-08-04 00:01:30354 ],
355 'outputs': [
356 '<(SHARED_INTERMEDIATE_DIR)/node_natives.h',
357 ],
Ryan Dahla979ab92011-08-04 23:40:07358 'conditions': [
Scott Blomquistf657ce62012-11-20 23:27:22359 [ 'node_use_dtrace=="false"'
360 ' and node_use_etw=="false"'
361 ' and node_use_systemtap=="false"',
Jan Wynholds06810b22012-10-09 22:09:07362 {
Scott Blomquistf657ce62012-11-20 23:27:22363 'inputs': ['src/macros.py']
364 }
Ryan Dahla979ab92011-08-04 23:40:07365 ],
Scott Blomquistf657ce62012-11-20 23:27:22366 [ 'node_use_perfctr=="false"', {
367 'inputs': [ 'src/perfctr_macros.py' ]
Ryan Dahla979ab92011-08-04 23:40:07368 }]
Peter Bright71333b32011-08-06 19:20:15369 ],
Scott Blomquistf657ce62012-11-20 23:27:22370 'action': [
371 '<(python)',
372 'tools/js2c.py',
373 '<@(_outputs)',
374 '<@(_inputs)',
375 ],
Ryan Dahl4f3c8b32011-08-04 00:01:30376 },
377 ],
378 }, # end node_js2c
Dave Pachecocc152992012-03-28 17:26:10379 {
380 'target_name': 'node_dtrace_header',
381 'type': 'none',
382 'conditions': [
383 [ 'node_use_dtrace=="true"', {
384 'actions': [
385 {
386 'action_name': 'node_dtrace_header',
387 'inputs': [ 'src/node_provider.d' ],
388 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
389 'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)',
390 '-o', '<@(_outputs)' ]
391 }
392 ]
393 } ]
394 ]
395 },
396 {
Jan Wynholds06810b22012-10-09 22:09:07397 'target_name': 'node_systemtap_header',
398 'type': 'none',
399 'conditions': [
400 [ 'node_use_systemtap=="true"', {
401 'actions': [
402 {
403 'action_name': 'node_systemtap_header',
404 'inputs': [ 'src/node_systemtap.d' ],
405 'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_systemtap.h' ],
406 'action': [ 'dtrace', '-h', '-C', '-s', '<@(_inputs)',
407 '-o', '<@(_outputs)' ]
408 }
409 ]
410 } ]
411 ]
412 },
413 {
Dave Pachecocc152992012-03-28 17:26:10414 'target_name': 'node_dtrace_provider',
415 'type': 'none',
416 'conditions': [
Dave Pachecoec69fcf2013-03-28 18:36:00417 [ 'node_use_dtrace=="true" and OS!="mac"', {
Dave Pachecocc152992012-03-28 17:26:10418 'actions': [
419 {
420 'action_name': 'node_dtrace_provider_o',
421 'inputs': [
422 'src/node_provider.d',
423 '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace.o'
424 ],
425 'outputs': [
426 '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace_provider.o'
427 ],
428 'action': [ 'dtrace', '-G', '-xnolibs', '-s', '<@(_inputs)',
429 '-o', '<@(_outputs)' ]
430 }
431 ]
432 } ]
433 ]
434 },
435 {
436 'target_name': 'node_dtrace_ustack',
437 'type': 'none',
438 'conditions': [
Dave Pachecoec69fcf2013-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': [
444 '<(PRODUCT_DIR)/obj.target/deps/v8/tools/gyp/libv8_base.a'
445 ],
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}