build: turn on thin static archives
Thin archives were disabled in 2012 as a workaround (IIRC) for obsolete tooling on one of Joyent's platforms. The last binutils versions that didn't support them was released in 2007 so I think it's safe to assume we can drop support for that now - except on SmartOS, where the tooling still has a distinctive vintage feel to it. Thin archives save space - it shrinks the size of PRODUCT_DIR by 30% - and speed up the final linking step because it doesn't have to assemble 50 MB of static archives (twice! - first to create the archive, then to copy it to PRODUCT_DIR). The archives are just 3.5 MB now and no longer copied around. PR-URL: https://github.com/nodejs/node/pull/7957 Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
55852e1421
commit
e03a7b2a2b
@ -271,8 +271,9 @@
|
|||||||
'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++0x' ],
|
'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++0x' ],
|
||||||
'ldflags': [ '-rdynamic' ],
|
'ldflags': [ '-rdynamic' ],
|
||||||
'target_conditions': [
|
'target_conditions': [
|
||||||
['_type=="static_library"', {
|
# The 1990s toolchain on SmartOS can't handle thin archives.
|
||||||
'standalone_static_library': 1, # disable thin archive which needs binutils >= 2.19
|
['_type=="static_library" and OS=="solaris"', {
|
||||||
|
'standalone_static_library': 1,
|
||||||
}],
|
}],
|
||||||
],
|
],
|
||||||
'conditions': [
|
'conditions': [
|
||||||
|
4
node.gyp
4
node.gyp
@ -366,7 +366,9 @@
|
|||||||
'conditions': [
|
'conditions': [
|
||||||
['OS in "linux freebsd" and node_shared=="false"', {
|
['OS in "linux freebsd" and node_shared=="false"', {
|
||||||
'ldflags': [
|
'ldflags': [
|
||||||
'-Wl,--whole-archive <(PRODUCT_DIR)/<(OPENSSL_PRODUCT)',
|
'-Wl,--whole-archive,'
|
||||||
|
'<(PRODUCT_DIR)/obj.target/deps/openssl/'
|
||||||
|
'<(OPENSSL_PRODUCT)',
|
||||||
'-Wl,--no-whole-archive',
|
'-Wl,--no-whole-archive',
|
||||||
],
|
],
|
||||||
}],
|
}],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user