|
14 | 14 | 'node_shared_cares%': 'false', |
15 | 15 | 'node_shared_libuv%': 'false', |
16 | 16 | 'node_use_openssl%': 'true', |
17 | | - 'node_use_systemtap%': 'false', |
18 | 17 | 'node_shared_openssl%': 'false', |
19 | 18 | 'node_use_mdb%': 'false', |
20 | 19 | 'library_files': [ |
|
186 | 185 | 'dependencies': [ 'node_dtrace_header' ], |
187 | 186 | 'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ], |
188 | 187 | # |
189 | | - # DTrace is supported on solaris, mac, and bsd. There are three |
190 | | - # object files associated with DTrace support, but they're not all |
191 | | - # used all the time: |
| 188 | + # DTrace is supported on linux, solaris, mac, and bsd. There are |
| 189 | + # three object files associated with DTrace support, but they're |
| 190 | + # not all used all the time: |
192 | 191 | # |
193 | 192 | # node_dtrace.o all configurations |
194 | | - # node_dtrace_ustack.o not supported on OS X |
| 193 | + # node_dtrace_ustack.o not supported on mac and linux |
195 | 194 | # node_dtrace_provider.o All except OS X. "dtrace -G" is not |
196 | 195 | # used on OS X. |
197 | 196 | # |
|
202 | 201 | # below, and the GYP-generated Makefiles will properly build them when |
203 | 202 | # needed. |
204 | 203 | # |
205 | | - 'sources': [ |
206 | | - 'src/node_dtrace.cc', |
207 | | - ], |
208 | | - 'conditions': [ [ |
209 | | - 'OS!="mac"', { |
| 204 | + 'sources': [ 'src/node_dtrace.cc' ], |
| 205 | + 'conditions': [ |
| 206 | + [ 'OS=="linux"', { |
| 207 | + 'sources': [ |
| 208 | + '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o', |
| 209 | + '<(SHARED_INTERMEDIATE_DIR)/libuv_dtrace_provider.o', |
| 210 | + ], |
| 211 | + }], |
| 212 | + [ 'OS!="mac" and OS!="linux"', { |
210 | 213 | 'sources': [ |
211 | 214 | 'src/node_dtrace_ustack.cc', |
212 | 215 | 'src/node_dtrace_provider.cc', |
|
221 | 224 | 'src/node_mdb.cc', |
222 | 225 | ], |
223 | 226 | } ], |
224 | | - [ 'node_use_systemtap=="true"', { |
225 | | - 'defines': [ 'HAVE_SYSTEMTAP=1', 'STAP_SDT_V1=1' ], |
226 | | - 'sources': [ |
227 | | - 'src/node_dtrace.cc', |
228 | | - ], |
229 | | - } ], |
230 | 227 | [ 'node_use_etw=="true"', { |
231 | 228 | 'defines': [ 'HAVE_ETW=1' ], |
232 | 229 | 'dependencies': [ 'node_etw' ], |
|
387 | 384 | '<(SHARED_INTERMEDIATE_DIR)/node_natives.h', |
388 | 385 | ], |
389 | 386 | 'conditions': [ |
390 | | - [ 'node_use_dtrace=="false"' |
391 | | - ' and node_use_etw=="false"' |
392 | | - ' and node_use_systemtap=="false"', |
393 | | - { |
394 | | - 'inputs': ['src/notrace_macros.py'] |
| 387 | + [ 'node_use_dtrace=="false" and node_use_etw=="false"', { |
| 388 | + 'inputs': [ 'src/notrace_macros.py' ] |
395 | 389 | }], |
396 | 390 | [ 'node_use_perfctr=="false"', { |
397 | 391 | 'inputs': [ 'src/perfctr_macros.py' ] |
|
410 | 404 | 'target_name': 'node_dtrace_header', |
411 | 405 | 'type': 'none', |
412 | 406 | 'conditions': [ |
413 | | - [ 'node_use_dtrace=="true" or node_use_systemtap=="true"', { |
| 407 | + [ 'node_use_dtrace=="true"', { |
414 | 408 | 'actions': [ |
415 | 409 | { |
416 | 410 | 'action_name': 'node_dtrace_header', |
|
453 | 447 | 'target_name': 'node_dtrace_provider', |
454 | 448 | 'type': 'none', |
455 | 449 | 'conditions': [ |
456 | | - [ 'node_use_dtrace=="true" and OS!="mac"', { |
| 450 | + [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', { |
457 | 451 | 'actions': [ |
458 | 452 | { |
459 | 453 | 'action_name': 'node_dtrace_provider_o', |
|
469 | 463 | '-o', '<@(_outputs)' ] |
470 | 464 | } |
471 | 465 | ] |
472 | | - } ] |
| 466 | + }], |
| 467 | + [ 'node_use_dtrace=="true" and OS=="linux"', { |
| 468 | + 'actions': [ |
| 469 | + { |
| 470 | + 'action_name': 'node_dtrace_provider_o', |
| 471 | + 'inputs': [ 'src/node_provider.d' ], |
| 472 | + 'outputs': [ |
| 473 | + '<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o' |
| 474 | + ], |
| 475 | + 'action': [ |
| 476 | + 'dtrace', '-C', '-G', '-s', '<@(_inputs)', '-o', '<@(_outputs)' |
| 477 | + ], |
| 478 | + }, |
| 479 | + { |
| 480 | + 'action_name': 'libuv_dtrace_provider_o', |
| 481 | + 'inputs': [ 'deps/uv/src/unix/uv-dtrace.d' ], |
| 482 | + 'outputs': [ |
| 483 | + '<(SHARED_INTERMEDIATE_DIR)/libuv_dtrace_provider.o' |
| 484 | + ], |
| 485 | + 'action': [ |
| 486 | + 'dtrace', '-C', '-G', '-s', '<@(_inputs)', '-o', '<@(_outputs)' |
| 487 | + ], |
| 488 | + }, |
| 489 | + ], |
| 490 | + }], |
473 | 491 | ] |
474 | 492 | }, |
475 | 493 | { |
476 | 494 | 'target_name': 'node_dtrace_ustack', |
477 | 495 | 'type': 'none', |
478 | 496 | 'conditions': [ |
479 | | - [ 'node_use_dtrace=="true" and OS!="mac"', { |
| 497 | + [ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', { |
480 | 498 | 'actions': [ |
481 | 499 | { |
482 | 500 | 'action_name': 'node_dtrace_ustack_constants', |
|
0 commit comments