{ '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 >= "2.26" or nasm_version >= "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'], }], ], }, ], }