# By default, enable DTrace on SunOS systems. Don't allow it on other
# systems, since it won't work. (The MacOS build process is different than
# SunOS, and we haven't implemented it.)
- if sys.platform.startswith('sunos'):
+ if sys.platform.startswith('sunos') or sys.platform.startswith('darwin'):
o['variables']['node_use_dtrace'] = b(not options.without_dtrace)
elif sys.platform.startswith('linux'):
o['variables']['node_use_dtrace'] = 'false'
'dependencies': [ 'node_dtrace_header' ],
'include_dirs': [ '<(SHARED_INTERMEDIATE_DIR)' ],
#
- # node_dtrace_provider.cc and node_dtrace_ustack.cc do not actually
- # exist. They're here to trick GYP into linking the corresponding
- # object files into the final "node" executable. These files are
- # generated by "dtrace -G" using custom actions below, and the
- # GYP-generated Makefiles will properly build them when needed.
+ # DTrace is supported on solaris, mac, and bsd. There are three
+ # object files associated with DTrace support, but they're not all
+ # used all the time:
+ #
+ # node_dtrace.o all configurations
+ # node_dtrace_ustack.o not supported on OS X
+ # node_dtrace_provider.o All except OS X. "dtrace -G" is not
+ # used on OS X.
+ #
+ # Note that node_dtrace_provider.cc and node_dtrace_ustack.cc do not
+ # actually exist. They're listed here to trick GYP into linking the
+ # corresponding object files into the final "node" executable. These
+ # object files are generated by "dtrace -G" using custom actions
+ # below, and the GYP-generated Makefiles will properly build them when
+ # needed.
#
'sources': [
'src/node_dtrace.cc',
- 'src/node_dtrace_provider.cc',
- 'src/node_dtrace_ustack.cc',
],
+ 'conditions': [ [
+ 'OS!="mac"', {
+ 'sources': [
+ 'src/node_dtrace_ustack.cc',
+ 'src/node_dtrace_provider.cc',
+ ]
+ }
+ ] ]
} ],
[ 'node_use_systemtap=="true"', {
'defines': [ 'HAVE_SYSTEMTAP=1', 'STAP_SDT_V1=1' ],
'target_name': 'node_dtrace_provider',
'type': 'none',
'conditions': [
- [ 'node_use_dtrace=="true"', {
+ [ 'node_use_dtrace=="true" and OS!="mac"', {
'actions': [
{
'action_name': 'node_dtrace_provider_o',
'target_name': 'node_dtrace_ustack',
'type': 'none',
'conditions': [
- [ 'node_use_dtrace=="true"', {
+ [ 'node_use_dtrace=="true" and OS!="mac"', {
'actions': [
{
'action_name': 'node_dtrace_ustack_constants',