kvm-guest-drivers-windows
/
SDVTOOL.bat
279 строк · 9.2 Кб
1@ Echo off
2REM -----------------------------------------------------------------------
3REM Copyright (c) 2010-2017 Red Hat, Inc.
4REM
5REM Author(s):
6REM Miki Mishael <mikim@daynix.com>
7REM
8REM Redistribution and use in source and binary forms, with or without
9REM modification, are permitted provided that the following conditions
10REM are met :
11REM 1. Redistributions of source code must retain the above copyright
12REM notice, this list of conditions and the following disclaimer.
13REM 2. Redistributions in binary form must reproduce the above copyright
14REM notice, this list of conditions and the following disclaimer in the
15REM documentation and / or other materials provided with the distribution.
16REM 3. Neither the names of the copyright holders nor the names of their contributors
17REM may be used to endorse or promote products derived from this software
18REM without specific prior written permission.
19REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
20REM ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21REM IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22REM ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
23REM FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24REM DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREM ENT OF SUBSTITUTE GOODS
25REM OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26REM HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27REM LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28REM OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29REM SUCH DAMAGE.
30REM -----------------------------------------------------------------------
31
32Rem This script was made to run Static Driver Verifier.
33Rem This script was Tested only on Windows 2008R2 and visual studio 2012.
34Rem ver SdvTool 1.0.0.0
35
36REM for running auto from build system use without any parameters.
37SETLOCAL
38IF "%~1"=="" ( SET var=1)
39IF "%~1"=="" ( Goto PRERUN)
40
41:Menu
42cls
43COLOR 0B
44Echo.
45Echo.= Menu ================= Ver 1.0.0.0 ===================
46Echo.
47Echo Please choose which operation would you like to Verify:
48Echo.
49Echo (1): Verify All Projects (ALL Configurations)
50Echo (2): Verify NetKVM (ALL Configurations)
51Echo (3): Verify Vioserial (ALL Configurations)
52Echo (4): Verify Balloon (ALL Configurations)
53Echo (5): Verify Vioscsi (ALL Configurations)
54Echo (6): Verify Viostor (ALL Configurations)
55Echo (7): Quit
56Echo.
57Echo ========================================================
58Echo.
59Echo Please choose which operation you would like to Verify,Then enter.
60Echo E.g: 1 "Enter":
61Echo.
62
63SET /P var=[Choose Verify:]
64Echo.
65if "%var%"=="7" (
66Goto End
67)
68if "%var%"=="1" ( Goto PRERUN)
69if "%var%"=="2" ( Goto PRERUN)
70if "%var%"=="3" ( Goto PRERUN)
71if "%var%"=="4" ( Goto PRERUN)
72if "%var%"=="5" ( Goto PRERUN)
73if "%var%"=="6" ( Goto PRERUN)
74
75Echo *******************************************************************
76Echo * Wrong Operation Argument, Please Try Again in 5 sec ... *
77Echo *******************************************************************
78Ping -n 5 127.0.0.1 > NUL
79Goto Menu
80
81:PRERUN
82Rem *******************************************************************
83Rem Init all parameters
84Rem *******************************************************************
85SET ROOT_PATH=%~dp0
86SET all=
87SET err=0
88SET /A cnt=2
89SET parm1=
90SET parm2=
91SET parm3=
92SET parm4=
93Rem *******************************************************************
94
95Rem *******************************************************************
96Rem Build VirtIO
97Rem *******************************************************************
98COLOR
99cd VirtIO
100call buildAll.bat
101cd ..
102Rem *******************************************************************
103Rem NetKVM Vioserial Balloon Vioscsi Viostor
104Rem *******************************************************************
105:Var
106if "%var%"=="1" ( Goto Process)
107if "%var%"=="2" ( Goto NetKVM)
108if "%var%"=="3" ( Goto Vioserial)
109if "%var%"=="4" ( Goto Balloon)
110if "%var%"=="5" ( Goto Vioscsi)
111if "%var%"=="6" ( Goto Viostor)
112
113Echo = Variables ============================================
114Echo.
115Rem *****************************************************************************
116Rem Set PROJECT_XML_PATH, PROJECT_DIR_PATH PROJECT_NAME, ROOT_PATH for RunSdv.bat
117Rem *****************************************************************************
118
119:NetKVM
120SET PROJECT_XML_PATH=%ROOT_PATH%"NetKVM\NetKVM.vcxproj"
121SET PROJECT_DIR_PATH=%ROOT_PATH%"NetKVM"
122SET PROJECT_NAME="NetKVM"
123Goto SetParam
124
125:Vioserial
126SET PROJECT_XML_PATH=%ROOT_PATH%"vioserial\sys\vioser.vcxproj"
127SET PROJECT_DIR_PATH=%ROOT_PATH%"vioserial\sys"
128SET PROJECT_NAME="vioser"
129Goto SetParam
130
131:Balloon
132SET PROJECT_XML_PATH=%ROOT_PATH%"balloon\sys\balloon.vcxproj"
133SET PROJECT_DIR_PATH=%ROOT_PATH%"balloon\sys"
134SET PROJECT_NAME="balloon"
135Goto SetParam
136
137:Vioscsi
138SET PROJECT_XML_PATH=%ROOT_PATH%"vioscsi\vioscsi.vcxproj"
139SET PROJECT_DIR_PATH=%ROOT_PATH%"vioscsi"
140SET PROJECT_NAME="vioscsi"
141Goto SetParam
142
143:Viostor
144SET PROJECT_XML_PATH=%ROOT_PATH%"viostor\viostor.vcxproj"
145SET PROJECT_DIR_PATH=%ROOT_PATH%"viostor"
146SET PROJECT_NAME="viostor"
147Goto SetParam
148
149:SetParam
150SET parm1=%ROOT_PATH%
151SET parm2=%PROJECT_XML_PATH%
152SET parm3=%PROJECT_DIR_PATH%
153SET parm4=%PROJECT_NAME%
154if "%all%"=="true" GOTO IterateAll
155Goto Process
156
157Rem *******************************************************************
158Rem Start processing
159Rem *******************************************************************
160:Process
161if "%var%"=="1" (
162SET all=true
163:p2
164Goto Vioserial
165:p3
166Goto Balloon
167:p4
168Goto Viostor
169:p5
170Goto Vioscsi
171:p6
172Goto NetKVM
173:IterateAll
174call RunSdv.bat %parm1% %parm2% %parm3% %parm4%
175IF %ERRORLEVEL% NEQ 0 SET err=1
176SET /A cnt+=1
177if %cnt% GTR 6 GOTO END
178Goto p%cnt%
179)
180
181call RunSdv.bat %parm1% %parm2% %parm3% %parm4%
182IF %ERRORLEVEL% NEQ 0 goto Error4
183GOTO Menu
184
185Rem *******************************************************************
186Rem Error handling
187Rem *******************************************************************
188
189:Error1
190Echo ************************************************************************
191Echo * !!!!Wrong Project name!!!! *
192Echo ************************************************************************
193Echo.
194Ping -n 3 127.0.0.1 > NUL
195ENDLOCAL
196color
197EXIT /B 1
198
199:Error2
200Echo *******************************************************************************
201Echo * Wrong Configuration, Couldn't find in project you chose, Please Try Again...*
202Echo *******************************************************************************
203Echo.
204Ping -n 3 127.0.0.1 > NUL
205ENDLOCAL
206color
207EXIT /B 1
208
209:Error3
210Echo ***************************************************************************
211Echo * Wrong Platform, There isn't in project you chose, Please Try Again ... *
212Echo ***************************************************************************
213Echo.
214Ping -n 3 127.0.0.1 > NUL
215ENDLOCAL
216color
217EXIT /B 1
218
219:Error4
220Echo ***************************************************************************
221Echo * General Error, Please Try Again ... *
222Echo ***************************************************************************
223Echo.
224Ping -n 3 127.0.0.1 > NUL
225ENDLOCAL
226color
227EXIT /B 1
228
229
230Rem *******************************************************************
231Rem Get user input for project name and validate it.
232Rem *******************************************************************
233:start
234SET /P parm1=[Please Choose project name then Enter:]
235Echo Please wait,Validating Project Name...
236Ping -n 1 %parm1% | find "TTL" > NUL
237IF %ERRORLEVEL% NEQ 0 goto Error1
238
239Rem *******************************************************************
240Rem Get user input for Configuration Time
241Rem *******************************************************************
242:Next1
243SET /P parm2=[Please Choose Configuration then Enter:]
244Echo Please wait,Validating Project Name...
245Ping -n 1 %parm1% | find "TTL" > NUL
246IF %ERRORLEVEL% NEQ 0 goto Error2
247Goto Next2
248
249Rem *******************************************************************
250Rem Get user input for Platform
251Rem *******************************************************************
252:Next2
253SET /P parm3=[Please Choose Platform then Enter:]
254Echo Please wait,Validating Platform Name...
255Ping -n 1 %parm1% | find "TTL" > NUL
256IF %ERRORLEVEL% NEQ 0 goto Error3
257Goto Next3
258
259
260
261Rem *******************************************************************
262Rem End and ReSET all parameters
263Rem *******************************************************************
264:END
265color
266SET var=
267SET ans=
268SET parm1=
269SET parm2=
270SET parm3=
271SET parm4=
272SET var=
273SET all=
274SET cnt=
275Echo Thank you,Good Bye!
276COLOR
277ENDLOCAL
278Ping -n 5 127.0.0.1 > NUL
279EXIT /B %err%
280
281