summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Pacheco <dap@joyent.com>2013-03-28 11:36:00 -0700
committerisaacs <i@izs.me>2013-04-03 09:52:56 -0700
commitec69fcf4256dfe6b8c90e96e71c2dff570fd36c3 (patch)
tree8d7fb88b0260dbedab597786adbd0266932c3139
parent38106da7cddee38453a0c2393bd19e2d2bd6228b (diff)
downloadandroid-node-v8-ec69fcf4256dfe6b8c90e96e71c2dff570fd36c3.tar.gz
android-node-v8-ec69fcf4256dfe6b8c90e96e71c2dff570fd36c3.tar.bz2
android-node-v8-ec69fcf4256dfe6b8c90e96e71c2dff570fd36c3.zip
build: allow building with dtrace on osx
-rwxr-xr-xconfigure2
-rw-r--r--node.gyp34
2 files changed, 26 insertions, 10 deletions
diff --git a/configure b/configure
index a5a18e33da..09f3c40978 100755
--- a/configure
+++ b/configure
@@ -468,7 +468,7 @@ def configure_node(o):
# 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'
diff --git a/node.gyp b/node.gyp
index b07a1e0cab..fc7e2153f8 100644
--- a/node.gyp
+++ b/node.gyp
@@ -160,17 +160,33 @@
'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' ],
@@ -397,7 +413,7 @@
'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',
@@ -419,7 +435,7 @@
'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',