[WinOF] WDK build env - say goodbye to DDK builds.
[mirror/winof/.git] / BuildRelease.bat
1 @echo off\r
2 setlocal\r
3 rem\r
4 rem EXAMPLE - Build entire openIB-windows release & WIX installers (.msi) files.\r
5 rem           Binary release is constructed in ..\Branches\WinOF\Wix\bin.\r
6 rem           Processor architecture specific WIX installers are constructed\r
7 rem           in %IDIR%\r
8 rem\r
9 rem BuildRelease {compile | msi}\r
10 rem\r
11 rem This script is an 'example' of a one-command entire IB stack build to\r
12 rem single-file installer.\r
13 rem Script is designed to be invoked from the ...\gen1\trunk folder with\r
14 rem ..\branches\WinOF\Wix\* accessible.\r
15 rem\r
16 rem Verify the following env vars are suitible for your system configuration.\r
17 rem     _DDK, _PSDK, SVN, IDIR\r
18 \r
19 if "%1" == "" goto OK\r
20 if "%1" == "compile" goto OK\r
21 if "%1" == "msi" goto OK\r
22 echo Unknown arg '%1' ?\r
23 echo "usage: BuildRelease {compile | msi}"\r
24 exit /B 1 \r
25 \r
26 :OK\r
27 \r
28 set _DDK=C:\WinDDK\6001.18001\r
29 \r
30 if NOT EXIST %_DDK% (\r
31     echo Missing WDK @ %_DDK%\r
32     exit /B 1\r
33 )\r
34 echo Building with DDK @ %_DDK%\r
35 \r
36 rem Platform SDK path - watchout for missing LoadPerf.h (installsp.c)\r
37 set _PSDK=C:\progra~1\mi2578~1\r
38 \r
39 rem WARNING - SVN set depends on the path '\openIB-windows-svn\xxx\gen1', where SVN is set to XXX\r
40 rem  substring[23rd...26th] chars (offset counting) == xxxx\r
41 \r
42 rem If this example method doesn't fit your environment, set SVN accordingly.\r
43 rem Note - OPENIB_REV is assigned SVN in a child script.\r
44 \r
45 set SVN=%CD:~22,4%\r
46 \r
47 rem assumes %CD% == '...\gen1\trunk'\r
48 set BSE=%CD%\r
49 set WIX=%CD:trunk=Branches\WinOF\WIX%\r
50 \r
51 set RBIN_WLH=%CD:trunk=Branches\WinOF\Wix\wlh\bin%\r
52 set RBIN_WNET=%CD:trunk=Branches\WinOF\Wix\wnet\bin%\r
53 set RBIN_WXP=%CD:trunk=Branches\WinOF\Wix\wxp\bin%\r
54 \r
55 if NOT EXIST "..\branches\WinOF\WIX\build-all-MSI.bat" (\r
56     echo Missing .msi installer build script\r
57     echo    ..\branches\WinOF\WIX\build-all-MSI.bat\r
58     exit /B 1\r
59 )\r
60 \r
61 rem WIX Installer files (.msi) destination folder - set for local environment.\r
62 rem \r
63 set IDIR=%SystemRoot%\temp\r
64 \r
65 echo Building for OPENIB_REV %SVN%, installer files @ %IDIR%\r
66 \r
67 rem XXX cmd not available on XP//32, what to do?\r
68 timeout /T 5\r
69 \r
70 if NOT EXIST "%IDIR%" (\r
71     echo Missing Installer file destination folder %IDIR%\r
72     exit /B 1\r
73 )\r
74 \r
75 rem Verify WIX 2.0 toolset is available - if not, download from\r
76 rem http://sourceforge.net/project/showfiles.php?group_id=105970&package_id=114109\r
77 rem   select wix-2.0.5325.0-binaries.zip download and unzip to\r
78 rem   ..\branches\WinOF\WIX\WIX_tools\\r
79 rem\r
80 if NOT EXIST ..\branches\WinOF\WIX\WIX_tools\wix-2.0.5325.0-binaries (\r
81     echo Missing WIX tools @ ..\branches\WinOF\WIX\WIX_tools \r
82     exit /B 1\r
83 )\r
84 \r
85 if NOT EXIST etc\makebin.bat (\r
86     echo Missing etc\makebin.bat, script must run from gen1\trunk\r
87     exit /B 1\r
88 )\r
89 \r
90 rem skip build - assumes binaries already built.\r
91 \r
92 if "%1" == "msi" goto InstallBin\r
93 if "%1" == "installonly" goto InstallBin\r
94 \r
95 rem set OPS=-wgcM 3\r
96 set OPS=-wg\r
97 \r
98 \r
99 rem ********* WLH - Windows Server 2008 & Vista\r
100 \r
101 rem WLH x64\r
102 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
103 if ERRORLEVEL 1 exit /B 1\r
104 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
105 if ERRORLEVEL 1 exit /B 1\r
106 \r
107 rem WLH x86\r
108 \r
109 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
110 if ERRORLEVEL 1 exit /B 1\r
111 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
112 if ERRORLEVEL 1 exit /B 1\r
113 \r
114 rem WLH ia64\r
115 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
116 if ERRORLEVEL 1 exit /B 1\r
117 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"\r
118 if ERRORLEVEL 1 exit /B 1\r
119 \r
120 \r
121 rem ********* WXP - Windows XP - x86 only\r
122 \r
123 rem Fix XP WSD/installsp.exe build problems\r
124 \r
125 if exist .\ulp\wsd\dirs           rename .\ulp\wsd\dirs Xdirs\r
126 if exist .\tools\wsdinstall\dirs  rename .\tools\wsdinstall\dirs Xdirs\r
127 \r
128 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WXP & build %OPS%"\r
129 if ERRORLEVEL 1 exit /B 1\r
130 \r
131 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WXP & build %OPS%"\r
132 if ERRORLEVEL 1 exit /B 1\r
133 \r
134 rem restore WSD/installsp builds\r
135 if exist .\ulp\wsd\Xdirs           rename .\ulp\wsd\Xdirs dirs  \r
136 if exist .\tools\wsdinstall\Xdirs  rename .\tools\wsdinstall\Xdirs dirs\r
137 \r
138 \r
139 \r
140 rem ********* WNET - Windows Server 2003\r
141 \r
142 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
143 if ERRORLEVEL 1 exit /B 1\r
144 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
145 if ERRORLEVEL 1 exit /B 1\r
146 \r
147 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
148 if ERRORLEVEL 1 exit /B 1\r
149 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
150 if ERRORLEVEL 1 exit /B 1\r
151 \r
152 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
153 if ERRORLEVEL 1 exit /B 1\r
154 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"\r
155 if ERRORLEVEL 1 exit /B 1\r
156 \r
157 \r
158 if "%1" == "compile" (\r
159         echo ****** compile ONLY - done.\r
160         exit /B 0\r
161 )\r
162 \r
163 rem Install binaries into WIX environment, build msi installers.\r
164 \r
165 :InstallBin\r
166 echo Create binary release tree - suitible for WinOF-WIX installer build.\r
167 \r
168 if EXIST "%RBIN_WLH%"  rmdir /S /Q %RBIN_WLH%\r
169 if EXIST "%RBIN_WNET%" rmdir /S /Q %RBIN_WNET%\r
170 if EXIST "%RBIN_WXP%"  rmdir /S /Q %RBIN_WXP%\r
171 \r
172 mkdir %RBIN_WLH%\r
173 mkdir %RBIN_WNET%\r
174 mkdir %RBIN_WXP%\r
175 \r
176 if EXIST "%BSE%\etc\makebin.bat" (\r
177     call %BSE%\etc\makebin.bat %BSE% %RBIN_WLH% wlh\r
178     call %BSE%\etc\makebin.bat %BSE% %RBIN_WNET% wnet\r
179     call %BSE%\etc\makebin.bat %BSE% %RBIN_WXP% wxp\r
180 )\r
181 \r
182 echo %0 - Binary release built in\r
183 echo     %RBIN_WLH%\r
184 echo     %RBIN_WNET%\r
185 echo     %RBIN_WXP%\r
186 \r
187 rem build WIX installers --> see ..\branches\WinOF\WIX\r
188 \r
189 %COMSPEC% /C "%_DDK%\bin\setenv.bat %_DDK% fre X64 WNET & cd /D %WIX% & build-ALL-MSI %IDIR%" \r
190 \r
191 endlocal\r
192 @echo on\r