| @echo off |
| |
| SET ASM=%1 |
| |
| if NOT X%PROCESSOR_ARCHITECTURE% == X goto defined |
| |
| echo Processor Architecture Undefined: defaulting to X86 |
| |
| goto X86 |
| |
| :defined |
| |
| if %PROCESSOR_ARCHITECTURE% == x86 goto X86 |
| |
| if %PROCESSOR_ARCHITECTURE% == IA64 goto IA64 |
| |
| if %PROCESSOR_ARCHITECTURE% == AMD64 goto AMD64 |
| |
| echo Processor Architecture Unrecognized: defaulting to X86 |
| |
| :X86 |
| echo Auto Configuring for X86 |
| |
| SET TARGET=VC-WIN32 |
| |
| if x%ASM% == xno-asm goto compile |
| echo Generating x86 for NASM assember |
| SET ASM=nasm |
| SET ASMOPTS=-DOPENSSL_IA32_SSE2 |
| |
| echo Bignum |
| cd crypto\bn\asm |
| perl bn-586.pl win32n %ASMOPTS% > bn_win32.asm |
| if ERRORLEVEL 1 goto error |
| perl co-586.pl win32n %ASMOPTS% > co_win32.asm |
| if ERRORLEVEL 1 goto error |
| perl mo-586.pl win32n %ASMOPTS% > mt_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo AES |
| cd crypto\aes\asm |
| perl aes-586.pl win32n %ASMOPTS% > a_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo DES |
| cd crypto\des\asm |
| perl des-586.pl win32n %ASMOPTS% > d_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo "crypt(3)" |
| |
| cd crypto\des\asm |
| perl crypt586.pl win32n %ASMOPTS% > y_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo Blowfish |
| |
| cd crypto\bf\asm |
| perl bf-586.pl win32n %ASMOPTS% > b_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo CAST5 |
| cd crypto\cast\asm |
| perl cast-586.pl win32n %ASMOPTS% > c_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo RC4 |
| cd crypto\rc4\asm |
| perl rc4-586.pl win32n %ASMOPTS% > r4_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo MD5 |
| cd crypto\md5\asm |
| perl md5-586.pl win32n %ASMOPTS% > m5_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo SHA1 |
| cd crypto\sha\asm |
| perl sha1-586.pl win32n %ASMOPTS% > s1_win32.asm |
| if ERRORLEVEL 1 goto error |
| perl sha512-sse2.pl win32n %ASMOPTS% > sha512-sse2.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo RIPEMD160 |
| cd crypto\ripemd\asm |
| perl rmd-586.pl win32n %ASMOPTS% > rm_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo RC5\32 |
| cd crypto\rc5\asm |
| perl rc5-586.pl win32n %ASMOPTS% > r5_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo CPU-ID |
| cd crypto |
| perl x86cpuid.pl win32n %ASMOPTS% > cpu_win32.asm |
| if ERRORLEVEL 1 goto error |
| cd .. |
| |
| goto compile |
| |
| :IA64 |
| |
| echo Auto Configuring for IA64 |
| SET TARGET=VC-WIN64I |
| perl ms\uplink.pl win64i > ms\uptable.asm |
| if ERRORLEVEL 1 goto error |
| ias -o ms\uptable.obj ms\uptable.asm |
| if ERRORLEVEL 1 goto error |
| |
| goto compile |
| |
| :AMD64 |
| |
| echo Auto Configuring for AMD64 |
| SET TARGET=VC-WIN64A |
| perl ms\uplink.pl win64a > ms\uptable.asm |
| if ERRORLEVEL 1 goto error |
| ml64 -c -Foms\uptable.obj ms\uptable.asm |
| if ERRORLEVEL 1 goto error |
| |
| if x%ASM% == xno-asm goto compile |
| echo Generating x86_64 for ML64 assember |
| SET ASM=ml64 |
| |
| echo Bignum |
| cd crypto\bn\asm |
| perl x86_64-mont.pl x86_64-mont.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo AES |
| cd crypto\aes\asm |
| perl aes-x86_64.pl aes-x86_64.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo SHA |
| cd crypto\sha\asm |
| perl sha1-x86_64.pl sha1-x86_64.asm |
| if ERRORLEVEL 1 goto error |
| perl sha512-x86_64.pl sha256-x86_64.asm |
| if ERRORLEVEL 1 goto error |
| perl sha512-x86_64.pl sha512-x86_64.asm |
| if ERRORLEVEL 1 goto error |
| cd ..\..\.. |
| |
| echo CPU-ID |
| cd crypto |
| perl x86_64cpuid.pl cpuid-x86_64.asm |
| if ERRORLEVEL 1 goto error |
| cd .. |
| |
| :compile |
| |
| perl Configure %TARGET% fipscanisterbuild |
| pause |
| |
| echo on |
| |
| perl util\mkfiles.pl >MINFO |
| @if ERRORLEVEL 1 goto error |
| perl util\mk1mf.pl dll %ASM% %TARGET% >ms\ntdll.mak |
| @if ERRORLEVEL 1 goto error |
| |
| perl util\mkdef.pl 32 libeay > ms\libeay32.def |
| @if ERRORLEVEL 1 goto error |
| perl util\mkdef.pl 32 ssleay > ms\ssleay32.def |
| @if ERRORLEVEL 1 goto error |
| |
| nmake -f ms\ntdll.mak clean |
| nmake -f ms\ntdll.mak |
| @if ERRORLEVEL 1 goto error |
| |
| @echo. |
| @echo. |
| @echo. |
| @echo *************************** |
| @echo ****FIPS BUILD SUCCESS***** |
| @echo *************************** |
| |
| @goto end |
| |
| :error |
| |
| @echo. |
| @echo. |
| @echo. |
| @echo *************************** |
| @echo ****FIPS BUILD FAILURE***** |
| @echo *************************** |
| |
| :end |