CryptoPkg: Use Openssl NASM for Windows host-based unit tests

The optimized NASM assembly files from Openssl project for
IA32/X64 assume a Windows calling convention. Those NASM
files must be used for both firmware builds where the
default compiler calling convention is the Windows calling
convention and host-based unit tests built using any of the
compilers supported in Windows environment.

All the VS20xx tool chains in the MSFT tool family use a
Windows calling convention. The CLANGPDB tool chain under
both Windows and Linux environments also use a Windows
calling convention. Set PcdOpensslLibAssemblySourceStyleNasm
to TRUE for these conditions.

Host-based unit tests built in a Windows environment also
use a Windows calling convention. If WIN_HOST_BUILD is set
indicating a Windows build environment and
HOST_BASED_UNIT_TESTING_ENABLED is also set indicating
host-based unit tests, then
PcdOpensslLibAssemblySourceStyleNasm must be set to TRUE.

Otherwise a Linux calling convention is assumed and
PcdOpensslLibAssemblySourceStyleNasm uses its DEC default
value of FALSE that uses the Openssl project optimized
.S files that assume a Linux calling convention.

Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
1 file changed