build: include the libuv and zlib into node
Add libuv and zlib into node executable and shared lib. Also fix an issue that openssl is not fully included in node executable for macOS. Signed-off-by: Yihong Wang <yh.wang@ibm.com> Fixes: https://github.com/nodejs/node/issues/17444 PR-URL: https://github.com/nodejs/node/pull/18383 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
6f8de31cde
commit
d161625c00
2
node.gyp
2
node.gyp
@ -234,7 +234,7 @@
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS in "linux freebsd openbsd solaris android"', {
|
||||
['OS!="aix"', {
|
||||
'ldflags': [
|
||||
'-Wl,--whole-archive,<(obj_dir)/<(STATIC_LIB_PREFIX)'
|
||||
'<(node_core_target_name)<(STATIC_LIB_SUFFIX)',
|
||||
|
62
node.gypi
62
node.gypi
@ -107,6 +107,32 @@
|
||||
}],
|
||||
[ 'node_shared_zlib=="false"', {
|
||||
'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
|
||||
'conditions': [
|
||||
[ 'force_load=="true"', {
|
||||
'xcode_settings': {
|
||||
'OTHER_LDFLAGS': [
|
||||
'-Wl,-force_load,<(PRODUCT_DIR)/<(STATIC_LIB_PREFIX)'
|
||||
'zlib<(STATIC_LIB_SUFFIX)',
|
||||
],
|
||||
},
|
||||
'msvs_settings': {
|
||||
'VCLinkerTool': {
|
||||
'AdditionalOptions': [
|
||||
'/WHOLEARCHIVE:<(PRODUCT_DIR)\\lib\\zlib<(STATIC_LIB_SUFFIX)',
|
||||
],
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS!="aix" and node_shared=="false"', {
|
||||
'ldflags': [
|
||||
'-Wl,--whole-archive,<(obj_dir)/deps/zlib/<(STATIC_LIB_PREFIX)'
|
||||
'zlib<(STATIC_LIB_SUFFIX)',
|
||||
'-Wl,--no-whole-archive',
|
||||
],
|
||||
}],
|
||||
],
|
||||
}],
|
||||
],
|
||||
}],
|
||||
|
||||
[ 'node_shared_http_parser=="false"', {
|
||||
@ -119,6 +145,32 @@
|
||||
|
||||
[ 'node_shared_libuv=="false"', {
|
||||
'dependencies': [ 'deps/uv/uv.gyp:libuv' ],
|
||||
'conditions': [
|
||||
[ 'force_load=="true"', {
|
||||
'xcode_settings': {
|
||||
'OTHER_LDFLAGS': [
|
||||
'-Wl,-force_load,<(PRODUCT_DIR)/<(STATIC_LIB_PREFIX)'
|
||||
'uv<(STATIC_LIB_SUFFIX)',
|
||||
],
|
||||
},
|
||||
'msvs_settings': {
|
||||
'VCLinkerTool': {
|
||||
'AdditionalOptions': [
|
||||
'/WHOLEARCHIVE:<(PRODUCT_DIR)\\lib\\libuv<(STATIC_LIB_SUFFIX)',
|
||||
],
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS!="aix" and node_shared=="false"', {
|
||||
'ldflags': [
|
||||
'-Wl,--whole-archive,<(obj_dir)/deps/uv/<(STATIC_LIB_PREFIX)'
|
||||
'uv<(STATIC_LIB_SUFFIX)',
|
||||
'-Wl,--no-whole-archive',
|
||||
],
|
||||
}],
|
||||
],
|
||||
}],
|
||||
],
|
||||
}],
|
||||
|
||||
[ 'node_shared_nghttp2=="false"', {
|
||||
@ -235,12 +287,18 @@
|
||||
'-Wl,-force_load,<(PRODUCT_DIR)/<(openssl_product)',
|
||||
],
|
||||
},
|
||||
'msvs_settings': {
|
||||
'VCLinkerTool': {
|
||||
'AdditionalOptions': [
|
||||
'/WHOLEARCHIVE:<(PRODUCT_DIR)\\lib\\<(openssl_product)',
|
||||
],
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS in "linux freebsd" and node_shared=="false"', {
|
||||
'ldflags': [
|
||||
'-Wl,--whole-archive,'
|
||||
'<(obj_dir)/deps/openssl/'
|
||||
'<(openssl_product)',
|
||||
'<(obj_dir)/deps/openssl/<(openssl_product)',
|
||||
'-Wl,--no-whole-archive',
|
||||
],
|
||||
}],
|
||||
|
Loading…
x
Reference in New Issue
Block a user