0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-24 20:29:23 +01:00

deps, build: add support older assembler

Asm files for OpenSSL depends on the version of assembler.
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 needs the version of gas >= 2.23, llvm >= 3.3
or ml64 >= 12 as defined in
https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha512-x86_64.pl#L112-L129
, otherwise asm_obsolute are used.

We take MSVS_VERSION in gyp as a version check of assembler on
Windows because the path to ml64.exe was set after configure in
vcbuild.bat and executing ml64.exe was failed in configure.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
This commit is contained in:
Shigeki Ohtsu 2015-03-31 14:16:10 +09:00
parent 53924d8ebe
commit a1c9ef3142
5 changed files with 653 additions and 21 deletions

83
configure vendored
View File

@ -357,11 +357,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:
return match.group(2)
else:
return 0
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:
return match.group(1)
else:
return 0
# 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
@ -380,6 +432,15 @@ 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."""
@ -935,16 +996,6 @@ def configure_intl(o):
pprint.pformat(icu_config, indent=2) + '\n')
return # end of configure_intl
# Print a warning when the compiler is too old.
check_compiler()
# determine the "flavor" (operating system) we're building for,
# leveraging gyp's GetFlavor function
flavor_params = {}
if (options.dest_os):
flavor_params['flavor'] = options.dest_os
flavor = GetFlavor(flavor_params)
output = {
'variables': { 'python': sys.executable },
'include_dirs': [],
@ -953,6 +1004,16 @@ output = {
'cflags': [],
}
# Print a warning when the compiler is too old.
check_compiler(output)
# determine the "flavor" (operating system) we're building for,
# leveraging gyp's GetFlavor function
flavor_params = {}
if (options.dest_os):
flavor_params['flavor'] = options.dest_os
flavor = GetFlavor(flavor_params)
configure_node(output)
configure_libz(output)
configure_http_parser(output)

376
deps/openssl/asm_obsolete/Makefile vendored Normal file
View File

@ -0,0 +1,376 @@
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 clean
all: $(OUTPUTS)
# strip trailing whitespace and final blank newline
$(PERL) -pi -e 's/\s+$$/\n/; s/^\n$$// if eof' $^
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

View File

@ -5,6 +5,7 @@
'defines': [
'MONOLITH'
],
'includes': ['openssl.gypi'],
'sources': ['<@(openssl_cli_sources)'],
'conditions': [
['OS=="solaris"', {

View File

@ -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': [

View File

@ -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,63 @@
'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 assembler.
# We provide two sets of asm files, one is asm_latest(avx2 and
# addx supported) and the other asm_obsolete(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>="2012") or '
'llvm_version>="3.3" or gas_version>="2.23"', {
'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',