diff options
author | Fedor Indutny <fedor@indutny.com> | 2014-08-22 14:21:50 +0400 |
---|---|---|
committer | Fedor Indutny <fedor@indutny.com> | 2014-08-27 00:18:55 +0400 |
commit | ada85d73070b9a565a4a475be919bfae0c95db43 (patch) | |
tree | e34747812e07a863f76eb06db38cc36978340027 /deps/openssl/openssl.gyp | |
parent | 3122e0eae64c5ab494b29d0a9cadef902d93f1f9 (diff) | |
download | android-node-v8-ada85d73070b9a565a4a475be919bfae0c95db43.tar.gz android-node-v8-ada85d73070b9a565a4a475be919bfae0c95db43.tar.bz2 android-node-v8-ada85d73070b9a565a4a475be919bfae0c95db43.zip |
deps: enable ARM assembly for OpenSSL
fix #8062
Diffstat (limited to 'deps/openssl/openssl.gyp')
-rw-r--r-- | deps/openssl/openssl.gyp | 61 |
1 files changed, 45 insertions, 16 deletions
diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp index b3ae004103..5c654c9e1e 100644 --- a/deps/openssl/openssl.gyp +++ b/deps/openssl/openssl.gyp @@ -651,7 +651,7 @@ ['exclude', 'store/.*$'] ], 'conditions': [ - ['target_arch!="ia32" and target_arch!="x64"', { + ['target_arch!="ia32" and target_arch!="x64" and target_arch!="arm"', { # Disable asm 'defines': [ 'OPENSSL_NO_ASM' @@ -676,27 +676,32 @@ # Enable asm 'defines': [ 'AES_ASM', - 'VPAES_ASM', - 'BF_ASM', - 'BNCO_ASM', - 'BN_ASM', 'CPUID_ASM', - 'DES_ASM', - 'LIB_BN_ASM', - 'MD5_ASM', - 'OPENSSL_BN_ASM', 'OPENSSL_BN_ASM_MONT', 'OPENSSL_CPUID_OBJ', - 'RIP_ASM', - 'RMD160_ASM', 'SHA1_ASM', 'SHA256_ASM', 'SHA512_ASM', 'GHASH_ASM', - 'WHIRLPOOL_ASM', - 'WP_ASM' ], 'conditions': [ + # Extended assembly on non-arm platforms + ['target_arch!="arm"', { + 'defines': [ + 'VPAES_ASM', + 'BN_ASM', + 'BF_ASM', + 'BNCO_ASM', + 'DES_ASM', + 'LIB_BN_ASM', + 'MD5_ASM', + 'OPENSSL_BN_ASM', + 'RIP_ASM', + 'RMD160_ASM', + 'WHIRLPOOL_ASM', + 'WP_ASM', + ], + }], ['OS!="win" and OS!="mac" and target_arch=="ia32"', { 'sources': [ 'asm/x86-elf-gas/aes/aes-586.s', @@ -821,6 +826,33 @@ 'openssl/crypto/des/fcrypt_b.c' ] }], + ['target_arch=="arm"', { + 'sources': [ + 'asm/arm-elf-gas/aes/aes-armv4.s', + 'asm/arm-elf-gas/bn/armv4-mont.s', + 'asm/arm-elf-gas/bn/armv4-gf2m.s', + 'asm/arm-elf-gas/sha/sha1-armv4-large.s', + 'asm/arm-elf-gas/sha/sha512-armv4.s', + 'asm/arm-elf-gas/sha/sha256-armv4.s', + 'asm/arm-elf-gas/modes/ghash-armv4.s', + # No asm available + 'openssl/crypto/aes/aes_cbc.c', + 'openssl/crypto/bf/bf_enc.c', + 'openssl/crypto/bn/bn_asm.c', + 'openssl/crypto/cast/c_enc.c', + 'openssl/crypto/camellia/camellia.c', + 'openssl/crypto/camellia/cmll_cbc.c', + 'openssl/crypto/camellia/cmll_misc.c', + 'openssl/crypto/des/des_enc.c', + 'openssl/crypto/des/fcrypt_b.c', + 'openssl/crypto/rc4/rc4_enc.c', + 'openssl/crypto/rc4/rc4_skey.c', + 'openssl/crypto/whrlpool/wp_block.c', + # PCAP stuff + 'openssl/crypto/armcap.c', + 'openssl/crypto/armv4cpuid.S', + ] + }], ['OS=="win" and target_arch=="ia32"', { 'sources': [ 'asm/x86-win32-masm/aes/aes-586.asm', @@ -938,9 +970,6 @@ 'HAVE_DLFCN_H' ], }], - ['target_arch=="arm"', { - 'sources': ['openssl/crypto/armcap.c'], - }], ], 'include_dirs': [ '.', |