diff --git a/configure b/configure index e4148a7b491602..47b9fa313d63d2 100755 --- a/configure +++ b/configure @@ -349,11 +349,63 @@ def try_check_compiler(cc, lang): return (True, is_clang, clang_version, gcc_version) +# +# The version of asm compiler is needed for building openssl asm files. +# See deps/openssl/openssl.gypi for detail. +# Commands and reglar expressions to obtain its version number is taken from +# https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha512-x86_64.pl#L112-L129 +# +def get_llvm_version(cc): + try: + proc = subprocess.Popen(shlex.split(cc) + ['-v'], stdin=subprocess.PIPE, + stderr=subprocess.PIPE, stdout=subprocess.PIPE) + except OSError: + print '''Node.js configure error: No acceptable C compiler found! + + Please make sure you have a C compiler installed on your system and/or + consider adjusting the CC environment variable if you installed + it in a non-standard prefix. + ''' + sys.exit() + + match = re.search(r"(^clang version|based on LLVM) ([3-9])\.([0-9]+)", + proc.communicate()[1]) + + if match is None: + return 0 + else: + return int(match.group(2) + match.group(3)) + + +def get_gas_version(cc): + try: + proc = subprocess.Popen(shlex.split(cc) + ['-Wa,-v', '-c', '-o', + '/dev/null', '-x', + 'assembler', '/dev/null'], + stdin=subprocess.PIPE, stderr=subprocess.PIPE, + stdout=subprocess.PIPE) + except OSError: + print '''Node.js configure error: No acceptable C compiler found! + + Please make sure you have a C compiler installed on your system and/or + consider adjusting the CC environment variable if you installed + it in a non-standard prefix. + ''' + sys.exit() + + match = re.match(r"GNU assembler version ([2-9])\.([0-9]+)", + proc.communicate()[1]) + + if match is None: + return 0 + else: + return int(match.group(1) + match.group(2)) + # Note: Apple clang self-reports as clang 4.2.0 and gcc 4.2.1. It passes # the version check more by accident than anything else but a more rigorous # check involves checking the build number against a whitelist. I'm not # quite prepared to go that far yet. -def check_compiler(): +def check_compiler(o): if sys.platform == 'win32': return @@ -372,6 +424,14 @@ def check_compiler(): # to a version that is not completely ancient. warn('C compiler too old, need gcc 4.2 or clang 3.2 (CC=%s)' % CC) +# Need llvm_version or gas_version when openssl asm files are compiled + if options.without_ssl or options.openssl_no_asm or options.shared_openssl: + return + + if is_clang: + o['variables']['llvm_version'] = get_llvm_version(CC) + else: + o['variables']['gas_version'] = get_gas_version(CC) def cc_macros(): """Checks predefined macros using the CC command.""" @@ -945,8 +1005,16 @@ def configure_intl(o): pprint.pformat(icu_config, indent=2) + '\n') return # end of configure_intl +output = { + 'variables': { 'python': sys.executable }, + 'include_dirs': [], + 'libraries': [], + 'defines': [], + 'cflags': [], +} + # Print a warning when the compiler is too old. -check_compiler() +check_compiler(output) # determine the "flavor" (operating system) we're building for, # leveraging gyp's GetFlavor function @@ -955,14 +1023,6 @@ if (options.dest_os): flavor_params['flavor'] = options.dest_os flavor = GetFlavor(flavor_params) -output = { - 'variables': { 'python': sys.executable }, - 'include_dirs': [], - 'libraries': [], - 'defines': [], - 'cflags': [], -} - configure_node(output) configure_libz(output) configure_http_parser(output) diff --git a/deps/openssl/asm_obsolete/Makefile b/deps/openssl/asm_obsolete/Makefile new file mode 100644 index 00000000000000..d8fc9358d8cb23 --- /dev/null +++ b/deps/openssl/asm_obsolete/Makefile @@ -0,0 +1,377 @@ +SED ?= sed +PERL ?= perl +PERL += -I../openssl/crypto/perlasm -I../openssl/crypto/bn/asm + +# OPENSSL_IA32_SSE2 flag is needed for checking the sse2 feature on ia32 +# see https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha512-586.pl#L56 +SSE2 = -DOPENSSL_IA32_SSE2 + +# CC and ASM enviroments are not needed for generating obsoluted asm files +CC = '' +ASM = '' + +OUTPUTS = \ + x86-elf-gas/aes/aes-586.s \ + x86-elf-gas/aes/aesni-x86.s \ + x86-elf-gas/aes/vpaes-x86.s \ + x86-elf-gas/bf/bf-586.s \ + x86-elf-gas/bn/bn-586.s \ + x86-elf-gas/bn/co-586.s \ + x86-elf-gas/bn/x86-mont.s \ + x86-elf-gas/bn/x86-gf2m.s \ + x86-elf-gas/camellia/cmll-x86.s \ + x86-elf-gas/cast/cast-586.s \ + x86-elf-gas/des/crypt586.s \ + x86-elf-gas/des/des-586.s \ + x86-elf-gas/md5/md5-586.s \ + x86-elf-gas/rc4/rc4-586.s \ + x86-elf-gas/ripemd/rmd-586.s \ + x86-elf-gas/sha/sha1-586.s \ + x86-elf-gas/sha/sha256-586.s \ + x86-elf-gas/sha/sha512-586.s \ + x86-elf-gas/whrlpool/wp-mmx.s \ + x86-elf-gas/modes/ghash-x86.s \ + x86-elf-gas/x86cpuid.s \ + x64-elf-gas/aes/aes-x86_64.s \ + x64-elf-gas/aes/aesni-mb-x86_64.s \ + x64-elf-gas/aes/aesni-sha256-x86_64.s \ + x64-elf-gas/aes/aesni-x86_64.s \ + x64-elf-gas/aes/vpaes-x86_64.s \ + x64-elf-gas/aes/bsaes-x86_64.s \ + x64-elf-gas/aes/aesni-sha1-x86_64.s \ + x64-elf-gas/bn/rsaz-avx2.s \ + x64-elf-gas/bn/rsaz-x86_64.s \ + x64-elf-gas/bn/x86_64-mont.s \ + x64-elf-gas/bn/x86_64-mont5.s \ + x64-elf-gas/bn/x86_64-gf2m.s \ + x64-elf-gas/camellia/cmll-x86_64.s \ + x64-elf-gas/ec/ecp_nistz256-x86_64.s \ + x64-elf-gas/md5/md5-x86_64.s \ + x64-elf-gas/rc4/rc4-x86_64.s \ + x64-elf-gas/rc4/rc4-md5-x86_64.s \ + x64-elf-gas/sha/sha1-mb-x86_64.s \ + x64-elf-gas/sha/sha1-x86_64.s \ + x64-elf-gas/sha/sha256-mb-x86_64.s \ + x64-elf-gas/sha/sha256-x86_64.s \ + x64-elf-gas/sha/sha512-x86_64.s \ + x64-elf-gas/whrlpool/wp-x86_64.s \ + x64-elf-gas/modes/aesni-gcm-x86_64.s \ + x64-elf-gas/modes/ghash-x86_64.s \ + x64-elf-gas/x86_64cpuid.s \ + arm-void-gas/aes/aes-armv4.S \ + arm-void-gas/aes/bsaes-armv7.S \ + arm-void-gas/aes/aesv8-armx.S \ + arm-void-gas/bn/armv4-mont.S \ + arm-void-gas/bn/armv4-gf2m.S \ + arm-void-gas/sha/sha1-armv4-large.S \ + arm-void-gas/sha/sha256-armv4.S \ + arm-void-gas/sha/sha512-armv4.S \ + arm-void-gas/modes/ghash-armv4.S \ + arm-void-gas/modes/ghashv8-armx.S \ + arm64-linux64-gas/aes/aesv8-armx.S \ + arm64-linux64-gas/modes/ghashv8-armx.S \ + arm64-linux64-gas/sha/sha1-armv8.S \ + arm64-linux64-gas/sha/sha256-armv8.S \ + arm64-linux64-gas/sha/sha512-armv8.S \ + x86-macosx-gas/aes/aes-586.s \ + x86-macosx-gas/aes/aesni-x86.s \ + x86-macosx-gas/aes/vpaes-x86.s \ + x86-macosx-gas/bf/bf-586.s \ + x86-macosx-gas/bn/bn-586.s \ + x86-macosx-gas/bn/co-586.s \ + x86-macosx-gas/bn/x86-mont.s \ + x86-macosx-gas/bn/x86-gf2m.s \ + x86-macosx-gas/camellia/cmll-x86.s \ + x86-macosx-gas/cast/cast-586.s \ + x86-macosx-gas/des/crypt586.s \ + x86-macosx-gas/des/des-586.s \ + x86-macosx-gas/md5/md5-586.s \ + x86-macosx-gas/rc4/rc4-586.s \ + x86-macosx-gas/ripemd/rmd-586.s \ + x86-macosx-gas/sha/sha1-586.s \ + x86-macosx-gas/sha/sha256-586.s \ + x86-macosx-gas/sha/sha512-586.s \ + x86-macosx-gas/whrlpool/wp-mmx.s \ + x86-macosx-gas/modes/ghash-x86.s \ + x86-macosx-gas/x86cpuid.s \ + x64-macosx-gas/aes/aes-x86_64.s \ + x64-macosx-gas/aes/aesni-x86_64.s \ + x64-macosx-gas/aes/vpaes-x86_64.s \ + x64-macosx-gas/aes/aesni-mb-x86_64.s \ + x64-macosx-gas/aes/aesni-sha256-x86_64.s \ + x64-macosx-gas/aes/bsaes-x86_64.s \ + x64-macosx-gas/aes/aesni-sha1-x86_64.s \ + x64-macosx-gas/bn/rsaz-avx2.s \ + x64-macosx-gas/bn/rsaz-x86_64.s \ + x64-macosx-gas/bn/x86_64-mont.s \ + x64-macosx-gas/bn/x86_64-mont5.s \ + x64-macosx-gas/bn/x86_64-gf2m.s \ + x64-macosx-gas/camellia/cmll-x86_64.s \ + x64-macosx-gas/ec/ecp_nistz256-x86_64.s \ + x64-macosx-gas/md5/md5-x86_64.s \ + x64-macosx-gas/sha/sha1-mb-x86_64.s \ + x64-macosx-gas/sha/sha1-x86_64.s \ + x64-macosx-gas/sha/sha256-mb-x86_64.s \ + x64-macosx-gas/sha/sha256-x86_64.s \ + x64-macosx-gas/sha/sha512-x86_64.s \ + x64-macosx-gas/whrlpool/wp-x86_64.s \ + x64-macosx-gas/modes/aesni-gcm-x86_64.s \ + x64-macosx-gas/modes/ghash-x86_64.s \ + x64-macosx-gas/x86_64cpuid.s \ + x86-win32-masm/aes/aes-586.asm \ + x86-win32-masm/aes/aesni-x86.asm \ + x86-win32-masm/aes/vpaes-x86.asm \ + x86-win32-masm/bf/bf-586.asm \ + x86-win32-masm/bn/bn-586.asm \ + x86-win32-masm/bn/co-586.asm \ + x86-win32-masm/bn/x86-mont.asm \ + x86-win32-masm/bn/x86-gf2m.asm \ + x86-win32-masm/camellia/cmll-x86.asm \ + x86-win32-masm/cast/cast-586.asm \ + x86-win32-masm/des/crypt586.asm \ + x86-win32-masm/des/des-586.asm \ + x86-win32-masm/md5/md5-586.asm \ + x86-win32-masm/rc4/rc4-586.asm \ + x86-win32-masm/ripemd/rmd-586.asm \ + x86-win32-masm/sha/sha1-586.asm \ + x86-win32-masm/sha/sha256-586.asm \ + x86-win32-masm/sha/sha512-586.asm \ + x86-win32-masm/whrlpool/wp-mmx.asm \ + x86-win32-masm/modes/ghash-x86.asm \ + x86-win32-masm/x86cpuid.asm \ + x64-win32-masm/aes/aes-x86_64.asm \ + x64-win32-masm/aes/aesni-mb-x86_64.asm \ + x64-win32-masm/aes/aesni-sha256-x86_64.asm \ + x64-win32-masm/aes/aesni-x86_64.asm \ + x64-win32-masm/aes/vpaes-x86_64.asm \ + x64-win32-masm/aes/bsaes-x86_64.asm \ + x64-win32-masm/aes/aesni-sha1-x86_64.asm \ + x64-win32-masm/bn/rsaz-avx2.asm \ + x64-win32-masm/bn/rsaz-x86_64.asm \ + x64-win32-masm/bn/x86_64-mont.asm \ + x64-win32-masm/bn/x86_64-mont5.asm \ + x64-win32-masm/bn/x86_64-gf2m.asm \ + x64-win32-masm/camellia/cmll-x86_64.asm \ + x64-win32-masm/ec/ecp_nistz256-x86_64.asm \ + x64-win32-masm/md5/md5-x86_64.asm \ + x64-win32-masm/rc4/rc4-x86_64.asm \ + x64-win32-masm/rc4/rc4-md5-x86_64.asm \ + x64-win32-masm/sha/sha1-mb-x86_64.asm \ + x64-win32-masm/sha/sha1-x86_64.asm \ + x64-win32-masm/sha/sha256-mb-x86_64.asm \ + x64-win32-masm/sha/sha256-x86_64.asm \ + x64-win32-masm/sha/sha512-x86_64.asm \ + x64-win32-masm/whrlpool/wp-x86_64.asm \ + x64-win32-masm/modes/aesni-gcm-x86_64.asm \ + x64-win32-masm/modes/ghash-x86_64.asm \ + x64-win32-masm/x86_64cpuid.asm \ + +# sha512 asm files for x86_64 need 512 in the filenames for outputs +# so that we add new rules to generate sha512 asm files with +# specifying its filename in the second argument. See +# https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha512-x86_64.pl#L137-L149 + +x64-elf-gas/sha/sha512-%.s: + $(PERL) $< elf $@ + +x64-elf-gas/%.s: + $(PERL) $< elf > $@ + +arm-void-gas/%.S: + $(PERL) $< void > $@ + +arm64-linux64-gas/sha/sha512-%.S: + $(PERL) $< linux64 $@ + +arm64-linux64-gas/%.S: + $(PERL) $< linux64 > $@ + +x64-macosx-gas/sha/sha512-%.s: + $(PERL) $< macosx $@ + +x64-macosx-gas/%.s: + $(PERL) $< macosx > $@ + +x64-win32-masm/sha/sha512-%.asm: + $(PERL) $< masm $@ + +x64-win32-masm/%.asm: + $(PERL) $< masm > $@ + +x86-elf-gas/%.s: + $(PERL) $< elf $(SSE2) > $@ + +x86-macosx-gas/%.s: + $(PERL) $< macosx $(SSE2) > $@ + +x86-win32-masm/%.asm: + $(PERL) $< win32 $(SSE2) > $@ + +.PHONY: all + +all: $(OUTPUTS) + # strip trailing whitespace and final blank newline + $(SED) -sri -e 's/\s+$$/\n/' -e '$$ { /^$$/d }' $^ + +clean: + find . -iname '*.asm' -exec rm "{}" \; + find . -iname '*.s' -exec rm "{}" \; + find . -iname '*.S' -exec rm "{}" \; + + +x64-elf-gas/aes/aes-x86_64.s: ../openssl/crypto/aes/asm/aes-x86_64.pl +x64-elf-gas/aes/aesni-x86_64.s: ../openssl/crypto/aes/asm/aesni-x86_64.pl +x64-elf-gas/aes/aesni-mb-x86_64.s: ../openssl/crypto/aes/asm/aesni-mb-x86_64.pl +x64-elf-gas/aes/aesni-sha256-x86_64.s: ../openssl/crypto/aes/asm/aesni-sha256-x86_64.pl +x64-elf-gas/aes/vpaes-x86_64.s: ../openssl/crypto/aes/asm/vpaes-x86_64.pl +x64-elf-gas/aes/bsaes-x86_64.s: ../openssl/crypto/aes/asm/bsaes-x86_64.pl +x64-elf-gas/aes/aesni-sha1-x86_64.s: ../openssl/crypto/aes/asm/aesni-sha1-x86_64.pl +x64-elf-gas/bn/rsaz-avx2.s: ../openssl/crypto/bn/asm/rsaz-avx2.pl +x64-elf-gas/bn/rsaz-x86_64.s: ../openssl/crypto/bn/asm/rsaz-x86_64.pl +x64-elf-gas/bn/x86_64-mont.s: ../openssl/crypto/bn/asm/x86_64-mont.pl +x64-elf-gas/bn/x86_64-mont5.s: ../openssl/crypto/bn/asm/x86_64-mont5.pl +x64-elf-gas/bn/x86_64-gf2m.s: ../openssl/crypto/bn/asm/x86_64-gf2m.pl +x64-elf-gas/camellia/cmll-x86_64.s: ../openssl/crypto/camellia/asm/cmll-x86_64.pl +x64-elf-gas/ec/ecp_nistz256-x86_64.s: ../openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl +x64-elf-gas/md5/md5-x86_64.s: ../openssl/crypto/md5/asm/md5-x86_64.pl +x64-elf-gas/rc4/rc4-x86_64.s: ../openssl/crypto/rc4/asm/rc4-x86_64.pl +x64-elf-gas/rc4/rc4-md5-x86_64.s: ../openssl/crypto/rc4/asm/rc4-md5-x86_64.pl +x64-elf-gas/sha/sha1-mb-x86_64.s: ../openssl/crypto/sha/asm/sha1-mb-x86_64.pl +x64-elf-gas/sha/sha1-x86_64.s: ../openssl/crypto/sha/asm/sha1-x86_64.pl +x64-elf-gas/sha/sha512-x86_64.s: ../openssl/crypto/sha/asm/sha512-x86_64.pl +x64-elf-gas/sha/sha256-mb-x86_64.s: ../openssl/crypto/sha/asm/sha256-mb-x86_64.pl +x64-elf-gas/sha/sha256-x86_64.s: ../openssl/crypto/sha/asm/sha512-x86_64.pl +x64-elf-gas/whrlpool/wp-x86_64.s: ../openssl/crypto/whrlpool/asm/wp-x86_64.pl +x64-elf-gas/modes/aesni-gcm-x86_64.s: ../openssl/crypto/modes/asm/aesni-gcm-x86_64.pl +x64-elf-gas/modes/ghash-x86_64.s: ../openssl/crypto/modes/asm/ghash-x86_64.pl +x64-elf-gas/x86_64cpuid.s: ../openssl/crypto/x86_64cpuid.pl +x64-macosx-gas/aes/aes-x86_64.s: ../openssl/crypto/aes/asm/aes-x86_64.pl +x64-macosx-gas/aes/aesni-x86_64.s: ../openssl/crypto/aes/asm/aesni-x86_64.pl +x64-macosx-gas/aes/vpaes-x86_64.s: ../openssl/crypto/aes/asm/vpaes-x86_64.pl +x64-macosx-gas/aes/aesni-mb-x86_64.s: ../openssl/crypto/aes/asm/aesni-mb-x86_64.pl +x64-macosx-gas/aes/aesni-sha256-x86_64.s: ../openssl/crypto/aes/asm/aesni-sha256-x86_64.pl +x64-macosx-gas/aes/bsaes-x86_64.s: ../openssl/crypto/aes/asm/bsaes-x86_64.pl +x64-macosx-gas/aes/aesni-sha1-x86_64.s: ../openssl/crypto/aes/asm/aesni-sha1-x86_64.pl +x64-macosx-gas/bn/rsaz-avx2.s: ../openssl/crypto/bn/asm/rsaz-avx2.pl +x64-macosx-gas/bn/rsaz-x86_64.s: ../openssl/crypto/bn/asm/rsaz-x86_64.pl +x64-macosx-gas/bn/x86_64-mont.s: ../openssl/crypto/bn/asm/x86_64-mont.pl +x64-macosx-gas/bn/x86_64-mont5.s: ../openssl/crypto/bn/asm/x86_64-mont5.pl +x64-macosx-gas/bn/x86_64-gf2m.s: ../openssl/crypto/bn/asm/x86_64-gf2m.pl +x64-macosx-gas/camellia/cmll-x86_64.s: ../openssl/crypto/camellia/asm/cmll-x86_64.pl +x64-macosx-gas/ec/ecp_nistz256-x86_64.s: ../openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl +x64-macosx-gas/md5/md5-x86_64.s: ../openssl/crypto/md5/asm/md5-x86_64.pl +x64-macosx-gas/sha/sha1-x86_64.s: ../openssl/crypto/sha/asm/sha1-x86_64.pl +x64-macosx-gas/sha/sha1-mb-x86_64.s: ../openssl/crypto/sha/asm/sha1-mb-x86_64.pl +x64-macosx-gas/sha/sha256-mb-x86_64.s: ../openssl/crypto/sha/asm/sha256-mb-x86_64.pl +x64-macosx-gas/sha/sha256-x86_64.s: ../openssl/crypto/sha/asm/sha512-x86_64.pl +x64-macosx-gas/sha/sha512-x86_64.s: ../openssl/crypto/sha/asm/sha512-x86_64.pl +x64-macosx-gas/whrlpool/wp-x86_64.s: ../openssl/crypto/whrlpool/asm/wp-x86_64.pl +x64-macosx-gas/modes/aesni-gcm-x86_64.s: ../openssl/crypto/modes/asm/aesni-gcm-x86_64.pl +x64-macosx-gas/modes/ghash-x86_64.s: ../openssl/crypto/modes/asm/ghash-x86_64.pl +x64-macosx-gas/x86_64cpuid.s: ../openssl/crypto/x86_64cpuid.pl +x64-win32-masm/aes/aes-x86_64.asm: ../openssl/crypto/aes/asm/aes-x86_64.pl +x64-win32-masm/aes/aesni-x86_64.asm: ../openssl/crypto/aes/asm/aesni-x86_64.pl +x64-win32-masm/aes/aesni-mb-x86_64.asm: ../openssl/crypto/aes/asm/aesni-mb-x86_64.pl +x64-win32-masm/aes/aesni-sha256-x86_64.asm: ../openssl/crypto/aes/asm/aesni-sha256-x86_64.pl +x64-win32-masm/aes/vpaes-x86_64.asm: ../openssl/crypto/aes/asm/vpaes-x86_64.pl +x64-win32-masm/aes/bsaes-x86_64.asm: ../openssl/crypto/aes/asm/bsaes-x86_64.pl +x64-win32-masm/aes/aesni-sha1-x86_64.asm: ../openssl/crypto/aes/asm/aesni-sha1-x86_64.pl +x64-win32-masm/bn/rsaz-avx2.asm: ../openssl/crypto/bn/asm/rsaz-avx2.pl +x64-win32-masm/bn/rsaz-x86_64.asm: ../openssl/crypto/bn/asm/rsaz-x86_64.pl +x64-win32-masm/bn/x86_64-mont.asm: ../openssl/crypto/bn/asm/x86_64-mont.pl +x64-win32-masm/bn/x86_64-mont5.asm: ../openssl/crypto/bn/asm/x86_64-mont5.pl +x64-win32-masm/bn/x86_64-gf2m.asm: ../openssl/crypto/bn/asm/x86_64-gf2m.pl +x64-win32-masm/camellia/cmll-x86_64.asm: ../openssl/crypto/camellia/asm/cmll-x86_64.pl +x64-win32-masm/ec/ecp_nistz256-x86_64.asm: ../openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl +x64-win32-masm/md5/md5-x86_64.asm: ../openssl/crypto/md5/asm/md5-x86_64.pl +x64-win32-masm/rc4/rc4-x86_64.asm: ../openssl/crypto/rc4/asm/rc4-x86_64.pl +x64-win32-masm/rc4/rc4-md5-x86_64.asm: ../openssl/crypto/rc4/asm/rc4-md5-x86_64.pl +x64-win32-masm/sha/sha1-mb-x86_64.asm: ../openssl/crypto/sha/asm/sha1-mb-x86_64.pl +x64-win32-masm/sha/sha1-x86_64.asm: ../openssl/crypto/sha/asm/sha1-x86_64.pl +x64-win32-masm/sha/sha256-mb-x86_64.asm: ../openssl/crypto/sha/asm/sha256-mb-x86_64.pl +x64-win32-masm/sha/sha256-x86_64.asm: ../openssl/crypto/sha/asm/sha512-x86_64.pl +x64-win32-masm/sha/sha512-x86_64.asm: ../openssl/crypto/sha/asm/sha512-x86_64.pl +x64-win32-masm/whrlpool/wp-x86_64.asm: ../openssl/crypto/whrlpool/asm/wp-x86_64.pl +x64-win32-masm/modes/aesni-gcm-x86_64.asm: ../openssl/crypto/modes/asm/aesni-gcm-x86_64.pl +x64-win32-masm/modes/ghash-x86_64.asm: ../openssl/crypto/modes/asm/ghash-x86_64.pl +x64-win32-masm/x86_64cpuid.asm: ../openssl/crypto/x86_64cpuid.pl +x86-elf-gas/aes/aes-586.s: ../openssl/crypto/aes/asm/aes-586.pl +x86-elf-gas/aes/aesni-x86.s: ../openssl/crypto/aes/asm/aesni-x86.pl +x86-elf-gas/aes/vpaes-x86.s: ../openssl/crypto/aes/asm/vpaes-x86.pl +x86-elf-gas/bf/bf-586.s: ../openssl/crypto/bf/asm/bf-586.pl +x86-elf-gas/bn/bn-586.s: ../openssl/crypto/bn/asm/bn-586.pl +x86-elf-gas/bn/co-586.s: ../openssl/crypto/bn/asm/co-586.pl +x86-elf-gas/bn/x86-mont.s: ../openssl/crypto/bn/asm/x86-mont.pl +x86-elf-gas/bn/x86-gf2m.s: ../openssl/crypto/bn/asm/x86-gf2m.pl +x86-elf-gas/camellia/cmll-x86.s: ../openssl/crypto/camellia/asm/cmll-x86.pl +x86-elf-gas/cast/cast-586.s: ../openssl/crypto/cast/asm/cast-586.pl +x86-elf-gas/des/crypt586.s: ../openssl/crypto/des/asm/crypt586.pl +x86-elf-gas/des/des-586.s: ../openssl/crypto/des/asm/des-586.pl +x86-elf-gas/md5/md5-586.s: ../openssl/crypto/md5/asm/md5-586.pl +x86-elf-gas/rc4/rc4-586.s: ../openssl/crypto/rc4/asm/rc4-586.pl +x86-elf-gas/rc5/rc5-586.s: ../openssl/crypto/rc5/asm/rc5-586.pl +x86-elf-gas/ripemd/rmd-586.s: ../openssl/crypto/ripemd/asm/rmd-586.pl +x86-elf-gas/sha/sha1-586.s: ../openssl/crypto/sha/asm/sha1-586.pl +x86-elf-gas/sha/sha256-586.s: ../openssl/crypto/sha/asm/sha256-586.pl +x86-elf-gas/sha/sha512-586.s: ../openssl/crypto/sha/asm/sha512-586.pl +x86-elf-gas/whrlpool/wp-mmx.s: ../openssl/crypto/whrlpool/asm/wp-mmx.pl +x86-elf-gas/modes/ghash-x86.s: ../openssl/crypto/modes/asm/ghash-x86.pl +x86-elf-gas/x86cpuid.s: ../openssl/crypto/x86cpuid.pl +x86-macosx-gas/aes/aes-586.s: ../openssl/crypto/aes/asm/aes-586.pl +x86-macosx-gas/aes/aesni-x86.s: ../openssl/crypto/aes/asm/aesni-x86.pl +x86-macosx-gas/aes/vpaes-x86.s: ../openssl/crypto/aes/asm/vpaes-x86.pl +x86-macosx-gas/bf/bf-586.s: ../openssl/crypto/bf/asm/bf-686.pl +x86-macosx-gas/bn/bn-586.s: ../openssl/crypto/bn/asm/bn-586.pl +x86-macosx-gas/bn/co-586.s: ../openssl/crypto/bn/asm/co-586.pl +x86-macosx-gas/bn/x86-mont.s: ../openssl/crypto/bn/asm/x86-mont.pl +x86-macosx-gas/bn/x86-gf2m.s: ../openssl/crypto/bn/asm/x86-gf2m.pl +x86-macosx-gas/camellia/cmll-x86.s: ../openssl/crypto/camellia/asm/cmll-x86.pl +x86-macosx-gas/cast/cast-586.s: ../openssl/crypto/cast/asm/cast-586.pl +x86-macosx-gas/des/crypt586.s: ../openssl/crypto/des/asm/crypt586.pl +x86-macosx-gas/des/des-586.s: ../openssl/crypto/des/asm/des-586.pl +x86-macosx-gas/md5/md5-586.s: ../openssl/crypto/md5/asm/md5-586.pl +x86-macosx-gas/rc4/rc4-586.s: ../openssl/crypto/rc4/asm/rc4-586.pl +x86-macosx-gas/rc5/rc5-586.s: ../openssl/crypto/rc5/asm/rc5-586.pl +x86-macosx-gas/ripemd/rmd-586.s: ../openssl/crypto/ripemd/asm/rmd-586.pl +x86-macosx-gas/sha/sha1-586.s: ../openssl/crypto/sha/asm/sha1-586.pl +x86-macosx-gas/sha/sha256-586.s: ../openssl/crypto/sha/asm/sha256-586.pl +x86-macosx-gas/sha/sha512-586.s: ../openssl/crypto/sha/asm/sha512-586.pl +x86-macosx-gas/whrlpool/wp-mmx.s: ../openssl/crypto/whrlpool/asm/wp-mmx.pl +x86-macosx-gas/modes/ghash-x86.s: ../openssl/crypto/modes/asm/ghash-x86.pl +x86-macosx-gas/x86cpuid.s: ../openssl/crypto/x86cpuid.pl +x86-win32-masm/aes/aes-586.asm: ../openssl/crypto/aes/asm/aes-586.pl +x86-win32-masm/aes/aesni-x86.asm: ../openssl/crypto/aes/asm/aesni-x86.pl +x86-win32-masm/aes/vpaes-x86.asm: ../openssl/crypto/aes/asm/vpaes-x86.pl +x86-win32-masm/bf/bf-586.asm: ../openssl/crypto/bf/asm/bf-586.pl +x86-win32-masm/bn/bn-586.asm: ../openssl/crypto/bn/asm/bn-586.pl +x86-win32-masm/bn/co-586.asm: ../openssl/crypto/bn/asm/co-586.pl +x86-win32-masm/bn/x86-gf2m.asm: ../openssl/crypto/bn/asm/x86-gf2m.pl +x86-win32-masm/bn/x86-mont.asm: ../openssl/crypto/bn/asm/x86-mont.pl +x86-win32-masm/camellia/cmll-x86.asm: ../openssl/crypto/camellia/asm/cmll-x86.pl +x86-win32-masm/cast/cast-586.asm: ../openssl/crypto/cast/asm/cast-586.pl +x86-win32-masm/des/crypt586.asm: ../openssl/crypto/des/asm/crypt586.pl +x86-win32-masm/des/des-586.asm: ../openssl/crypto/des/asm/des-586.pl +x86-win32-masm/md5/md5-586.asm: ../openssl/crypto/md5/asm/md5-586.pl +x86-win32-masm/rc4/rc4-586.asm: ../openssl/crypto/rc4/asm/rc4-586.pl +x86-win32-masm/ripemd/rmd-586.asm: ../openssl/crypto/ripemd/asm/rmd-586.pl +x86-win32-masm/sha/sha1-586.asm: ../openssl/crypto/sha/asm/sha1-586.pl +x86-win32-masm/sha/sha256-586.asm: ../openssl/crypto/sha/asm/sha256-586.pl +x86-win32-masm/sha/sha512-586.asm: ../openssl/crypto/sha/asm/sha512-586.pl +x86-win32-masm/whrlpool/wp-mmx.asm: ../openssl/crypto/whrlpool/asm/wp-mmx.pl +x86-win32-masm/modes/ghash-x86.asm: ../openssl/crypto/modes/asm/ghash-x86.pl +x86-win32-masm/x86cpuid.asm: ../openssl/crypto/x86cpuid.pl +arm-void-gas/aes/aes-armv4.S: ../openssl/crypto/aes/asm/aes-armv4.pl +arm-void-gas/aes/bsaes-armv7.S: ../openssl/crypto/aes/asm/bsaes-armv7.pl +arm-void-gas/aes/aesv8-armx.S: ../openssl/crypto/aes/asm/aesv8-armx.pl +arm-void-gas/bn/armv4-mont.S: ../openssl/crypto/bn/asm/armv4-mont.pl +arm-void-gas/bn/armv4-gf2m.S: ../openssl/crypto/bn/asm/armv4-gf2m.pl +arm-void-gas/sha/sha1-armv4-large.S: ../openssl/crypto/sha/asm/sha1-armv4-large.pl +arm-void-gas/sha/sha512-armv4.S: ../openssl/crypto/sha/asm/sha512-armv4.pl +arm-void-gas/sha/sha256-armv4.S: ../openssl/crypto/sha/asm/sha256-armv4.pl +arm-void-gas/modes/ghash-armv4.S: ../openssl/crypto/modes/asm/ghash-armv4.pl +arm-void-gas/modes/ghashv8-armx.S: ../openssl/crypto/modes/asm/ghashv8-armx.pl +arm64-linux64-gas/aes/aesv8-armx.S: ../openssl/crypto/aes/asm/aesv8-armx.pl +arm64-linux64-gas/modes/ghashv8-armx.S: ../openssl/crypto/modes/asm/ghashv8-armx.pl +arm64-linux64-gas/sha/sha1-armv8.S: ../openssl/crypto/sha/asm/sha1-armv8.pl +arm64-linux64-gas/sha/sha256-armv8.S: ../openssl/crypto/sha/asm/sha512-armv8.pl +arm64-linux64-gas/sha/sha512-armv8.S: ../openssl/crypto/sha/asm/sha512-armv8.pl diff --git a/deps/openssl/openssl-cli.gypi b/deps/openssl/openssl-cli.gypi index c0d4a2a64493c6..1209d64e46dbc2 100644 --- a/deps/openssl/openssl-cli.gypi +++ b/deps/openssl/openssl-cli.gypi @@ -5,6 +5,7 @@ 'defines': [ 'MONOLITH' ], + 'includes': ['openssl.gypi'], 'sources': ['<@(openssl_cli_sources)'], 'conditions': [ ['OS=="solaris"', { diff --git a/deps/openssl/openssl.gyp b/deps/openssl/openssl.gyp index 6d8b10d6902bf0..5a3dc9b6c74210 100644 --- a/deps/openssl/openssl.gyp +++ b/deps/openssl/openssl.gyp @@ -6,13 +6,15 @@ 'variables': { 'is_clang': 0, 'gcc_version': 0, - 'openssl_no_asm%': 0 + 'openssl_no_asm%': 0, + 'llvm_version%': 0, + 'gas_version%': 0, }, - 'includes': ['openssl.gypi'], 'targets': [ { 'target_name': 'openssl', 'type': '<(library)', + 'includes': ['openssl.gypi'], 'sources': ['<@(openssl_sources)'], 'sources/': [ ['exclude', 'md2/.*$'], @@ -99,6 +101,7 @@ } ], 'target_defaults': { + 'includes': ['openssl.gypi'], 'include_dirs': ['<@(openssl_default_include_dirs)'], 'defines': ['<@(openssl_default_defines_all)'], 'conditions': [ diff --git a/deps/openssl/openssl.gypi b/deps/openssl/openssl.gypi index 4082e9bcce09dc..aab6aa54ff6ede 100644 --- a/deps/openssl/openssl.gypi +++ b/deps/openssl/openssl.gypi @@ -651,7 +651,7 @@ 'openssl/crypto/rc4/rc4_skey.c', 'openssl/crypto/whrlpool/wp_block.c' ], - 'openssl_sources_ia32_elf_gas': [ + 'openssl_sources_asm_latest_ia32_elf_gas': [ 'asm/x86-elf-gas/aes/aes-586.s', 'asm/x86-elf-gas/aes/aesni-x86.s', 'asm/x86-elf-gas/aes/vpaes-x86.s', @@ -673,9 +673,34 @@ 'asm/x86-elf-gas/whrlpool/wp-mmx.s', 'asm/x86-elf-gas/modes/ghash-x86.s', 'asm/x86-elf-gas/x86cpuid.s', + ], + 'openssl_sources_asm_obsolete_ia32_elf_gas': [ + 'asm_obsolete/x86-elf-gas/aes/aes-586.s', + 'asm_obsolete/x86-elf-gas/aes/aesni-x86.s', + 'asm_obsolete/x86-elf-gas/aes/vpaes-x86.s', + 'asm_obsolete/x86-elf-gas/bf/bf-586.s', + 'asm_obsolete/x86-elf-gas/bn/bn-586.s', + 'asm_obsolete/x86-elf-gas/bn/co-586.s', + 'asm_obsolete/x86-elf-gas/bn/x86-mont.s', + 'asm_obsolete/x86-elf-gas/bn/x86-gf2m.s', + 'asm_obsolete/x86-elf-gas/camellia/cmll-x86.s', + 'asm_obsolete/x86-elf-gas/cast/cast-586.s', + 'asm_obsolete/x86-elf-gas/des/crypt586.s', + 'asm_obsolete/x86-elf-gas/des/des-586.s', + 'asm_obsolete/x86-elf-gas/md5/md5-586.s', + 'asm_obsolete/x86-elf-gas/rc4/rc4-586.s', + 'asm_obsolete/x86-elf-gas/ripemd/rmd-586.s', + 'asm_obsolete/x86-elf-gas/sha/sha1-586.s', + 'asm_obsolete/x86-elf-gas/sha/sha256-586.s', + 'asm_obsolete/x86-elf-gas/sha/sha512-586.s', + 'asm_obsolete/x86-elf-gas/whrlpool/wp-mmx.s', + 'asm_obsolete/x86-elf-gas/modes/ghash-x86.s', + 'asm_obsolete/x86-elf-gas/x86cpuid.s', + ], + 'openssl_sources_common_ia32': [ 'openssl/crypto/whrlpool/wp_block.c' ], - 'openssl_sources_x64_elf_gas': [ + 'openssl_sources_asm_latest_x64_elf_gas': [ 'asm/x64-elf-gas/aes/aes-x86_64.s', 'asm/x64-elf-gas/aes/aesni-mb-x86_64.s', 'asm/x64-elf-gas/aes/aesni-sha256-x86_64.s', @@ -702,6 +727,36 @@ 'asm/x64-elf-gas/modes/aesni-gcm-x86_64.s', 'asm/x64-elf-gas/modes/ghash-x86_64.s', 'asm/x64-elf-gas/x86_64cpuid.s', + ], + 'openssl_sources_asm_obsolete_x64_elf_gas': [ + 'asm_obsolete/x64-elf-gas/aes/aes-x86_64.s', + 'asm_obsolete/x64-elf-gas/aes/aesni-mb-x86_64.s', + 'asm_obsolete/x64-elf-gas/aes/aesni-sha256-x86_64.s', + 'asm_obsolete/x64-elf-gas/aes/aesni-x86_64.s', + 'asm_obsolete/x64-elf-gas/aes/vpaes-x86_64.s', + 'asm_obsolete/x64-elf-gas/aes/bsaes-x86_64.s', + 'asm_obsolete/x64-elf-gas/aes/aesni-sha1-x86_64.s', + 'asm_obsolete/x64-elf-gas/bn/rsaz-avx2.s', + 'asm_obsolete/x64-elf-gas/bn/rsaz-x86_64.s', + 'asm_obsolete/x64-elf-gas/bn/x86_64-mont.s', + 'asm_obsolete/x64-elf-gas/bn/x86_64-mont5.s', + 'asm_obsolete/x64-elf-gas/bn/x86_64-gf2m.s', + 'asm_obsolete/x64-elf-gas/camellia/cmll-x86_64.s', + 'asm_obsolete/x64-elf-gas/ec/ecp_nistz256-x86_64.s', + 'asm_obsolete/x64-elf-gas/md5/md5-x86_64.s', + 'asm_obsolete/x64-elf-gas/rc4/rc4-x86_64.s', + 'asm_obsolete/x64-elf-gas/rc4/rc4-md5-x86_64.s', + 'asm_obsolete/x64-elf-gas/sha/sha1-mb-x86_64.s', + 'asm_obsolete/x64-elf-gas/sha/sha1-x86_64.s', + 'asm_obsolete/x64-elf-gas/sha/sha256-mb-x86_64.s', + 'asm_obsolete/x64-elf-gas/sha/sha256-x86_64.s', + 'asm_obsolete/x64-elf-gas/sha/sha512-x86_64.s', + 'asm_obsolete/x64-elf-gas/whrlpool/wp-x86_64.s', + 'asm_obsolete/x64-elf-gas/modes/aesni-gcm-x86_64.s', + 'asm_obsolete/x64-elf-gas/modes/ghash-x86_64.s', + 'asm_obsolete/x64-elf-gas/x86_64cpuid.s', + ], + 'openssl_sources_common_x64_elf_gas': [ # Non-generated asm 'openssl/crypto/bn/asm/x86_64-gcc.c', # No asm available @@ -714,7 +769,7 @@ 'openssl/crypto/ec/ecp_nistz256.c', 'openssl/crypto/ui/ui_compat.c' ], - 'openssl_sources_ia32_mac_gas': [ + 'openssl_sources_asm_latest_ia32_mac_gas': [ 'asm/x86-macosx-gas/aes/aes-586.s', 'asm/x86-macosx-gas/aes/aesni-x86.s', 'asm/x86-macosx-gas/aes/vpaes-x86.s', @@ -736,9 +791,31 @@ 'asm/x86-macosx-gas/whrlpool/wp-mmx.s', 'asm/x86-macosx-gas/modes/ghash-x86.s', 'asm/x86-macosx-gas/x86cpuid.s', - 'openssl/crypto/whrlpool/wp_block.c', ], - 'openssl_sources_x64_mac_gas': [ + 'openssl_sources_asm_obsolete_ia32_mac_gas': [ + 'asm_obsolete/x86-macosx-gas/aes/aes-586.s', + 'asm_obsolete/x86-macosx-gas/aes/aesni-x86.s', + 'asm_obsolete/x86-macosx-gas/aes/vpaes-x86.s', + 'asm_obsolete/x86-macosx-gas/bf/bf-586.s', + 'asm_obsolete/x86-macosx-gas/bn/bn-586.s', + 'asm_obsolete/x86-macosx-gas/bn/co-586.s', + 'asm_obsolete/x86-macosx-gas/bn/x86-mont.s', + 'asm_obsolete/x86-macosx-gas/bn/x86-gf2m.s', + 'asm_obsolete/x86-macosx-gas/camellia/cmll-x86.s', + 'asm_obsolete/x86-macosx-gas/cast/cast-586.s', + 'asm_obsolete/x86-macosx-gas/des/crypt586.s', + 'asm_obsolete/x86-macosx-gas/des/des-586.s', + 'asm_obsolete/x86-macosx-gas/md5/md5-586.s', + 'asm_obsolete/x86-macosx-gas/rc4/rc4-586.s', + 'asm_obsolete/x86-macosx-gas/ripemd/rmd-586.s', + 'asm_obsolete/x86-macosx-gas/sha/sha1-586.s', + 'asm_obsolete/x86-macosx-gas/sha/sha256-586.s', + 'asm_obsolete/x86-macosx-gas/sha/sha512-586.s', + 'asm_obsolete/x86-macosx-gas/whrlpool/wp-mmx.s', + 'asm_obsolete/x86-macosx-gas/modes/ghash-x86.s', + 'asm_obsolete/x86-macosx-gas/x86cpuid.s', + ], + 'openssl_sources_asm_latest_x64_mac_gas': [ 'asm/x64-macosx-gas/aes/aes-x86_64.s', 'asm/x64-macosx-gas/aes/aesni-x86_64.s', 'asm/x64-macosx-gas/aes/vpaes-x86_64.s', @@ -763,6 +840,34 @@ 'asm/x64-macosx-gas/modes/aesni-gcm-x86_64.s', 'asm/x64-macosx-gas/modes/ghash-x86_64.s', 'asm/x64-macosx-gas/x86_64cpuid.s', + ], + 'openssl_sources_asm_obsolete_x64_mac_gas': [ + 'asm_obsolete/x64-macosx-gas/aes/aes-x86_64.s', + 'asm_obsolete/x64-macosx-gas/aes/aesni-x86_64.s', + 'asm_obsolete/x64-macosx-gas/aes/vpaes-x86_64.s', + 'asm_obsolete/x64-macosx-gas/aes/aesni-mb-x86_64.s', + 'asm_obsolete/x64-macosx-gas/aes/aesni-sha256-x86_64.s', + 'asm_obsolete/x64-macosx-gas/aes/bsaes-x86_64.s', + 'asm_obsolete/x64-macosx-gas/aes/aesni-sha1-x86_64.s', + 'asm_obsolete/x64-macosx-gas/bn/rsaz-avx2.s', + 'asm_obsolete/x64-macosx-gas/bn/rsaz-x86_64.s', + 'asm_obsolete/x64-macosx-gas/bn/x86_64-mont.s', + 'asm_obsolete/x64-macosx-gas/bn/x86_64-mont5.s', + 'asm_obsolete/x64-macosx-gas/bn/x86_64-gf2m.s', + 'asm_obsolete/x64-macosx-gas/camellia/cmll-x86_64.s', + 'asm_obsolete/x64-macosx-gas/ec/ecp_nistz256-x86_64.s', + 'asm_obsolete/x64-macosx-gas/md5/md5-x86_64.s', + 'asm_obsolete/x64-macosx-gas/sha/sha1-mb-x86_64.s', + 'asm_obsolete/x64-macosx-gas/sha/sha1-x86_64.s', + 'asm_obsolete/x64-macosx-gas/sha/sha256-mb-x86_64.s', + 'asm_obsolete/x64-macosx-gas/sha/sha256-x86_64.s', + 'asm_obsolete/x64-macosx-gas/sha/sha512-x86_64.s', + 'asm_obsolete/x64-macosx-gas/whrlpool/wp-x86_64.s', + 'asm_obsolete/x64-macosx-gas/modes/aesni-gcm-x86_64.s', + 'asm_obsolete/x64-macosx-gas/modes/ghash-x86_64.s', + 'asm_obsolete/x64-macosx-gas/x86_64cpuid.s', + ], + 'openssl_sources_common_x64_mac_gas': [ # Non-generated asm 'openssl/crypto/bn/asm/x86_64-gcc.c', # No asm available @@ -831,7 +936,7 @@ 'openssl/crypto/armcap.c', 'openssl/crypto/arm64cpuid.S', ], - 'openssl_sources_ia32_win_masm': [ + 'openssl_sources_asm_ia32_win_masm': [ 'asm/x86-win32-masm/aes/aes-586.asm', 'asm/x86-win32-masm/aes/aesni-x86.asm', 'asm/x86-win32-masm/aes/vpaes-x86.asm', @@ -853,9 +958,8 @@ 'asm/x86-win32-masm/whrlpool/wp-mmx.asm', 'asm/x86-win32-masm/modes/ghash-x86.asm', 'asm/x86-win32-masm/x86cpuid.asm', - 'openssl/crypto/whrlpool/wp_block.c' ], - 'openssl_sources_x64_win_masm': [ + 'openssl_sources_asm_latest_x64_win_masm': [ 'asm/x64-win32-masm/aes/aes-x86_64.asm', 'asm/x64-win32-masm/aes/aesni-x86_64.asm', 'asm/x64-win32-masm/aes/aesni-mb-x86_64.asm', @@ -882,6 +986,36 @@ 'asm/x64-win32-masm/modes/aesni-gcm-x86_64.asm', 'asm/x64-win32-masm/modes/ghash-x86_64.asm', 'asm/x64-win32-masm/x86_64cpuid.asm', + ], + 'openssl_sources_asm_obsolete_x64_win_masm': [ + 'asm_obsolete/x64-win32-masm/aes/aes-x86_64.asm', + 'asm_obsolete/x64-win32-masm/aes/aesni-x86_64.asm', + 'asm_obsolete/x64-win32-masm/aes/aesni-mb-x86_64.asm', + 'asm_obsolete/x64-win32-masm/aes/aesni-sha256-x86_64.asm', + 'asm_obsolete/x64-win32-masm/aes/vpaes-x86_64.asm', + 'asm_obsolete/x64-win32-masm/aes/bsaes-x86_64.asm', + 'asm_obsolete/x64-win32-masm/aes/aesni-sha1-x86_64.asm', + 'asm_obsolete/x64-win32-masm/bn/rsaz-avx2.asm', + 'asm_obsolete/x64-win32-masm/bn/rsaz-x86_64.asm', + 'asm_obsolete/x64-win32-masm/bn/x86_64-mont.asm', + 'asm_obsolete/x64-win32-masm/bn/x86_64-mont5.asm', + 'asm_obsolete/x64-win32-masm/bn/x86_64-gf2m.asm', + 'asm_obsolete/x64-win32-masm/camellia/cmll-x86_64.asm', + 'asm_obsolete/x64-win32-masm/ec/ecp_nistz256-x86_64.asm', + 'asm_obsolete/x64-win32-masm/md5/md5-x86_64.asm', + 'asm_obsolete/x64-win32-masm/rc4/rc4-x86_64.asm', + 'asm_obsolete/x64-win32-masm/rc4/rc4-md5-x86_64.asm', + 'asm_obsolete/x64-win32-masm/sha/sha1-mb-x86_64.asm', + 'asm_obsolete/x64-win32-masm/sha/sha1-x86_64.asm', + 'asm_obsolete/x64-win32-masm/sha/sha256-mb-x86_64.asm', + 'asm_obsolete/x64-win32-masm/sha/sha256-x86_64.asm', + 'asm_obsolete/x64-win32-masm/sha/sha512-x86_64.asm', + 'asm_obsolete/x64-win32-masm/whrlpool/wp-x86_64.asm', + 'asm_obsolete/x64-win32-masm/modes/aesni-gcm-x86_64.asm', + 'asm_obsolete/x64-win32-masm/modes/ghash-x86_64.asm', + 'asm_obsolete/x64-win32-masm/x86_64cpuid.asm', + ], + 'openssl_sources_common_x64_win_masm': [ # No asm available 'openssl/crypto/bn/bn_asm.c', 'openssl/crypto/bf/bf_enc.c', @@ -893,6 +1027,62 @@ 'openssl/crypto/ec/ecp_nistz256.c', 'openssl/crypto/ui/ui_compat.c' ], + 'openssl_sources_ia32_win_masm': [ + '<@(openssl_sources_asm_ia32_win_masm)', + '<@(openssl_sources_common_ia32)', + ], + # + # Asm files are changed depending on the version of asm compiler. + # We provide two sets of asm files, one is asm_latest(avx2 and + # addx supported) and the other asm_obsolute(without avx1/2 and addx) + # The asm_latest follows the version as defined in + # https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/ec/asm/ecp_nistz256-avx2.pl#L45-L67 + # + 'conditions': [ + ['(OS=="win" and MSVS_VERSION[0:4]>="2012") or llvm_version>=33 or gas_version>=223', { + 'openssl_sources_x64_win_masm': [ + '<@(openssl_sources_asm_latest_x64_win_masm)', + '<@(openssl_sources_common_x64_win_masm)', + ], + 'openssl_sources_ia32_mac_gas': [ + '<@(openssl_sources_asm_latest_ia32_mac_gas)', + '<@(openssl_sources_common_ia32)', + ], + 'openssl_sources_x64_mac_gas': [ + '<@(openssl_sources_asm_latest_x64_mac_gas)', + '<@(openssl_sources_common_x64_mac_gas)', + ], + 'openssl_sources_ia32_elf_gas': [ + '<@(openssl_sources_asm_latest_ia32_elf_gas)', + '<@(openssl_sources_common_ia32)', + ], + 'openssl_sources_x64_elf_gas': [ + '<@(openssl_sources_asm_latest_x64_elf_gas)', + '<@(openssl_sources_common_x64_elf_gas)', + ], + }, { + 'openssl_sources_x64_win_masm': [ + '<@(openssl_sources_asm_obsolete_x64_win_masm)', + '<@(openssl_sources_common_x64_win_masm)', + ], + 'openssl_sources_ia32_mac_gas': [ + '<@(openssl_sources_asm_obsolete_ia32_mac_gas)', + '<@(openssl_sources_common_ia32)', + ], + 'openssl_sources_x64_mac_gas': [ + '<@(openssl_sources_asm_obsolete_x64_mac_gas)', + '<@(openssl_sources_common_x64_mac_gas)', + ], + 'openssl_sources_ia32_elf_gas': [ + '<@(openssl_sources_asm_obsolete_ia32_elf_gas)', + '<@(openssl_sources_common_ia32)', + ], + 'openssl_sources_x64_elf_gas': [ + '<@(openssl_sources_asm_obsolete_x64_elf_gas)', + '<@(openssl_sources_common_x64_elf_gas)', + ], + }] + ], 'openssl_cli_sources': [ 'openssl/apps/app_rand.c', 'openssl/apps/apps.c',