Skip to content

Commit dd72f9c

Browse files
liqyanevanlucas
authored andcommitted
build: fix cctest target with --enable-static
Currently the cctest target build will fail if configured with --enable-static $ ./configure --enable-static $ make There're some function multiple definition errors such as: out/Release/obj.target/node/src/node_crypto.o: In function `node::crypto::RandomBytesWork(uv_work_s*)': node_crypto.cc:(.text+0x60): multiple definition of `node::crypto::RandomBytesWork(uv_work_s*)' out/Release/obj.target/node/src/node_crypto.o:node_crypto.cc:(.text+0x60): first defined here It's caused by repetition objects in libraries and libnode.a. This CL makes those libraries guarded by 'node_target_type!="static_library"'. PR-URL: #17992 Reviewed-By: Daniel Bevenius <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 8f8e747 commit dd72f9c

File tree

1 file changed

+29
-17
lines changed

1 file changed

+29
-17
lines changed

node.gyp

+29-17
Original file line numberDiff line numberDiff line change
@@ -855,11 +855,15 @@
855855
],
856856
}],
857857
[ 'node_use_openssl=="true"', {
858-
'libraries': [
859-
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto.<(OBJ_SUFFIX)',
860-
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto_bio.<(OBJ_SUFFIX)',
861-
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto_clienthello.<(OBJ_SUFFIX)',
862-
'<(OBJ_PATH)<(OBJ_SEPARATOR)tls_wrap.<(OBJ_SUFFIX)',
858+
'conditions': [
859+
['node_target_type!="static_library"', {
860+
'libraries': [
861+
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto.<(OBJ_SUFFIX)',
862+
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto_bio.<(OBJ_SUFFIX)',
863+
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_crypto_clienthello.<(OBJ_SUFFIX)',
864+
'<(OBJ_PATH)<(OBJ_SEPARATOR)tls_wrap.<(OBJ_SUFFIX)',
865+
],
866+
}],
863867
],
864868
'defines': [
865869
'HAVE_OPENSSL=1',
@@ -870,18 +874,22 @@
870874
'test/cctest/test_inspector_socket.cc',
871875
'test/cctest/test_inspector_socket_server.cc'
872876
],
873-
'libraries': [
874-
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_agent.<(OBJ_SUFFIX)',
875-
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_io.<(OBJ_SUFFIX)',
876-
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_js_api.<(OBJ_SUFFIX)',
877-
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_socket.<(OBJ_SUFFIX)',
878-
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_socket_server.<(OBJ_SUFFIX)',
877+
'conditions': [
878+
['node_target_type!="static_library"', {
879+
'libraries': [
880+
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_agent.<(OBJ_SUFFIX)',
881+
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_io.<(OBJ_SUFFIX)',
882+
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_js_api.<(OBJ_SUFFIX)',
883+
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_socket.<(OBJ_SUFFIX)',
884+
'<(OBJ_PATH)<(OBJ_SEPARATOR)inspector_socket_server.<(OBJ_SUFFIX)',
885+
],
886+
}],
879887
],
880888
'defines': [
881889
'HAVE_INSPECTOR=1',
882890
],
883891
}],
884-
[ 'node_use_dtrace=="true"', {
892+
[ 'node_use_dtrace=="true" and node_target_type!="static_library"', {
885893
'libraries': [
886894
'<(OBJ_PATH)<(OBJ_SEPARATOR)node_dtrace.<(OBJ_SUFFIX)',
887895
],
@@ -899,14 +907,18 @@
899907
}],
900908
],
901909
}],
902-
[ 'OS=="win"', {
910+
[ 'OS=="win" and node_target_type!="static_library"', {
903911
'libraries': [
904912
'<(OBJ_PATH)<(OBJ_SEPARATOR)backtrace_win32.<(OBJ_SUFFIX)',
905-
],
913+
],
906914
}, {
907-
'libraries': [
908-
'<(OBJ_PATH)<(OBJ_SEPARATOR)backtrace_posix.<(OBJ_SUFFIX)',
909-
],
915+
'conditions': [
916+
['node_target_type!="static_library"', {
917+
'libraries': [
918+
'<(OBJ_PATH)<(OBJ_SEPARATOR)backtrace_posix.<(OBJ_SUFFIX)',
919+
],
920+
}],
921+
],
910922
}],
911923
[ 'node_shared_zlib=="false"', {
912924
'dependencies': [

0 commit comments

Comments
 (0)