Initial attempt at Whirlpool assembler support on VC++.
authorDr. Stephen Henson <steve@openssl.org>
Tue, 6 Dec 2005 02:04:58 +0000 (02:04 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 6 Dec 2005 02:04:58 +0000 (02:04 +0000)
ms/do_masm.bat
ms/do_nasm.bat
util/mk1mf.pl
util/pl/VC-32.pl

index 720d6f3..543840a 100755 (executable)
@@ -1,63 +1,68 @@
-@echo off\r
-echo Generating x86 for MASM assember\r
-\r
-echo Bignum\r
-cd crypto\bn\asm\r
-perl x86.pl win32 > bn_win32.asm\r
-cd ..\..\..\r
-\r
-echo DES\r
-cd crypto\des\asm\r
-perl des-586.pl win32 > d_win32.asm\r
-cd ..\..\..\r
-\r
-echo "crypt(3)"\r
-\r
-cd crypto\des\asm\r
-perl crypt586.pl win32 > y_win32.asm\r
-cd ..\..\..\r
-\r
-echo Blowfish\r
-\r
-cd crypto\bf\asm\r
-perl bf-586.pl win32 > b_win32.asm\r
-cd ..\..\..\r
-\r
-echo CAST5\r
-cd crypto\cast\asm\r
-perl cast-586.pl win32 > c_win32.asm\r
-cd ..\..\..\r
-\r
-echo RC4\r
-cd crypto\rc4\asm\r
-perl rc4-586.pl win32 > r4_win32.asm\r
-cd ..\..\..\r
-\r
-echo MD5\r
-cd crypto\md5\asm\r
-perl md5-586.pl win32 > m5_win32.asm\r
-cd ..\..\..\r
-\r
-echo SHA1\r
-cd crypto\sha\asm\r
-perl sha1-586.pl win32 > s1_win32.asm\r
-cd ..\..\..\r
-\r
-echo RIPEMD160\r
-cd crypto\ripemd\asm\r
-perl rmd-586.pl win32 > rm_win32.asm\r
-cd ..\..\..\r
-\r
-echo RC5\32\r
-cd crypto\rc5\asm\r
-perl rc5-586.pl win32 > r5_win32.asm\r
-cd ..\..\..\r
-\r
-echo on\r
-\r
-perl util\mkfiles.pl >MINFO\r
-perl util\mk1mf.pl VC-WIN32 >ms\nt.mak\r
-perl util\mk1mf.pl dll VC-WIN32 >ms\ntdll.mak\r
-\r
-perl util\mkdef.pl 32 libeay > ms\libeay32.def\r
-perl util\mkdef.pl 32 ssleay > ms\ssleay32.def\r
+@echo off
+echo Generating x86 for MASM assember
+
+echo Bignum
+cd crypto\bn\asm
+perl x86.pl win32 > bn_win32.asm
+cd ..\..\..
+
+echo DES
+cd crypto\des\asm
+perl des-586.pl win32 > d_win32.asm
+cd ..\..\..
+
+echo "crypt(3)"
+
+cd crypto\des\asm
+perl crypt586.pl win32 > y_win32.asm
+cd ..\..\..
+
+echo Blowfish
+
+cd crypto\bf\asm
+perl bf-586.pl win32 > b_win32.asm
+cd ..\..\..
+
+echo CAST5
+cd crypto\cast\asm
+perl cast-586.pl win32 > c_win32.asm
+cd ..\..\..
+
+echo RC4
+cd crypto\rc4\asm
+perl rc4-586.pl win32 > r4_win32.asm
+cd ..\..\..
+
+echo MD5
+cd crypto\md5\asm
+perl md5-586.pl win32 > m5_win32.asm
+cd ..\..\..
+
+echo SHA1
+cd crypto\sha\asm
+perl sha1-586.pl win32 > s1_win32.asm
+cd ..\..\..
+
+echo RIPEMD160
+cd crypto\ripemd\asm
+perl rmd-586.pl win32 > rm_win32.asm
+cd ..\..\..
+
+echo RC5\32
+cd crypto\rc5\asm
+perl rc5-586.pl win32 > r5_win32.asm
+cd ..\..\..
+
+echo Whirlpool
+cd crypto\whrlpool\asm
+perl wp-mmx.pl win32 > wp_win32.asm
+cd ..\..\..
+
+echo on
+
+perl util\mkfiles.pl >MINFO
+perl util\mk1mf.pl VC-WIN32 >ms\nt.mak
+perl util\mk1mf.pl dll VC-WIN32 >ms\ntdll.mak
+
+perl util\mkdef.pl 32 libeay > ms\libeay32.def
+perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
index 0b51f80..29a9589 100755 (executable)
@@ -1,65 +1,70 @@
-\r
-@echo off\r
-echo Generating x86 for NASM assember\r
-\r
-echo Bignum\r
-cd crypto\bn\asm\r
-perl x86.pl win32n > bn_win32.asm\r
-cd ..\..\..\r
-\r
-echo DES\r
-cd crypto\des\asm\r
-perl des-586.pl win32n > d_win32.asm\r
-cd ..\..\..\r
-\r
-echo "crypt(3)"\r
-\r
-cd crypto\des\asm\r
-perl crypt586.pl win32n > y_win32.asm\r
-cd ..\..\..\r
-\r
-echo Blowfish\r
-\r
-cd crypto\bf\asm\r
-perl bf-586.pl win32n > b_win32.asm\r
-cd ..\..\..\r
-\r
-echo CAST5\r
-cd crypto\cast\asm\r
-perl cast-586.pl win32n > c_win32.asm\r
-cd ..\..\..\r
-\r
-echo RC4\r
-cd crypto\rc4\asm\r
-perl rc4-586.pl win32n > r4_win32.asm\r
-cd ..\..\..\r
-\r
-echo MD5\r
-cd crypto\md5\asm\r
-perl md5-586.pl win32n > m5_win32.asm\r
-cd ..\..\..\r
-\r
-echo SHA1\r
-cd crypto\sha\asm\r
-perl sha1-586.pl win32n > s1_win32.asm\r
-cd ..\..\..\r
-\r
-echo RIPEMD160\r
-cd crypto\ripemd\asm\r
-perl rmd-586.pl win32n > rm_win32.asm\r
-cd ..\..\..\r
-\r
-echo RC5\32\r
-cd crypto\rc5\asm\r
-perl rc5-586.pl win32n > r5_win32.asm\r
-cd ..\..\..\r
-\r
-echo on\r
-\r
-perl util\mkfiles.pl >MINFO\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
-\r
-perl util\mkdef.pl 32 libeay > ms\libeay32.def\r
-perl util\mkdef.pl 32 ssleay > ms\ssleay32.def\r
+
+@echo off
+echo Generating x86 for NASM assember
+
+echo Bignum
+cd crypto\bn\asm
+perl x86.pl win32n > bn_win32.asm
+cd ..\..\..
+
+echo DES
+cd crypto\des\asm
+perl des-586.pl win32n > d_win32.asm
+cd ..\..\..
+
+echo "crypt(3)"
+
+cd crypto\des\asm
+perl crypt586.pl win32n > y_win32.asm
+cd ..\..\..
+
+echo Blowfish
+
+cd crypto\bf\asm
+perl bf-586.pl win32n > b_win32.asm
+cd ..\..\..
+
+echo CAST5
+cd crypto\cast\asm
+perl cast-586.pl win32n > c_win32.asm
+cd ..\..\..
+
+echo RC4
+cd crypto\rc4\asm
+perl rc4-586.pl win32n > r4_win32.asm
+cd ..\..\..
+
+echo MD5
+cd crypto\md5\asm
+perl md5-586.pl win32n > m5_win32.asm
+cd ..\..\..
+
+echo SHA1
+cd crypto\sha\asm
+perl sha1-586.pl win32n > s1_win32.asm
+cd ..\..\..
+
+echo RIPEMD160
+cd crypto\ripemd\asm
+perl rmd-586.pl win32n > rm_win32.asm
+cd ..\..\..
+
+echo RC5\32
+cd crypto\rc5\asm
+perl rc5-586.pl win32n > r5_win32.asm
+cd ..\..\..
+
+echo Whirlpool
+cd crypto\whrlpool\asm
+perl wp-mmx.pl win32n > wp_win32.asm
+cd ..\..\..
+
+echo on
+
+perl util\mkfiles.pl >MINFO
+perl util\mk1mf.pl nasm VC-WIN32 >ms\nt.mak
+perl util\mk1mf.pl dll nasm VC-WIN32 >ms\ntdll.mak
+perl util\mk1mf.pl nasm BC-NT >ms\bcb.mak
+
+perl util\mkdef.pl 32 libeay > ms\libeay32.def
+perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
index 25a3801..606e920 100755 (executable)
@@ -414,6 +414,8 @@ SHA1_ASM_OBJ=$sha1_asm_obj
 SHA1_ASM_SRC=$sha1_asm_src
 RMD160_ASM_OBJ=$rmd160_asm_obj
 RMD160_ASM_SRC=$rmd160_asm_src
+WHIRLPOOL_ASM_OBJ=$whirlpool_asm_obj
+WHIRLPOOL_ASM_SRC=$whirlpool_asm_src
 
 # The output directory for everything intersting
 OUT_D=$out_dir
@@ -657,6 +659,11 @@ foreach (values %lib_nam)
                $lib_obj =~ s/\s(\S*\/rmd_dgst\S*)/ $1 \$(RMD160_ASM_OBJ)/;
                $rules.=&do_asm_rule($rmd160_asm_obj,$rmd160_asm_src);
                }
+       if (($whirlpool_asm_obj ne "") && ($_ eq "CRYPTO"))
+               {
+               $lib_obj =~ s/\s(\S*\/wp_dgst\S*)/ $1 \$(WHIRLPOOL_ASM_OBJ)/;
+               $rules.=&do_asm_rule($whirlpool_asm_obj,$whirlpool_asm_src);
+               }
        $defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj);
        $lib=($slib)?" \$(SHLIB_CFLAGS)".$shlib_ex_cflags{$_}:" \$(LIB_CFLAGS)";
        $rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib);
@@ -840,6 +847,7 @@ sub do_defs
                elsif ($_ =~ /MD5_ASM/) { $t="$_ "; }
                elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; }
                elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; }
+               elsif ($_ =~ /WHIRLPOOL_ASM/){ $t="$_ "; }
                else    { $t="$location${o}$_$pf "; }
 
                $Vars{$var}.="$t ";
index 58bf993..bbdb537 100644 (file)
@@ -194,7 +194,9 @@ if (!$no_asm)
        $sha1_asm_src='crypto\sha\asm\s1_win32.asm';
        $rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj';
        $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm';
-       $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
+       $whirlpool_asm_obj='crypto\whrlpool\asm\wp_win32.obj';
+       $whirlpool_asm_src='crypto\whrlpool\asm\wp_win32.asm';
+       $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DWHIRLPOOL_ASM";
        }
 
 if ($shlib && $FLAVOR !~ /CE/)