204 lines
3.8 KiB
Batchfile
204 lines
3.8 KiB
Batchfile
@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
|