etc/.bat: update pkg and sign batch files
[mirror/winof/.git] / etc / pkgwo.bat
1 @echo off\r
2 setlocal\r
3 setlocal enabledelayedexpansion\r
4 \r
5 if "%WDK_PATH%"=="" goto use\r
6 if "%OPENIB_REV%"=="" goto use\r
7 if "%PLATFORM_SDK_PATH%"=="" goto use\r
8 \r
9 if "%1"=="chk" (\r
10         set wo_bld=chk\r
11         goto set_arch\r
12 )\r
13 if "%1"=="fre" (\r
14         set wo_bld=fre\r
15         goto set_arch\r
16 )\r
17 goto use\r
18 \r
19 :set_arch\r
20 if "%2"=="x86" (\r
21         set wo_arch=x86\r
22         set wo_arch_dir=i386\r
23         goto set_os\r
24 )\r
25 if "%2"=="x64" (\r
26         set wo_arch=amd64\r
27         set wo_arch_dir=amd64\r
28         goto set_os\r
29 )\r
30 if "%2"=="ia64" (\r
31         set wo_arch=ia64\r
32         set wo_arch_dir=ia64\r
33         goto set_os\r
34 )\r
35 goto use\r
36 \r
37 :set_os\r
38 if "%3"=="win7" (\r
39         set wo_os=win7\r
40         goto set_files\r
41 )\r
42 if "%3"=="2003" (\r
43         set wo_os=wnet\r
44         goto set_files\r
45 )\r
46 if "%3"=="2008" (\r
47         set wo_os=WLH\r
48         goto set_files\r
49 )\r
50 if "%3"=="xp" (\r
51         if not "%2"=="x86" goto use\r
52         set wo_os=WXP\r
53         set wo_arch=\r
54         goto set_files\r
55 )\r
56 goto use\r
57 \r
58 :set_files\r
59 if "%4"=="all" (\r
60         for %%i in (dapl, ibacm, ibbus, ipoib, mlx4_bus, mlx4_hca, mthca, winmad, winverbs) do (\r
61                 call %~dp0\pkgwo %1 %2 %3 %%i\r
62         )\r
63         popd\r
64         goto end\r
65 )\r
66 if "%4"=="dapl" (\r
67         set files=dapl dat dtest\r
68         goto package\r
69 )\r
70 if "%4"=="ibacm" (\r
71         set files=ib_acm libibacm\r
72         goto package\r
73 )\r
74 if "%4"=="ibbus" (\r
75         set files=ib_bus ibbus ibal alts cmtest complib ib_read ib_send ib_write ib_limit\r
76         goto package\r
77 )\r
78 if "%4"=="ipoib" (\r
79         set files=ipoib nd ibwsd netipoib wvnd ibat ibnd\r
80         goto package\r
81 )\r
82 if "%4"=="mlx4_bus" (\r
83         set files=mlx4_bus mlx4_core\r
84         goto package\r
85 )\r
86 if "%4"=="mlx4_hca" (\r
87         set files=mlx4_hca mlx4u mlx4_ib mlx4_net\r
88         goto package\r
89 )\r
90 if "%4"=="mthca" (\r
91         set files=mthca\r
92         goto package\r
93 )\r
94 if "%4"=="winmad" (\r
95         rem -- Includes IB-mgmt libraries\r
96         set files=winmad wm ^\r
97                   libibumad libibmad libibnet ibaddr iblinkinfo ibping ^\r
98                   ibportstate ibqueryerror ibroute ibsendtrap ibstat ^\r
99                   ibsysstat ibtracert mcm_rereg perfquery sminfo smp vendstat\r
100         goto package\r
101 )\r
102 if "%4"=="winverbs" (\r
103         rem -- Includes OFED verbs and RDMA CM compatability libraries\r
104         set files=winverb wv ^\r
105                   libibverbs ibv_async ibv_dev ibv_ librdmacm rdma_\r
106         goto package\r
107 )\r
108 goto use\r
109 \r
110 :package\r
111 pushd %WINOF_PATH%\r
112 if not exist install             mkdir install\r
113 if not exist install\%3          mkdir install\%3\r
114 if not exist install\%3\%2       mkdir install\%3\%2\r
115 if not exist install\%3\%2\%1    mkdir install\%3\%2\%1\r
116 if not exist install\%3\%2\%1\%4 mkdir install\%3\%2\%1\%4\r
117 \r
118 for %%i in (%files%) do (\r
119         xcopy /D /Y bin\kernel\obj%wo_bld%_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i* install\%3\%2\%1\%4\r
120         xcopy /D /Y bin\user\obj%wo_bld%_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*   install\%3\%2\%1\%4\r
121 \r
122         rem -- Include both free and checked versions of libraries in the package.\r
123         rem -- The library names do not overlap.\r
124         if "%1"=="chk" (\r
125                 xcopy /D /Y bin\user\objfre_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*.dll install\%3\%2\%1\%4\r
126                 xcopy /D /Y bin\user\objfre_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*.pdb install\%3\%2\%1\%4\r
127                 xcopy /D /Y bin\user\objfre_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*.exp install\%3\%2\%1\%4\r
128                 xcopy /D /Y bin\user\objfre_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*.lib install\%3\%2\%1\%4\r
129         )\r
130         if "%1"=="fre" (\r
131                 xcopy /D /Y bin\user\objchk_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*.dll install\%3\%2\%1\%4\r
132                 xcopy /D /Y bin\user\objchk_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*.pdb install\%3\%2\%1\%4\r
133                 xcopy /D /Y bin\user\objchk_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*.exp install\%3\%2\%1\%4\r
134                 xcopy /D /Y bin\user\objchk_%wo_os%_%wo_arch%\%wo_arch_dir%\%%i*.lib install\%3\%2\%1\%4\r
135         )\r
136         \r
137         rem -- Include 32-bit libaries with the 64-bit package.  Rename the 32-bit\r
138         rem -- libraries from lib.dll -> lib32.dll or libd.dll -> lib32d.dll.\r
139         rem -- complib, which changes to cl32\r
140         rem -- mthca, which drops the 'u'\r
141         if "%2"=="x64" (        \r
142                 if not exist install\wow64\%3\%2\chk\%4 mkdir install\wow64\%3\%2\chk\%4\r
143                 xcopy /D /Y bin\user\objchk_%wo_os%_x86\i386\%%i*.dll install\wow64\%3\%2\chk\%4\r
144                 pushd install\wow64\%3\%2\chk\%4\r
145                 for /f "usebackq" %%j in (`dir /b *d.dll`) do (\r
146                         set dll32_old=%%j\r
147                         set dll32_new=!dll32_old:~,-5!32d.dll\r
148                         if "!dll32_old!"=="complibd.dll" set dll32_new=cl32d.dll\r
149                         if "!dll32_old!"=="mthcaud.dll"  set dll32_new=mthca32d.dll\r
150                         echo F | xcopy /D /Y !dll32_old! %WINOF_PATH%\install\%3\%2\%1\%4\!dll32_new!\r
151                 )\r
152                 popd\r
153 \r
154                 if not exist install\wow64\%3\%2\fre\%4 mkdir install\wow64\%3\%2\fre\%4\r
155                 xcopy /D /Y bin\user\objfre_%wo_os%_x86\i386\%%i*.dll install\wow64\%3\%2\fre\%4\r
156                 pushd install\wow64\%3\%2\fre\%4\r
157                 for /f "usebackq" %%j in (`dir /b *.dll`) do (\r
158                         set dll32_old=%%j\r
159                         set dll32_new=!dll32_old:~,-4!32.dll\r
160                         if "!dll32_old!"=="complib.dll" set dll32_new=cl32.dll\r
161                         if "!dll32_old!"=="mthcau.dll"  set dll32_new=mthca32.dll\r
162                         echo F | xcopy /D /Y !dll32_old! %WINOF_PATH%\install\%3\%2\%1\%4\!dll32_new!\r
163                 )\r
164                 popd\r
165         )\r
166         \r
167         xcopy /D /Y %WDK_PATH%\redist\wdf\%wo_arch_dir%\wdf* install\%3\%2\%1\%4\r
168         xcopy /D /Y %WDK_PATH%\redist\difx\dpinst\multilin\%wo_arch_dir%\dpinst* install\%3\%2\%1\%4\r
169 )\r
170 \r
171 popd\r
172 goto end\r
173 \r
174 :use\r
175 echo -\r
176 echo pkgwo - package winof\r
177 echo -\r
178 echo Separates a built WinOF tree into separate packages for installation.\r
179 echo You should build both the free and checked versions of the specified\r
180 echo package before running this batch file for the first time.\r
181 echo You must customize for your system by setting the following environment\r
182 echo variables:\r
183 echo -\r
184 echo WDK_PATH          (example set WDK_PATH=c:\winddk\6001.18001)\r
185 echo WINOF_PATH        (example set WINOF_PATH=c:\ofw\trunk)\r
186 echo OPENIB_REV        (example set OPENIB_REV=0)\r
187 echo PLATFORM_SDK_PATH (example set PLATFORM_SDK_PATH=c:\progra~1\mi2578~1)\r
188 echo -\r
189 echo Use:\r
190 echo pkgwo {chk : fre} {x86 : x64 : ia64} {xp : 2003 : 2008 : win7} {package}\r
191 echo xp only supports x86 build\r
192 echo -\r
193 echo Valid package names are:\r
194 echo all, dapl, ibacm, ibbus, ipoib, mlx4_bus, mlx4_hca, mthca, winmad, winverbs\r
195 echo -\r
196 echo Examples:\r
197 echo pkgwo chk x86 2008 winverbs  - packages 2008 checked x86 files for winverbs\r
198 echo pkgwo fre x64 win7 mlx4_bus  - packages windows 7 free x64 files for mlx4_bus\r
199 echo -\r
200 echo Packages are created under WINOF_PATH\install.\r
201 echo See docs\build.txt for additional information on building the tree.\r
202 \r
203 :end\r
204 endlocal\r
205 @echo on\r