diff --git a/common.gypi b/common.gypi index ee31349eb0..01ab2def6e 100644 --- a/common.gypi +++ b/common.gypi @@ -271,8 +271,9 @@ 'cflags_cc': [ '-fno-rtti', '-fno-exceptions', '-std=gnu++0x' ], 'ldflags': [ '-rdynamic' ], 'target_conditions': [ - ['_type=="static_library"', { - 'standalone_static_library': 1, # disable thin archive which needs binutils >= 2.19 + # The 1990s toolchain on SmartOS can't handle thin archives. + ['_type=="static_library" and OS=="solaris"', { + 'standalone_static_library': 1, }], ], 'conditions': [ diff --git a/node.gyp b/node.gyp index 9f0645fe42..8704708088 100644 --- a/node.gyp +++ b/node.gyp @@ -366,7 +366,9 @@ 'conditions': [ ['OS in "linux freebsd" and node_shared=="false"', { 'ldflags': [ - '-Wl,--whole-archive <(PRODUCT_DIR)/<(OPENSSL_PRODUCT)', + '-Wl,--whole-archive,' + '<(PRODUCT_DIR)/obj.target/deps/openssl/' + '<(OPENSSL_PRODUCT)', '-Wl,--no-whole-archive', ], }],