Skip to content

Commit

Permalink
build: fix cctest target --with-dtrace
Browse files Browse the repository at this point in the history
Currently the cctest target will fail on linux when configured
--with-dtrace:

/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_SERVER_CONNECTION(
    v8::FunctionCallbackInfo<v8::Value> const&)':
node_dtrace.cc:(.text+0x103): undefined reference to
`node_net__server__connection_semaphore'
/node-v9.2.0/out/Release/obj.target/node/src/node_dtrace.o:
In function `node::DTRACE_NET_STREAM_END(
    v8::FunctionCallbackInfo<v8::Value> const&)':
...

This is because node_dtrace_provider.o is not linked by the cctest
target.

This commit tries to fix and simplify the conditions in cctest target
so that node_dtrace.o is included for all operating systems that support
dtrace, include node_dtrace_ustack.o for all operating systems except
mac and linux, and include node_dtrace_provider.o for all operating
systems except mac.

PR-URL: #17039
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  • Loading branch information
danbev authored and gibfahn committed Dec 19, 2017
1 parent 826e718 commit bb5a3aa
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions node.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -862,7 +862,20 @@
[ 'node_use_dtrace=="true"', {
'libraries': [
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace.<(OBJ_SUFFIX)',
]
],
'conditions': [
['OS!="mac" and OS!="linux"', {
'libraries': [
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace_provider.<(OBJ_SUFFIX)',
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace_ustack.<(OBJ_SUFFIX)',
]
}],
['OS=="linux"', {
'libraries': [
'<(SHARED_INTERMEDIATE_DIR)/node_dtrace_provider.o',
]
}],
],
}],
[ 'OS=="win"', {
'libraries': [
Expand All @@ -873,16 +886,6 @@
'<(OBJ_PATH)<(OBJ_SEPARATOR)backtrace_posix.<(OBJ_SUFFIX)',
],
}],
[ 'node_use_dtrace=="true" and OS!="mac" and OS!="linux"', {
'copies': [{
'destination': '<(OBJ_DIR)/cctest/src',
'files': [
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace_ustack.<(OBJ_SUFFIX)',
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace_provider.<(OBJ_SUFFIX)',
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace.<(OBJ_SUFFIX)',
]},
],
}],
[ 'node_shared_zlib=="false"', {
'dependencies': [
'deps/zlib/zlib.gyp:zlib',
Expand Down

0 comments on commit bb5a3aa

Please sign in to comment.