From a4c886e4c87c56dc9fb184f0e2992e95a29857d5 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Tue, 6 Dec 2005 16:35:40 +0000 Subject: [PATCH] Add cpuid code to VC++ build. --- ms/do_masm.bat | 5 +++++ ms/do_nasm.bat | 5 +++++ util/mk1mf.pl | 8 ++++++++ util/pl/VC-32.pl | 2 ++ 4 files changed, 20 insertions(+) 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"; } -- 2.39.2