http://www.kernel.org/pub/software/devel/nasm/binaries/win32/
The NASM binary nasmw.exe needs to be installed anywhere on your PATH.
- Firstly you should run Configure:
+ Firstly you should run Configure (to build a FIPS-certified variant of
+ OpenSSL, add the option "fips"):
> perl Configure VC-WIN32
Next you need to build the Makefiles and optionally the assembly language
- files:
+ files (to build a FIPS-certified variant of OpenSSL, add the argument "fips"):
- If you are using MASM then run:
Borland C++ builder 5
---------------------
- * Configure for building with Borland Builder:
+ * Configure for building with Borland Builder (to build a FIPS-certified
+ variant of OpenSSL, add the option "fips"):
> perl Configure BC-32
- * Create the appropriate makefile
+ * Create the appropriate makefile (to build a FIPS-certified variant of
+ OpenSSL, add the argument "fips")
> ms\do_nasm
* Build
occur, try
> ms\mingw32 no-asm
instead.
+ If you want to build a FIPS-certified variant of OpenSSL, add the argument
+ "fips"
libcrypto.a and libssl.a are the static libraries. To use the DLLs,
link with libeay32.a and libssl32.a instead.
+rem use "fips" as the first argument to make a proper FIPS build.\r
+\r
@echo off\r
echo Generating x86 for MASM assember\r
\r
echo on\r
\r
perl util\mkfiles.pl >MINFO\r
-rem perl util\mk1mf.pl VC-MSDOS no-sock >ms\msdos.mak\r
-rem perl util\mk1mf.pl VC-W31-32 >ms\w31.mak\r
-perl util\mk1mf.pl dll VC-W31-32 >ms\w31dll.mak\r
-perl util\mk1mf.pl VC-WIN32 >ms\nt.mak\r
-perl util\mk1mf.pl dll VC-WIN32 >ms\ntdll.mak\r
+rem perl util\mk1mf.pl no-sock %1 VC-MSDOS >ms\msdos.mak\r
+rem perl util\mk1mf.pl %1 VC-W31-32 >ms\w31.mak\r
+perl util\mk1mf.pl dll %1 VC-W31-32 >ms\w31dll.mak\r
+perl util\mk1mf.pl %1 VC-WIN32 >ms\nt.mak\r
+perl util\mk1mf.pl dll %1 VC-WIN32 >ms\ntdll.mak\r
\r
perl util\mkdef.pl 16 libeay > ms\libeay16.def\r
perl util\mkdef.pl 32 libeay > ms\libeay32.def\r
\r
perl util\mkfiles.pl >MINFO\r
-rem perl util\mk1mf.pl VC-MSDOS no-sock >ms\msdos.mak\r
-rem perl util\mk1mf.pl VC-W31-32 >ms\w31.mak\r
-perl util\mk1mf.pl dll VC-W31-32 >ms\w31dll.mak\r
-perl util\mk1mf.pl no-asm VC-WIN32 >ms\nt.mak\r
-perl util\mk1mf.pl dll no-asm VC-WIN32 >ms\ntdll.mak\r
-perl util\mk1mf.pl no-asm VC-CE >ms\ce.mak\r
-perl util\mk1mf.pl dll no-asm VC-CE >ms\cedll.mak\r
+rem perl util\mk1mf.pl no-sock %1 VC-MSDOS >ms\msdos.mak\r
+rem perl util\mk1mf.pl %1 VC-W31-32 >ms\w31.mak\r
+perl util\mk1mf.pl dll %1 VC-W31-32 >ms\w31dll.mak\r
+perl util\mk1mf.pl no-asm %1 VC-WIN32 >ms\nt.mak\r
+perl util\mk1mf.pl dll no-asm %1 VC-WIN32 >ms\ntdll.mak\r
+perl util\mk1mf.pl no-asm %1 VC-CE >ms\ce.mak\r
+perl util\mk1mf.pl dll no-asm %1 VC-CE >ms\cedll.mak\r
\r
perl util\mkdef.pl 16 libeay > ms\libeay16.def\r
perl util\mkdef.pl 32 libeay > ms\libeay32.def\r
+rem use "fips" as the first argument to make a proper FIPS build.\r
\r
@echo off\r
echo Generating x86 for NASM assember\r
echo on\r
\r
perl util\mkfiles.pl >MINFO\r
-rem perl util\mk1mf.pl VC-MSDOS no-sock >ms\msdos.mak\r
-rem perl util\mk1mf.pl VC-W31-32 >ms\w31.mak\r
-perl util\mk1mf.pl dll VC-W31-32 >ms\w31dll.mak\r
-perl util\mk1mf.pl nasm VC-WIN32 >ms\nt.mak\r
-perl util\mk1mf.pl dll nasm VC-WIN32 >ms\ntdll.mak\r
-perl util\mk1mf.pl nasm BC-NT >ms\bcb.mak\r
+rem perl util\mk1mf.pl no-sock %1 VC-MSDOS >ms\msdos.mak\r
+rem perl util\mk1mf.pl %1 VC-W31-32 >ms\w31.mak\r
+perl util\mk1mf.pl dll %1 VC-W31-32 >ms\w31dll.mak\r
+perl util\mk1mf.pl nasm %1 VC-WIN32 >ms\nt.mak\r
+perl util\mk1mf.pl dll nasm %1 VC-WIN32 >ms\ntdll.mak\r
+perl util\mk1mf.pl nasm %1 BC-NT >ms\bcb.mak\r
\r
perl util\mkdef.pl 16 libeay > ms\libeay16.def\r
perl util\mkdef.pl 32 libeay > ms\libeay32.def\r
\r
perl util\mkfiles.pl >MINFO\r
-perl util\mk1mf.pl no-asm VC-NT >ms\nt.mak\r
-perl util\mk1mf.pl dll no-asm VC-NT >ms\ntdll.mak\r
+perl util\mk1mf.pl no-asm %1 VC-NT >ms\nt.mak\r
+perl util\mk1mf.pl dll no-asm %1 VC-NT >ms\ntdll.mak\r
\r
perl util\mkdef.pl libeay NT > ms\libeay32.def\r
perl util\mkdef.pl ssleay NT > ms\ssleay32.def\r
$asm='bcc -c -B -Tml';
$afile='/o';
-if ($no_asm)
+if ($no_asm || $fips)
{
$bn_asm_obj='';
$bn_asm_src='';
$bf_enc_obj='';
$bf_enc_src='';
-if (!$no_asm)
+if (!$no_asm && !$fips)
{
$bn_mulw_obj='crypto\bn\asm\bn_win32.obj';
$bn_mulw_src='crypto\bn\asm\bn_win32.asm';
else
{ $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -mcpu=i486 -Wall"; }
-if ($gaswin and !$no_asm)
+if ($gaswin and !$no_asm and !$fips)
{
$bn_asm_obj='$(OBJ_D)\bn-win32.o';
$bn_asm_src='crypto/bn/asm/bn-win32.s';
$bf_enc_obj="";
$bf_enc_src="";
-if (!$no_asm)
+if (!$no_asm && !$fips)
{
$bn_asm_obj="crypto/bn/asm/bn-os2$obj crypto/bn/asm/co-os2$obj";
$bn_asm_src="crypto/bn/asm/bn-os2.asm crypto/bn/asm/co-os2.asm";
$bf_enc_obj='';
$bf_enc_src='';
-if (!$no_asm)
+if (!$no_asm && !$fips)
{
if ($asmbits == 32)
{
$bf_enc_obj='';
$bf_enc_src='';
-if (!$no_asm)
+if (!$no_asm && !$fips)
{
$bn_asm_obj='crypto\bn\asm\bn_win32.obj';
$bn_asm_src='crypto\bn\asm\bn_win32.asm';
$cflags.=" -std1 -DL_ENDIAN";
-if (!$no_asm)
+if (!$no_asm && !$fips)
{
$bn_asm_obj='$(OBJ_D)/mips1.o';
$bn_asm_src='crypto/bn/asm/mips1.s';