summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2005-12-06 16:35:40 +0000
committerDr. Stephen Henson <steve@openssl.org>2005-12-06 16:35:40 +0000
commita4c886e4c87c56dc9fb184f0e2992e95a29857d5 (patch)
tree174fb0fc393e1d21ede65c8f7618ca296d1cd293
parent1291dfdeaddf67e5b9f470147790495cc9c35efc (diff)
Add cpuid code to VC++ build.
-rwxr-xr-xms/do_masm.bat5
-rwxr-xr-xms/do_nasm.bat5
-rwxr-xr-xutil/mk1mf.pl8
-rw-r--r--util/pl/VC-32.pl2
4 files changed, 20 insertions, 0 deletions
diff --git a/ms/do_masm.bat b/ms/do_masm.bat
index 543840a3c5..15b379204e 100755
--- a/ms/do_masm.bat
+++ b/ms/do_masm.bat
@@ -58,6 +58,11 @@ cd crypto\whrlpool\asm
perl wp-mmx.pl win32 > wp_win32.asm
cd ..\..\..
+echo CPU-ID
+cd crypto
+perl x86cpuid.pl win32 > cpu_win32.asm
+cd ..
+
echo on
perl util\mkfiles.pl >MINFO
diff --git a/ms/do_nasm.bat b/ms/do_nasm.bat
index 29a95891c6..2ec17a3488 100755
--- a/ms/do_nasm.bat
+++ b/ms/do_nasm.bat
@@ -59,6 +59,11 @@ cd crypto\whrlpool\asm
perl wp-mmx.pl win32n > wp_win32.asm
cd ..\..\..
+echo CPU-ID
+cd crypto
+perl x86cpuid.pl win32n > cpu_win32.asm
+cd ..
+
echo on
perl util\mkfiles.pl >MINFO
diff --git a/util/mk1mf.pl b/util/mk1mf.pl
index 7f901ee934..6b3f1a03a1 100755
--- a/util/mk1mf.pl
+++ b/util/mk1mf.pl
@@ -416,6 +416,8 @@ RMD160_ASM_OBJ=$rmd160_asm_obj
RMD160_ASM_SRC=$rmd160_asm_src
WHIRLPOOL_ASM_OBJ=$whirlpool_asm_obj
WHIRLPOOL_ASM_SRC=$whirlpool_asm_src
+CPUID_ASM_OBJ=$cpuid_asm_obj
+CPUID_ASM_SRC=$cpuid_asm_src
# The output directory for everything intersting
OUT_D=$out_dir
@@ -664,6 +666,11 @@ foreach (values %lib_nam)
$lib_obj =~ s/\s(\S*\/wp_dgst\S*)/ $1 \$(WHIRLPOOL_ASM_OBJ)/;
$rules.=&do_asm_rule($whirlpool_asm_obj,$whirlpool_asm_src);
}
+ if (($cpuid_asm_obj ne "") && ($_ eq "CRYPTO"))
+ {
+ $lib_obj =~ s/\s(\S*\/cversion\S*)/ $1 \$(CPUID_ASM_OBJ)/;
+ $rules.=&do_asm_rule($cpuid_asm_obj,$cpuid_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);
@@ -848,6 +855,7 @@ sub do_defs
elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; }
elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; }
elsif ($_ =~ /WHIRLPOOL_ASM/){ $t="$_ "; }
+ elsif ($_ =~ /CPUID_ASM/){ $t="$_ "; }
else { $t="$location${o}$_$pf "; }
$Vars{$var}.="$t ";
diff --git a/util/pl/VC-32.pl b/util/pl/VC-32.pl
index bbdb537329..94a1e83011 100644
--- a/util/pl/VC-32.pl
+++ b/util/pl/VC-32.pl
@@ -196,6 +196,8 @@ if (!$no_asm)
$rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm';
$whirlpool_asm_obj='crypto\whrlpool\asm\wp_win32.obj';
$whirlpool_asm_src='crypto\whrlpool\asm\wp_win32.asm';
+ $cpuid_asm_obj='crypto\cpu_win32.obj';
+ $cpuid_asm_src='crypto\cpu_win32.asm';
$cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DWHIRLPOOL_ASM";
}