Generate and use assembly language files in WIN32 build.
authorDr. Stephen Henson <steve@openssl.org>
Tue, 24 Jul 2007 18:27:35 +0000 (18:27 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 24 Jul 2007 18:27:35 +0000 (18:27 +0000)
ms/do_fips.bat
ms/do_nasm.bat
util/mk1mf.pl
util/pl/VC-32.pl

index 36ef889834ad8aca14bf175044c125270f14e8fd..c30c15015a1139a70844a5cb37c8997fabb7975a 100644 (file)
@@ -10,6 +10,7 @@ echo Bignum
 cd crypto\bn\asm
 perl bn-586.pl win32n %ASMOPTS% > bn_win32.asm
 perl co-586.pl win32n %ASMOPTS% > co_win32.asm
+perl x86-mont.pl win32n %ASMOPTS% > mt_win32.asm
 cd ..\..\..
 
 echo AES
index 7a2fa4566303b87e2a6816c2ba050e7fcfee276c..040d4d5f98f7ed148ddfc18879aad688198dcc48 100755 (executable)
@@ -8,6 +8,7 @@ echo Bignum
 cd crypto\bn\asm
 perl bn-586.pl win32n %ASMOPTS% > bn_win32.asm
 perl co-586.pl win32n %ASMOPTS% > co_win32.asm
+perl x86-mont.pl win32n %ASMOPTS% > mt_win32.asm
 cd ..\..\..
 
 echo AES
index c4f49575ce70a4f75fd0d79ce13c597aad69e1e5..f80fc56f1aa0b442b91b6a46d67fc96acf1b29e6 100755 (executable)
@@ -794,7 +794,7 @@ foreach (values %lib_nam)
                {
                if ($cpuid_asm_obj ne "")
                        {
-                       $lib_obj =~ s/\s(\S*\/cryptlib\S*)/ $1 \$(CPUID_ASM_OBJ)/;
+                       $lib_obj =~ s/(\S*\/cryptlib\S*)/$1 \$(CPUID_ASM_OBJ)/;
                        $rules.=&do_asm_rule($cpuid_asm_obj,$cpuid_asm_src);
                        }
                if ($aes_asm_obj ne "")
@@ -882,7 +882,7 @@ foreach (split(/\s+/,$test))
        $t=&bname($_);
        my $ltype;
        # Check to see if test program is FIPS
-       if (/fips-1.0/)
+       if ($fips && /fips-1.0/)
                {
                # If fipsdso link to libosslfips.dll 
                # otherwise perform static link to 
index 6da2a31c15fa4b115a9f99635cd78f63c285cdcf..a67ddeb29d2e8223f0d38ae47f8e08150d3565c9 100644 (file)
@@ -190,8 +190,8 @@ if (!$no_asm)
        {
        $aes_asm_obj='crypto\aes\asm\a_win32.obj';
        $aes_asm_src='crypto\aes\asm\a_win32.asm';
-       $bn_asm_obj='crypto\bn\asm\bn_win32.obj';
-       $bn_asm_src='crypto\bn\asm\bn_win32.asm';
+       $bn_asm_obj='crypto\bn\asm\bn_win32.obj crypto\bn\asm\mt_win32.obj';
+       $bn_asm_src='crypto\bn\asm\bn_win32.asm crypto\bn\asm\mt_win32.asm';
        $bnco_asm_obj='crypto\bn\asm\co_win32.obj';
        $bnco_asm_src='crypto\bn\asm\co_win32.asm';
        $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj';
@@ -212,7 +212,7 @@ if (!$no_asm)
        $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm';
        $cpuid_asm_obj='crypto\cpu_win32.obj';
        $cpuid_asm_src='crypto\cpu_win32.asm';
-       $cflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
+       $cflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
        }
 
 if ($shlib && $FLAVOR !~ /CE/)