diff --git a/common.gypi b/common.gypi index 811a7b3da3d502..98d6f07048fb97 100644 --- a/common.gypi +++ b/common.gypi @@ -239,8 +239,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 b72133b98327d3..341ac34dce4c26 100644 --- a/node.gyp +++ b/node.gyp @@ -285,7 +285,9 @@ 'conditions': [ ['OS in "linux freebsd"', { 'ldflags': [ - '-Wl,--whole-archive <(PRODUCT_DIR)/<(OPENSSL_PRODUCT)', + '-Wl,--whole-archive,' + '<(PRODUCT_DIR)/obj.target/deps/openssl/' + '<(OPENSSL_PRODUCT)', '-Wl,--no-whole-archive', ], }],