diff --git a/configure b/configure index ecd375a144..4751c0fc29 100755 --- a/configure +++ b/configure @@ -82,6 +82,11 @@ parser.add_option("--shared-openssl-libname", dest="shared_openssl_libname", help="Alternative lib name to link to (default: 'crypto,ssl')") +parser.add_option("--openssl-no-asm", + action="store_true", + dest="openssl_no_asm", + help="Do not build optimized assembly for OpenSSL") + # deprecated parser.add_option("--openssl-use-sys", action="store_true", @@ -609,6 +614,8 @@ def configure_v8(o): def configure_openssl(o): o['variables']['node_use_openssl'] = b(not options.without_ssl) o['variables']['node_shared_openssl'] = b(options.shared_openssl) + o['variables']['openssl_no_asm'] = ( + 1 if options.openssl_no_asm else 0) if options.without_ssl: return diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp index 5c654c9e1e..5d7880a558 100644 --- a/deps/openssl/openssl.gyp +++ b/deps/openssl/openssl.gyp @@ -6,6 +6,7 @@ 'variables': { 'is_clang': 0, 'gcc_version': 0, + 'openssl_no_asm%': 0 }, 'targets': [ @@ -651,7 +652,7 @@ ['exclude', 'store/.*$'] ], 'conditions': [ - ['target_arch!="ia32" and target_arch!="x64" and target_arch!="arm"', { + ['target_arch!="ia32" and target_arch!="x64" and target_arch!="arm" or openssl_no_asm!=0', { # Disable asm 'defines': [ 'OPENSSL_NO_ASM'