]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/build-depkgs-msvc.cmd
Suppress superfluous warning messages if SD polling
[bacula/bacula] / bacula / src / win32 / build-depkgs-msvc.cmd
1 @echo off\r
2 SETLOCAL\r
3 \r
4 SET PERL_PATH=\r
5 FOR /F "tokens=1" %%I in ( "perl.exe" ) DO SET PERL_PATH=%%~$PATH:I\r
6 \r
7 IF NOT "%PERL_PATH%"=="" GOTO :PERL_OK\r
8 ECHO Perl must be in your PATH.  Please fix and rerun this script!\r
9 EXIT /B 1\r
10 \r
11 :PERL_OK\r
12 \r
13 IF "%CLOBBER_SOURCE%"=="" SET CLOBBER_SOURCE=false\r
14 \r
15 FOR /F "eol=# delims=| tokens=1-4" %%I in ( External-msvc ) DO SET URL_%%I=%%J& SET DIR_%%I=%%K& SET MKD_%%I=%%L\r
16 \r
17 SET CWD=%CD%\r
18 FOR %%I IN ( %0 ) DO CD %%~dpI\r
19 SET SCRIPT_DIR=%CD%\r
20 \r
21 CD ..\..\..\r
22 set TOP_DIR=%CD%\r
23 \r
24 IF NOT EXIST %TOP_DIR%\depkgs-msvc\nul MD %TOP_DIR%\depkgs-msvc\r
25 \r
26 cd %TOP_DIR%\depkgs-msvc\r
27 set DEPPKG_DIR=%CD%\r
28 \r
29 cd %DEPPKG_DIR%\r
30 \r
31 IF /I "%CLOBBER_SOURCE:~0,1%"=="y" SET CLOBBER_SOURCE=true\r
32 IF /I "%CLOBBER_SOURCE:~0,1%"=="t" SET CLOBBER_SOURCE=true\r
33 IF /I "%CLOBBER_SOURCE:~0,1%"=="1" SET CLOBBER_SOURCE=true\r
34 \r
35 SET PATH=%DEPPKG_DIR%\tools;%PATH%\r
36 SET INCLUDE=%INCLUDE%;%DEPPKG_DIR%\include\r
37 SET LIB=%LIB%;%DEPPKG_DIR%\lib\r
38 \r
39 IF NOT EXIST bin\nul MKDIR bin\r
40 IF NOT EXIST src\nul MKDIR src\r
41 IF NOT EXIST include\nul MKDIR include\r
42 IF NOT EXIST lib\nul MKDIR lib\r
43 \r
44 CD src\r
45 \r
46 COPY NUL parse_output.sed >nul 2>&1\r
47 REM ECHO /\\$/N >>parse_output.sed\r
48 REM ECHO s/\\\n// >>parse_output.sed\r
49 ECHO s/\t\+/ /g >>parse_output.sed\r
50 ECHO s/ \+/ /g >>parse_output.sed\r
51 ECHO / [Ee]rror: /p >>parse_output.sed\r
52 REM ECHO s;.*Entering directory[ ]\+.%DEPPKG_DIR%/\([^^ ]\+\).;Entering \1;p >>parse_output.sed\r
53 REM ECHO s;.*Leaving directory[ ]\+.%DEPPKG_DIR%/\([^^ ]\+.\).;Leaving \1;p >>parse_output.sed\r
54 ECHO /[Cc][Ll] \^|[Ll][Ii][Nn][Kk] \^|[Ll][Ii][Bb] /!d >>parse_output.sed\r
55 ECHO s; \(\.\.\\\)\+; ;g >>parse_output.sed\r
56 ECHO s; \.\\; ;g >>parse_output.sed\r
57 ECHO s/.* \([^^ ]\+\(\.[Cc]\^|\.[Cc][Pp][Pp]\^|\.[Cc][Cc]\^|\.[Cc][Xx][Xx]\)\)\( .*\^|\)$/Compiling \1/p >>parse_output.sed\r
58 ECHO s/.* \([^^ ]\+\.[Aa][Ss][Mm]\)\( .*\^|\)$/Assembling \1/p >>parse_output.sed\r
59 ECHO s/.* \/[Oo][Uu][Tt]:\(\.\\\)*\(\.\.\\\)*\([^^ ]\+\)\( .*\^|\)$/Linking \3/p >>parse_output.sed\r
60 REM ECHO s/.*[Ll][Ii][Bb] [^^ ]\+ \([^^ ]\+\)\(\( [^^ ]\+\.o\)\+\)/Updating \1 -\2/p >>parse_output.sed\r
61 \r
62 IF NOT "%1"=="" GOTO :ProcessArgs\r
63         CALL :process_zlib\r
64 REM     CALL :process_pcre\r
65         CALL :process_pthreads\r
66         CALL :process_openssl\r
67         CALL :process_mysql\r
68         CALL :process_sqlite\r
69         CALL :process_postgreSQL\r
70         CALL :process_wx\r
71 REM     CALL :process_scons\r
72         CALL :process_nsis\r
73         CALL :process_mtx\r
74         CALL :process_mt\r
75         CALL :process_sed\r
76         CALL :process_cmd_utils\r
77         CALL :process_mkisofs\r
78         CALL :process_dvd_rw_tools\r
79         GOTO :EOF\r
80 \r
81 :ProcessArgs\r
82         IF "%1"=="" GOTO :EOF\r
83         \r
84         CALL :process_%1\r
85         SHIFT\r
86         GOTO :ProcessArgs\r
87 \r
88 :get_source\r
89         SET URL=%1\r
90         SET SRC_DIR=%2\r
91         SET MAKE_SRC_ENABLE=%3\r
92         SET BASENAME=\r
93 \r
94         IF NOT "%SRC_DIR%"=="" GOTO :get_source_make_src\r
95         FOR %%I IN ( %URL% ) DO (SET BASENAME=%%~nI& IF NOT "%%~xI"==".gz" IF NOT "%%~xI"==".bz2" SET SRC_DIR=%%~nI)\r
96         IF "%SRC_DIR%"=="" FOR %%I IN ( %BASENAME% ) DO SET SRC_DIR=%%~nI\r
97 \r
98 :get_source_make_src\r
99         SET MAKE_SRC_DIR=\r
100         IF /I "%MAKE_SRC_ENABLE:~0,1%"=="y" SET MAKE_SRC_DIR=true\r
101         IF /I "%MAKE_SRC_ENABLE:~0,1%"=="t" SET MAKE_SRC_DIR=true\r
102         IF /I "%MAKE_SRC_ENABLE:~0,1%"=="1" SET MAKE_SRC_DIR=true\r
103 \r
104         FOR %%I IN ( %URL% ) DO ( SET ARCHIVE=%%~nxI& SET ARCHIVE_EXT=%%~xI)\r
105         \r
106         CD %DEPPKG_DIR%\src\r
107         \r
108         IF EXIST %ARCHIVE% GOTO :get_source_check_srcdir\r
109         ECHO Downloading %URL%\r
110         wget -nv --passive-ftp "%URL%"\r
111         IF NOT ERRORLEVEL 1 GOTO :get_source_extract\r
112         ECHO Unable to download %ARCHIVE%\r
113         EXIT /B 2\r
114 \r
115 :get_source_check_srcdir\r
116         IF /I "%ARCHIVE_EXT%"==".exe" EXIT /B 0\r
117         IF NOT EXIST %SRC_DIR%\nul GOTO :get_source_extract\r
118         IF NOT "%CLOBBER_SOURCE%"=="true" GOTO :get_source_skipped\r
119         IF EXIST %SRC_DIR%\nul RD /s /q "%SRC_DIR%"\r
120 :get_source_extract\r
121         IF /I "%ARCHIVE_EXT%"==".exe" EXIT /B 0\r
122         SET TAR_ARCHIVE=\r
123         FOR %%I IN ( "%ARCHIVE%" ) do IF "%%~xI"==".gz" SET TAR_ARCHIVE=%%~nI\r
124         FOR %%I IN ( "%ARCHIVE%" ) do IF "%%~xI"==".bz2" SET TAR_ARCHIVE=%%~nI\r
125 \r
126         SET TARGET_DIR=.\r
127         IF DEFINED MAKE_SRC_DIR IF NOT EXIST %SRC_DIR%\nul MKDIR %SRC_DIR%\r
128         IF DEFINED MAKE_SRC_DIR SET TARGET_DIR=%SRC_DIR%\r
129 \r
130         ECHO Extracting %ARCHIVE%\r
131         7z x -bd -y -o"%TARGET_DIR%" "%ARCHIVE%" 2>&1 > "%ARCHIVE%.log"\r
132         IF ERRORLEVEL 1 EXIT /B 2\r
133         IF NOT DEFINED TAR_ARCHIVE GOTO :get_source_done\r
134         ECHO Extracting %TAR_ARCHIVE%\r
135         7z x -bd -y -o"%TARGET_DIR%" "%TARGET_DIR%\%TAR_ARCHIVE%" & del /q "%TAR_ARCHIVE%" 2>&1 >> "%ARCHIVE%.log"\r
136 \r
137 :get_source_done\r
138         CD "%SRC_DIR%"\r
139         EXIT /B 0\r
140 \r
141 :get_source_skipped\r
142         CD %SRC_DIR%\r
143         EXIT /B 1\r
144 \r
145 :process_zlib\r
146         CALL :get_source %URL_ZLIB% %DIR_ZLIB% %MKD_ZLIB%\r
147         ECHO Building zlib\r
148         COPY /Y nul make.log\r
149 REM     XCOPY contrib\masmx86\gvmat32.asm . /Y\r
150 REM     XCOPY contrib\masmx86\gvmat32c.c . /Y\r
151 REM     XCOPY contrib\masmx86\inffas32.asm . /Y\r
152 REM     CALL :do_nmake win32\Makefile.msc AS=nasmw ASFLAGS= LOC="-D_CRT_SECURE_NO_DEPRECATE -DASMV -DASMINF" OBJA="gvmat32c.obj gvmat32.obj inffas32.obj" all\r
153         CALL :do_nmake win32\Makefile.msc LOC="-D_CRT_SECURE_NO_DEPRECATE" all\r
154         ECHO Installing zlib\r
155         XCOPY zlib1.dll.manifest %DEPPKG_DIR%\bin\ /Y\r
156         XCOPY zlib1.dll %DEPPKG_DIR%\bin\ /Y\r
157         XCOPY zlib.lib %DEPPKG_DIR%\lib\ /Y\r
158         XCOPY zdll.lib %DEPPKG_DIR%\lib\ /Y\r
159         XCOPY zlib.h %DEPPKG_DIR%\include\ /Y\r
160         XCOPY zconf.h %DEPPKG_DIR%\include\ /Y\r
161         EXIT /B 0\r
162 \r
163 :process_pcre\r
164         CALL :get_source %URL_PCRE% %DIR_PCRE% %MKD_PCRE%\r
165 REM     ECHO Patching PCRE\r
166 REM     COPY /Y nul patch.log\r
167 REM     do_patch pcre.patch\r
168         ECHO Configuring PCRE\r
169         ./configure CC_FOR_BUILD=gcc CXX_FOR_BUILD=g++ --host=mingw32 --prefix=%DEPPKG_DIR% --enable-utf8 --enable-unicode-properties 2>&1 > make.log\r
170         ECHO Building PCRE\r
171         do_make Makefile PREFIX=%DEPPKG_DIR% all\r
172         ECHO Installing PCRE\r
173         do_make Makefile PREFIX=%DEPPKG_DIR% install\r
174         EXIT /B 0\r
175 \r
176 :process_pthreads\r
177         CALL :get_source %URL_PTHREADS% %DIR_PTHREADS% %MKD_PTHREADS%\r
178         FOR %%I IN ( %URL_PTHREADS% ) DO (SET ARCHIVE=%%~nxI)\r
179         IF EXIST %SRC_DIR%\nul GOTO :install_pthreads\r
180         ECHO Extracting %ARCHIVE%\r
181         7z x -bd -y -o"%DIR_PTHREADS%" "%ARCHIVE%" 2>&1 > "%ARCHIVE%.log"\r
182 :install_pthreads\r
183         CD %DIR_PTHREADS%\r
184         ECHO Installing pthreads\r
185         XCOPY Pre-built\include\*.h %DEPPKG_DIR%\include\ /Y\r
186         XCOPY Pre-built\lib\pthreadVCE.lib %DEPPKG_DIR%\lib\ /Y\r
187         XCOPY Pre-built\lib\pthreadVCE.dll %DEPPKG_DIR%\bin\ /Y\r
188         EXIT /B 0\r
189 \r
190 :process_openssl\r
191         CALL :get_source %URL_OPENSSL% %DIR_OPENSSL% %MKD_OPENSSL%\r
192         IF ERRORLEVEL 2 GOTO :OpenSSLError\r
193         ECHO Configuring openssl\r
194         perl Configure VC-WIN32 --prefix=%DEPPKG_DIR:\=/% > make.log\r
195         ECHO Building openssl\r
196         CALL ms\do_nasm\r
197         @ECHO off\r
198         CALL :do_nmake ms\ntdll.mak \r
199         @ECHO off\r
200         ECHO Installing openssl\r
201         CALL :do_nmake ms\ntdll.mak install\r
202         EXIT /B 0\r
203 :OpenSSLError\r
204         ECHO Unable to download OpenSSL source from %URL_OPENSSL%\r
205         EXIT /B 1\r
206 \r
207 :process_mysql\r
208         CALL :get_source %URL_MYSQL% %DIR_MYSQL% %MKD_MYSQL%\r
209         ECHO Installing mysql\r
210         IF EXIST ..\..\include\mysql\nul RD /s /q ..\..\include\mysql\r
211         XCOPY include\* ..\..\include\mysql\ /e/h/k/y 2>&1\r
212         XCOPY lib\opt\libmysql.lib ..\..\lib\ /y\r
213         XCOPY lib\opt\libmysql.dll ..\..\bin\ /y\r
214         EXIT /B 0\r
215 \r
216 :process_postgreSQL\r
217         CALL :get_source %URL_POSTGRESQL% %DIR_POSTGRESQL% %MKD_POSTGRESQL%\r
218         IF ERRORLEVEL 2 GOTO :pstgreSQL_Error1\r
219         CALL :get_source %URL_POSTGRESQL_SRC% %DIR_POSTGRESQL_SRC% %MKD_POSTGRESQL_SRC%\r
220         IF ERRORLEVEL 2 GOTO :pstgreSQL_Error2\r
221 REM     ECHO Patching postgreSQL\r
222 REM     COPY /Y nul patch.log\r
223 REM     do_patch postgresql.patch\r
224         ECHO Installing postgreSQL\r
225         XCOPY ..\pgsql\include\libpq-fe.h ..\..\include\ /Y 2>&1\r
226         XCOPY ..\pgsql\include\postgres_ext.h ..\..\include\ /Y 2>&1\r
227         LIB /def:src\interfaces\libpq\libpqdll.def /out:..\..\lib\libpqdll.lib /machine:x86 /subsystem:console\r
228         XCOPY ..\pgsql\bin\libpq.dll ..\..\bin\ /Y\r
229         XCOPY ..\pgsql\bin\comerr32.dll ..\..\bin\ /Y\r
230         XCOPY ..\pgsql\bin\krb5_32.dll ..\..\bin\ /Y\r
231         XCOPY ..\pgsql\bin\libintl-2.dll ..\..\bin\ /Y\r
232         XCOPY ..\pgsql\bin\libiconv-2.dll ..\..\bin\ /Y\r
233         EXIT /B 0\r
234 :pstgreSQL_Error1\r
235         ECHO Unable to download postgreSQL binaries from %URL_POSTGRESQL%\r
236         EXIT /B 1\r
237 :pstgreSQL_Error2\r
238         ECHO Unable to download postgreSQL source from %URL_POSTGRESQL_SRC%\r
239         EXIT /B 1\r
240 \r
241 :process_sqlite\r
242         CALL :get_source %URL_SQLITE% %DIR_SQLITE% %MKD_SQLITE%\r
243         IF ERRORLEVEL 2 GOTO :sqlite_error\r
244         IF ERRORLEVEL 1 GOTO :sqlite_skip_patch\r
245         ECHO Patching SQLite\r
246         COPY /Y nul patch.log\r
247         CALL :do_patch sqlite_msc.patch\r
248 :sqlite_skip_patch\r
249         ECHO Configuring SQLite\r
250         IF NOT EXIST bld/nul MKDIR bld\r
251         CD bld\r
252         ECHO Building SQLite\r
253         COPY /Y nul make.log\r
254         CALL :do_nmake ../Makefile.msvc clean all\r
255         ECHO Installing SQLite\r
256         COPY sqlite3.exe %DEPPKG_DIR%\bin\r
257         COPY sqlite3.exe.manifest %DEPPKG_DIR%\bin\r
258         COPY sqlite3.lib %DEPPKG_DIR%\lib\r
259         COPY sqlite3.h %DEPPKG_DIR%\include\r
260         EXIT /B 0\r
261 :sqlite_error\r
262         ECHO Unable to download sqlite source from %URL_SQLITE%\r
263         EXIT /B 1\r
264 \r
265 :process_wx\r
266         CALL :get_source %URL_WX% %DIR_WX% %MKD_WX%\r
267         IF ERRORLEVEL 2 GOTO :wx_error\r
268 REM     IF ERRORLEVEL 1 GOTO :wx_skip_patch\r
269 REM     ECHO Patching wxWidgets\r
270 REM     COPY /Y nul patch.log\r
271 REM     do_patch wx1.patch -o build/msw/config.mingw32\r
272 REM     do_patch wx2.patch\r
273 REM     find . -name makefile.gcc -exec sh -c "sed -f %SCRIPT_DIR%/patches/wx.sed {% > \`ECHO {% | sed s/\.gcc$/\.mingw32/\`" \;\r
274         ECHO Building wxWidgets\r
275         cd build\msw\r
276         COPY /Y nul make.log\r
277         CALL :do_nmake makefile.vc BUILD=release SHARED=1 VENDOR=bacula DEBUG_INFO=1 CPPFLAGS=-D_USE_32BIT_TIME_T\r
278         ECHO Installing wxWidgets\r
279         cd ..\..\r
280         IF EXIST ..\..\include\wx\nul RD /s /q ..\..\include\wx\r
281         XCOPY include\wx ..\..\include\wx\ 2>&1\r
282         XCOPY include\wx\generic ..\..\include\wx\generic\ /e 2>&1\r
283         XCOPY include\wx\msw ..\..\include\wx\msw\ /e 2>&1\r
284         XCOPY lib\vc_dll\*.dll ..\..\bin\ /y \r
285         IF EXIST ..\..\lib\wx_dll\nul RD /s /q ..\..\lib\wx_dll\r
286         XCOPY lib\vc_dll\*.lib ..\..\lib\wx_dll\\r
287         XCOPY lib\vc_dll\msw ..\..\lib\wx_dll\msw\ /e 2>&1\r
288         EXIT /B 0\r
289 :wx_error\r
290         ECHO Unable to download wxWidgets source from %URL_MTX%\r
291         EXIT /B 1\r
292 \r
293 :process_nsis\r
294         CALL :get_source %URL_NSIS_BIN% %DIR_NSIS_BIN% %MKD_NSIS_BIN%\r
295         CD ..\r
296         IF EXIST ..\nsis\nul RD /s /q ..\nsis\r
297         MOVE nsis-2.17 ..\nsis\r
298         EXIT /B 0\r
299 \r
300 :process_mtx\r
301         CALL :get_source %URL_MTX% %DIR_MTX% %MKD_MTX%\r
302         IF ERRORLEVEL 2 GOTO :mtx_error\r
303         IF ERRORLEVEL 1 GOTO :mtx_skip_patch\r
304         ECHO Patching mtx\r
305         COPY /Y config.h.in config.h\r
306         COPY /Y Makefile.in Makefile\r
307         COPY /Y nul patch.log\r
308         CALL :do_patch mtx.patch\r
309         CALL :do_patch mtx-msvc1.patch\r
310         CALL :do_patch mtx-msvc2.patch\r
311 :mtx_skip_patch\r
312         ECHO Building mtx\r
313         CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% all\r
314         ECHO Installing mtx\r
315         CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% install\r
316         EXIT /B 0\r
317 :mtx_error\r
318         ECHO Unable to download mtx source from %URL_MTX%\r
319         EXIT /B 1\r
320 \r
321 :process_mt\r
322         CALL :get_source %URL_MT% %DIR_MT% %MKD_MT%\r
323         IF ERRORLEVEL 2 GOTO :mt_error\r
324         IF ERRORLEVEL 1 GOTO :mt_skip_patch\r
325         ECHO Patching mt\r
326         COPY /Y nul patch.log\r
327         CALL :do_patch mt.patch\r
328 :mt_skip_patch\r
329         ECHO Building mt\r
330         CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% all\r
331         ECHO Installing mt\r
332         CALL :do_nmake Makefile.msc PREFIX=%DEPPKG_DIR% install\r
333         EXIT /B 0\r
334 :mt_error\r
335         ECHO Unable to download mt source from %URL_MT%\r
336         EXIT /B 1\r
337 \r
338 :process_sed\r
339         CALL :get_source %URL_SED% %DIR_SED% %MKD_SED%\r
340         IF ERRORLEVEL 2 GOTO :sed_error\r
341         IF ERRORLEVEL 1 GOTO :sed_skip_patch\r
342         ECHO Patching sed\r
343         COPY /Y nul patch.log\r
344         CALL :do_patch sed_msc.patch\r
345 :sed_skip_patch\r
346         ECHO Building sed\r
347         CALL :do_nmake Makefile.msc all\r
348         ECHO Installing sed\r
349         CALL :do_nmake Makefile.msc install\r
350         EXIT /B 0\r
351 :sed_error\r
352         ECHO Unable to download sed source from %URL_MT%\r
353         EXIT /B 1\r
354 \r
355 :process_cmd_utils\r
356         CALL :get_source %URL_CMD_UTILS% %DIR_CMD_UTILS% %MKD_CMD_UTILS%\r
357         IF ERRORLEVEL 2 GOTO :cmd_utils_error\r
358         IF ERRORLEVEL 1 GOTO :cmd_utils_skip_patch\r
359 REM     ECHO Patching cmd-utils\r
360 REM     COPY /Y nul patch.log\r
361 REM     CALL :do_patch cmd_utils_msc.patch\r
362 :cmd_utils_skip_patch\r
363         ECHO Building cmd-utils\r
364         vcbuild /nologo cmd-utils.sln "Release|WIN32" 2>&1 | tee -a make.log | sed -nf "%DEPPKG_DIR%\src\parse_output.sed"\r
365         IF ERRORLEVEL 1 GOTO :cmd_utils_build_error\r
366         ECHO Installing cmd-utils\r
367         XCOPY Release\*.exe %DEPPKG_DIR%\bin\r
368         EXIT /B 0\r
369 :cmd_utils_build_error\r
370         ECHO Make failed - Check %CD%\make.log > con\r
371         EXIT /B 1\r
372 :cmd_utils_error\r
373         ECHO Unable to download cmd-utils source from %URL_MT%\r
374         EXIT /B 1\r
375 \r
376 :process_mkisofs\r
377         CALL :get_source %URL_MKISOFS% %DIR_MKISOFS% %MKD_MKISOFS%\r
378         IF ERRORLEVEL 2 GOTO :mkisofs_error\r
379         ECHO Installing mkisofs\r
380         FOR %%i IN ( %URL_MKISOFS% ) DO XCOPY %DEPPKG_DIR%\src\%%~nxi %DEPPKG_DIR%\bin /Y /Q >nul 2>&1\r
381         EXIT /B 0\r
382 :mkisofs_error\r
383         ECHO Unable to download mkisofs source from %URL_MKISOFS%\r
384         EXIT /B 1\r
385 \r
386 :process_dvd_rw_tools\r
387         CALL :get_source %URL_DVD_RW_TOOLS% %DIR_DVD_RW_TOOLS% %MKD_DVD_RW_TOOLS%\r
388         IF ERRORLEVEL 2 GOTO :dvd_rw_tools_error\r
389         IF ERRORLEVEL 1 GOTO :dvd_rw_tools_skip_patch\r
390         ECHO Patching dvd+rw-tools\r
391         COPY /Y nul patch.log\r
392         CALL :do_patch dvd+rw-tools.patch\r
393 :dvd_rw_tools_skip_patch\r
394         ECHO Building dvd+rw-tools\r
395         IF NOT EXIST Release\nul MKDIR Release\r
396         CALL :do_nmake Makefile.msc dvd+rw-tools\r
397         ECHO Installing dvd+rw-tools\r
398         CALL :do_nmake Makefile.msc prefix=%DEPPKG_DIR% install\r
399         EXIT /B 0\r
400 :dvd_rw_tools_error\r
401         ECHO Unable to download dvd+rw-tools source from %URL_DVD_RW_TOOLS%\r
402         EXIT /B 1\r
403 \r
404 :do_patch\r
405         SET PATCH_FILE=%SCRIPT_DIR%\patches\%1\r
406         SHIFT\r
407         patch -f -p0 %2 %3 %4 %5 %6 %7 %8 %9 >>patch.log < %PATCH_FILE%\r
408         IF NOT ERRORLEVEL 1 EXIT/B 0\r
409         ECHO Patch failed - Check %CD%\patch.log > con\r
410         EXIT /B 1\r
411 \r
412 :do_nmake\r
413         nmake /nologo -f %* 2>&1 | tee -a make.log | sed -nf "%DEPPKG_DIR%\src\parse_output.sed"\r
414         IF NOT ERRORLEVEL 1 EXIT /B 0\r
415         ECHO Make failed - Check %CD%\make.log > con\r
416         EXIT /B 1\r
417 \r
418 #vss\r
419 #Need to download from Microsoft\r