118 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
REM make-rdrand
 | 
						|
@echo OFF
 | 
						|
 | 
						|
@cls
 | 
						|
 | 
						|
@del rdrand.obj rdrand-x86.obj rdrand-x64.obj rdrand-x86.lib rdrand-x64.lib /Q > nul
 | 
						|
 | 
						|
REM Visual Studio 2005
 | 
						|
REM @set TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin
 | 
						|
REM @set TOOLS64=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\amd64
 | 
						|
 | 
						|
REM Visual Studio 2010
 | 
						|
REM @set TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 10\VC\bin
 | 
						|
REM @set TOOLS64=C:\Program Files (x86)\Microsoft Visual Studio 10\VC\bin\amd64
 | 
						|
 | 
						|
REM Visual Studio 2012
 | 
						|
REM @set TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin
 | 
						|
REM @set TOOLS64=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64
 | 
						|
 | 
						|
REM Visual Studio 2013
 | 
						|
@set TOOLS32=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
 | 
						|
@set TOOLS64=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
 | 
						|
 | 
						|
@set MASM="%TOOLS32%\ml.exe"
 | 
						|
@set MASM64="%TOOLS64%\ml64.exe"
 | 
						|
@set DUMPBIN="%TOOLS32%\dumpbin.exe"
 | 
						|
@set LIBTOOL="%TOOLS32%\lib.exe"
 | 
						|
 | 
						|
REM /W3 - Warning level
 | 
						|
REM /Cx - Preserve case in external symbols
 | 
						|
REM /Zi - Porgram Database information
 | 
						|
@set ASFLAGS=/nologo /D_M_X86 /W3 /Cx /Zi /safeseh
 | 
						|
@set ASFLAGS64=/nologo /D_M_X64 /W3 /Cx /Zi
 | 
						|
@set LIBFLAGS=/nologo /SUBSYSTEM:CONSOLE
 | 
						|
 | 
						|
REM Use _M_X86 and _M_X64 becuase cl.exe uses them. It keeps preprocessor defines consistent.
 | 
						|
echo ****************************************
 | 
						|
echo Assembling rdrand.asm into rdrand-x86.obj
 | 
						|
call %MASM% %ASFLAGS% /Fo rdrand-x86.obj /c rdrand.asm > nul
 | 
						|
@IF NOT %ERRORLEVEL% EQU 0 (echo   Failed to assemble rdrand.asm with X86 && goto SCRIPT_FAILED) 
 | 
						|
echo Done...
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Assembling rdrand.asm into rdrand-x64.obj
 | 
						|
call %MASM64% %ASFLAGS64% /Fo rdrand-x64.obj /c rdrand.asm > nul
 | 
						|
@IF NOT %ERRORLEVEL% EQU 0 (echo   Failed to assemble rdrand.asm with X64 && goto SCRIPT_FAILED) 
 | 
						|
echo Done...
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Creating static library rdrand-x86.lib
 | 
						|
call %LIBTOOL% %LIBFLAGS% /MACHINE:X86 /OUT:rdrand-x86.lib rdrand-x86.obj > nul
 | 
						|
@IF NOT %ERRORLEVEL% EQU 0 (echo   Failed to create rdrand-x86.lib && goto SCRIPT_FAILED) 
 | 
						|
echo Done...
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Creating static library rdrand-x64.lib
 | 
						|
call %LIBTOOL% %LIBFLAGS% /MACHINE:X64 /OUT:rdrand-x64.lib rdrand-x64.obj > nul
 | 
						|
@IF NOT %ERRORLEVEL% EQU 0 (echo   Failed to create rdrand-x64.lib && goto SCRIPT_FAILED) 
 | 
						|
echo Done...
 | 
						|
 | 
						|
goto SKIP_SYMBOL_DUMP_OBJ
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Dumping symbols for rdrand-x86.obj
 | 
						|
echo.
 | 
						|
call %DUMPBIN% /SYMBOLS rdrand-x86.obj
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Dumping symbols for rdrand-x64.obj
 | 
						|
echo.
 | 
						|
call %DUMPBIN% /SYMBOLS rdrand-x64.obj
 | 
						|
 | 
						|
:SKIP_SYMBOL_DUMP_OBJ
 | 
						|
 | 
						|
goto SKIP_SYMBOL_DUMP_LIB
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Dumping symbols for rdrand-x86.lib
 | 
						|
echo.
 | 
						|
call %DUMPBIN% /SYMBOLS rdrand-x86.lib
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Dumping symbols for rdrand-x64.lib
 | 
						|
echo.
 | 
						|
call %DUMPBIN% /SYMBOLS rdrand-x64.lib
 | 
						|
 | 
						|
:SKIP_SYMBOL_DUMP_LIB
 | 
						|
 | 
						|
goto SKIP_EXPORT_DUMP
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Dumping exports for rdrand-x86.lib
 | 
						|
echo.
 | 
						|
call %DUMPBIN% /EXPORTS rdrand-x86.lib
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Dumping exports for rdrand-x64.lib
 | 
						|
echo.
 | 
						|
call %DUMPBIN% /EXPORTS rdrand-x64.lib
 | 
						|
 | 
						|
:SKIP_EXPORT_DUMP
 | 
						|
 | 
						|
REM goto SKIP_DISASSEMBLY
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Disassembling rdrand-x64.obj
 | 
						|
echo.
 | 
						|
call %DUMPBIN% /DISASM:NOBYTES rdrand-x64.obj
 | 
						|
 | 
						|
echo ****************************************
 | 
						|
echo Disassembling rdrand-x86.obj
 | 
						|
echo.
 | 
						|
call %DUMPBIN% /DISASM:NOBYTES rdrand-x86.obj
 | 
						|
 | 
						|
:SKIP_DISASSEMBLY
 | 
						|
 | 
						|
:SCRIPT_FAILED
 |