Skip to content

Commit

Permalink
add GYP support for DTrace probes
Browse files Browse the repository at this point in the history
  • Loading branch information
Dave Pacheco committed Mar 28, 2012
1 parent aaff8c3 commit 73cd7b4
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 8 deletions.
2 changes: 1 addition & 1 deletion configure
Expand Up @@ -108,7 +108,7 @@ parser.add_option("--shared-zlib-libname",
parser.add_option("--with-dtrace",
action="store_true",
dest="with_dtrace",
help="Build with DTrace (experimental)")
help="Build with DTrace")

# CHECKME does this still work with recent releases of V8?
parser.add_option("--gdb",
Expand Down
66 changes: 59 additions & 7 deletions node.gyp
Expand Up @@ -4,7 +4,7 @@
# Turn off -Werror in V8
# See http://codereview.chromium.org/8159015
'werror': '',
'node_use_dtrace': 'false',
'node_use_dtrace%': 'false',
'node_shared_v8%': 'false',
'node_shared_zlib%': 'false',
'node_use_openssl%': 'true',
Expand Down Expand Up @@ -136,13 +136,14 @@
}],

[ 'node_use_dtrace=="true"', {
'sources': [
'src/node_dtrace.cc',
'src/node_dtrace.h',
# why does node_provider.h get generated into src and not
# SHARED_INTERMEDIATE_DIR?
'src/node_provider.h',
'defines': [ 'HAVE_DTRACE=1' ],
'dependencies': [
'node_dtrace_provider_o'
],
'libraries': [
# generated implicitly by dependency
'<(PRODUCT_DIR)/obj.target/node/src/node_dtrace.o'
]
}],

[ 'node_shared_v8=="true"', {
Expand Down Expand Up @@ -252,6 +253,57 @@
},
],
}, # end node_js2c
{
'target_name': 'node_dtrace_o',
'type': 'static_library',
'dependencies': [ 'node_dtrace_provider_h' ],
'include_dirs': [
'src',
'<(SHARED_INTERMEDIATE_DIR)'
],
'defines': [ 'HAVE_DTRACE=1' ],
'sources': [
'<(SHARED_INTERMEDIATE_DIR)/node_provider.h',
'src/node_dtrace.cc'
'src/node_dtrace.h',
],
#'direct_dependent_settings': {
# 'libraries': [ '<(PRODUCT_DIR)/obj.target/node/src/node_dtrace.o' ]
#}
},
{
'target_name': 'node_dtrace_provider_h',
'type': 'none',
'actions': [
{
'action_name': 'node_dtrace_provider_h',
'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.h' ],
'inputs': [ 'src/node_provider.d' ],
'action': [ 'dtrace', '-h', '-xnolibs', '-s', '<@(_inputs)',
'-o', '<@(_outputs)' ]
}
]
},
{
'target_name': 'node_dtrace_provider_o',
'type': 'none',
'dependencies': [ 'node_dtrace_provider_h', 'node_dtrace_o' ],
'direct_dependent_settings': {
'libraries': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.o' ]
},
'actions': [
{
'action_name': 'node_dtrace_provider_o',
'outputs': [ '<(SHARED_INTERMEDIATE_DIR)/node_provider.o' ],
'inputs': [
'src/node_provider.d',
'<(PRODUCT_DIR)/obj.target/node/src/node_dtrace.o'
],
'action': [ 'dtrace', '-G', '-xnolibs', '-s', '<@(_inputs)',
'-o', '<@(_outputs)' ]
}
]
}
] # end targets
}

0 comments on commit 73cd7b4

Please sign in to comment.