node/deps/openssl/openssl.gyp
Ben Noordhuis 6f814013f4 build: fix version checks in gyp files
Make `distutils.version.StrictVersion` available as a helper to
gyp expressions so they can do proper version checks and update
the gyp files accordingly.

Caveat emptor: `StrictVersion` does *not* like empty strings so
this commit adds truthiness guards. The helper could deal with
those but I felt it better to make it explicit.

Fixes: https://github.com/nodejs/node/issues/29927

PR-URL: https://github.com/nodejs/node/pull/29931
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-13 16:20:22 -07:00

55 lines
1.9 KiB
Python

{
'variables': {
'gas_version%': '0.0',
'llvm_version%': '0.0',
'nasm_version%': '0.0',
},
'targets': [
{
'target_name': 'openssl',
'type': '<(library)',
'includes': ['./openssl_common.gypi'],
'defines': [
# Compile out hardware engines. Most are stubs that dynamically load
# the real driver but that poses a security liability when an attacker
# is able to create a malicious DLL in one of the default search paths.
'OPENSSL_NO_HW',
],
'conditions': [
[ 'openssl_no_asm==1', {
'includes': ['./openssl_no_asm.gypi'],
}, 'target_arch=="arm64" and OS=="win"', {
# VC-WIN64-ARM inherits from VC-noCE-common that has no asms.
'includes': ['./openssl_no_asm.gypi'],
}, 'gas_version and v(gas_version) >= v("2.26") or '
'nasm_version and v(nasm_version) >= v("2.11.8")', {
# Require AVX512IFMA supported. See
# https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_ia32cap.html
# Currently crypto/poly1305/asm/poly1305-x86_64.pl requires AVX512IFMA.
'includes': ['./openssl_asm.gypi'],
}, {
'includes': ['./openssl_asm_avx2.gypi'],
}],
],
'direct_dependent_settings': {
'include_dirs': [ 'openssl/include']
}
}, {
# openssl-cli target
'target_name': 'openssl-cli',
'type': 'executable',
'dependencies': ['openssl'],
'includes': ['./openssl_common.gypi'],
'conditions': [
['openssl_no_asm==1', {
'includes': ['./openssl-cl_no_asm.gypi'],
}, 'target_arch=="arm64" and OS=="win"', {
# VC-WIN64-ARM inherits from VC-noCE-common that has no asms.
'includes': ['./openssl-cl_no_asm.gypi'],
}, {
'includes': ['./openssl-cl_asm.gypi'],
}],
],
},
],
}