diff options
-rwxr-xr-x | build.bat | 155 | ||||
-rw-r--r-- | common.bat | 140 | ||||
-rwxr-xr-x | contrib/coverity.bat | 91 | ||||
-rwxr-xr-x | src/YASM.bat | 10 | ||||
-rwxr-xr-x | src/filters/transform/VSFilter/installer/build_installer.bat | 36 | ||||
-rwxr-xr-x | src/thirdparty/LAVFilters/build_lavfilters.bat | 95 | ||||
-rwxr-xr-x | update_version.bat | 10 |
7 files changed, 210 insertions, 327 deletions
@@ -20,16 +20,10 @@ REM along with this program. If not, see <http://www.gnu.org/licenses/>. SETLOCAL
CD /D %~dp0
-REM pre-build checks
-IF EXIST "build.user.bat" CALL "build.user.bat"
+SET "COMMON=%~dp0\common.bat"
-IF NOT DEFINED MPCHC_MINGW32 IF DEFINED MINGW32 (SET MPCHC_MINGW32=%MINGW32%) ELSE (GOTO MissingVar)
-IF NOT DEFINED MPCHC_MINGW64 IF DEFINED MINGW64 (SET MPCHC_MINGW64=%MINGW64%) ELSE (GOTO MissingVar)
-IF NOT DEFINED MPCHC_MSYS IF DEFINED MSYS (SET MPCHC_MSYS=%MSYS%) ELSE (GOTO MissingVar)
-
-IF NOT EXIST "%MPCHC_MINGW32%" GOTO MissingVar
-IF NOT EXIST "%MPCHC_MINGW64%" GOTO MissingVar
-IF NOT EXIST "%MPCHC_MSYS%" GOTO MissingVar
+CALL "%COMMON%" :SubPreBuild
+IF %ERRORLEVEL% NEQ 0 GOTO MissingVar
SET ARG=/%*
SET ARG=%ARG:/=%
@@ -183,8 +177,8 @@ EXIT /B IF %ERRORLEVEL% NEQ 0 EXIT /B
TITLE Compiling MPC-HC %COMPILER% [FINISHED]
SET END_TIME=%TIME%
-CALL :SubGetDuration
-CALL :SubMsg "INFO" "Compilation started on %START_DATE%-%START_TIME% and completed on %DATE%-%END_TIME% [%DURATION%]"
+CALL %COMMON% :SubGetDuration
+CALL %COMMON% :SubMsg "INFO" "Compilation started on %START_DATE%-%START_TIME% and completed on %DATE%-%END_TIME% [%DURATION%]"
ENDLOCAL
EXIT /B
@@ -201,10 +195,10 @@ MSBuild.exe mpc-hc.sln %MSBUILD_SWITCHES%^ /flp1:LogFile=%LOG_DIR%\filters_errors_%BUILDCFG%_%1.log;errorsonly;Verbosity=diagnostic^
/flp2:LogFile=%LOG_DIR%\filters_warnings_%BUILDCFG%_%1.log;warningsonly;Verbosity=diagnostic
IF %ERRORLEVEL% NEQ 0 (
- CALL :SubMsg "ERROR" "mpc-hc.sln %BUILDCFG% Filter %1 - Compilation failed!"
+ CALL %COMMON% :SubMsg "ERROR" "mpc-hc.sln %BUILDCFG% Filter %1 - Compilation failed!"
EXIT /B
) ELSE (
- CALL :SubMsg "INFO" "mpc-hc.sln %BUILDCFG% Filter %1 compiled successfully"
+ CALL %COMMON% :SubMsg "INFO" "mpc-hc.sln %BUILDCFG% Filter %1 compiled successfully"
)
IF /I "%SIGN%" == "True" CALL :SubSign Filters *.ax
IF /I "%SIGN%" == "True" CALL :SubSign Filters VSFilter.dll
@@ -220,10 +214,10 @@ MSBuild.exe mpc-hc.sln %MSBUILD_SWITCHES%^ /flp1:LogFile="%LOG_DIR%\mpc-hc_errors_%BUILDCFG%_%1.log";errorsonly;Verbosity=diagnostic^
/flp2:LogFile="%LOG_DIR%\mpc-hc_warnings_%BUILDCFG%_%1.log";warningsonly;Verbosity=diagnostic
IF %ERRORLEVEL% NEQ 0 (
- CALL :SubMsg "ERROR" "mpc-hc.sln %BUILDCFG% %1 - Compilation failed!"
+ CALL %COMMON% :SubMsg "ERROR" "mpc-hc.sln %BUILDCFG% %1 - Compilation failed!"
EXIT /B
) ELSE (
- CALL :SubMsg "INFO" "mpc-hc.sln %BUILDCFG% %1 compiled successfully"
+ CALL %COMMON% :SubMsg "INFO" "mpc-hc.sln %BUILDCFG% %1 compiled successfully"
)
IF /I "%SIGN%" == "True" CALL :SubSign MPC-HC mpc-hc*.exe
IF /I "%SIGN%" == "True" CALL :SubSign MPC-HC *.dll %LAVFILTERSDIR%
@@ -236,14 +230,14 @@ EXIT /B IF %ERRORLEVEL% NEQ 0 EXIT /B
IF /I "%BUILDCFG%" == "Debug" (
- CALL :SubMsg "WARNING" "/debug was used, resources will not be built"
+ CALL %COMMON% :SubMsg "WARNING" "/debug was used, resources will not be built"
EXIT /B
)
CALL :SubMPCIconLib %1
IF DEFINED MPCHC_LITE (
- CALL :SubMsg "WARNING" "/lite was used, translations will not be built"
+ CALL %COMMON% :SubMsg "WARNING" "/lite was used, translations will not be built"
EXIT /B
)
@@ -258,10 +252,10 @@ TITLE Compiling mpciconlib %COMPILER% - Release^|%1... MSBuild.exe mpciconlib.sln %MSBUILD_SWITCHES%^
/target:%BUILDTYPE% /property:Configuration=Release;Platform=%1
IF %ERRORLEVEL% NEQ 0 (
- CALL :SubMsg "ERROR" "mpciconlib.sln %1 - Compilation failed!"
+ CALL %COMMON% :SubMsg "ERROR" "mpciconlib.sln %1 - Compilation failed!"
EXIT /B
) ELSE (
- CALL :SubMsg "INFO" "mpciconlib.sln %1 compiled successfully"
+ CALL %COMMON% :SubMsg "INFO" "mpciconlib.sln %1 compiled successfully"
)
IF /I "%SIGN%" == "True" CALL :SubSign MPC-HC mpciconlib.dll
@@ -289,7 +283,7 @@ FOR %%G IN ( TITLE Compiling mpcresources %COMPILER% - %%~G^|%1...
MSBuild.exe mpcresources.sln %MSBUILD_SWITCHES%^
/target:%BUILDTYPE% /property:Configuration="Release %%~G";Platform=%1
- IF %ERRORLEVEL% NEQ 0 CALL :SubMsg "ERROR" "Compilation failed!" & EXIT /B
+ IF %ERRORLEVEL% NEQ 0 CALL %COMMON% :SubMsg "ERROR" "Compilation failed!" & EXIT /B
)
IF /I "%SIGN%" == "True" CALL :SubSign MPC-HC mpcresources.??.dll Lang
IF /I "%SIGN%" == "True" CALL :SubSign MPC-HC mpcresources.??_??.dll Lang
@@ -304,10 +298,10 @@ TITLE Compiling MPCTestAPI %COMPILER% - %BUILDCFG%^|%1... MSBuild.exe MPCTestAPI.sln %MSBUILD_SWITCHES%^
/target:%BUILDTYPE% /property:Configuration=%BUILDCFG%;Platform=%1
IF %ERRORLEVEL% NEQ 0 (
- CALL :SubMsg "ERROR" "MPCTestAPI.sln %1 - Compilation failed!"
+ CALL %COMMON% :SubMsg "ERROR" "MPCTestAPI.sln %1 - Compilation failed!"
EXIT /B
) ELSE (
- CALL :SubMsg "INFO" "MPCTestAPI.sln %1 compiled successfully"
+ CALL %COMMON% :SubMsg "INFO" "MPCTestAPI.sln %1 compiled successfully"
)
POPD
EXIT /B
@@ -323,9 +317,9 @@ IF /I "%PPLATFORM%" == "Win32" PUSHD "%BIN_DIR%\%~1_x86\%3" IF /I "%PPLATFORM%" == "x64" PUSHD "%BIN_DIR%\%~1_x64\%3"
FOR /F "delims=" %%A IN ('DIR "%2" /b') DO (
- CALL "%~dp0contrib\sign.bat" "%%A" || (CALL :SubMsg "ERROR" "Problem signing %%A" & GOTO Break)
+ CALL "%~dp0contrib\sign.bat" "%%A" || (CALL %COMMON% :SubMsg "ERROR" "Problem signing %%A" & GOTO Break)
)
-CALL :SubMsg "INFO" "%2 signed successfully."
+CALL %COMMON% :SubMsg "INFO" "%2 signed successfully."
:Break
POPD
@@ -336,9 +330,9 @@ EXIT /B IF /I "%BUILDCFG%" == "Debug" EXIT /B
PUSHD "%BIN_DIR%"
EXPAND "%DXSDK_DIR%\Redist\Jun2010_D3DCompiler_43_%~1.cab" -F:D3DCompiler_43.dll "mpc-hc_%~1%~2"
-IF %ERRORLEVEL% NEQ 0 CALL :SubMsg "ERROR" "Problem when extracting %DXSDK_DIR%\Redist\Jun2010_D3DCompiler_43_%~1.cab" & EXIT /B
+IF %ERRORLEVEL% NEQ 0 CALL %COMMON% :SubMsg "ERROR" "Problem when extracting %DXSDK_DIR%\Redist\Jun2010_D3DCompiler_43_%~1.cab" & EXIT /B
EXPAND "%DXSDK_DIR%\Redist\Jun2010_d3dx9_43_%~1.cab" -F:d3dx9_43.dll "mpc-hc_%~1%~2"
-IF %ERRORLEVEL% NEQ 0 CALL :SubMsg "ERROR" "Problem when extracting Jun2010_d3dx9_43_%~1.cab" & EXIT /B
+IF %ERRORLEVEL% NEQ 0 CALL %COMMON% :SubMsg "ERROR" "Problem when extracting Jun2010_d3dx9_43_%~1.cab" & EXIT /B
POPD
EXIT /B
@@ -359,18 +353,18 @@ IF DEFINED MPCHC_LITE ( CALL :SubCopyDXDll %MPCHC_COPY_DX_DLL_ARGS%
-CALL :SubDetectInnoSetup
+CALL %COMMON% :SubDetectInnoSetup
IF NOT DEFINED InnoSetupPath (
- CALL :SubMsg "WARNING" "Inno Setup wasn't found, the %1 installer wasn't built"
+ CALL %COMMON% :SubMsg "WARNING" "Inno Setup wasn't found, the %1 installer wasn't built"
EXIT /B
)
TITLE Compiling %1 %COMPILER% installer...
"%InnoSetupPath%" /SMySignTool="cmd /c "%~dp0contrib\sign.bat" $f" /Q /O"%BIN_DIR%"^
"distrib\mpc-hc_setup.iss" %MPCHC_INNO_DEF%
-IF %ERRORLEVEL% NEQ 0 CALL :SubMsg "ERROR" "Compilation failed!" & EXIT /B
-CALL :SubMsg "INFO" "%1 installer successfully built"
+IF %ERRORLEVEL% NEQ 0 CALL %COMMON% :SubMsg "ERROR" "Compilation failed!" & EXIT /B
+CALL %COMMON% :SubMsg "INFO" "%1 installer successfully built"
EXIT /B
@@ -378,11 +372,11 @@ EXIT /B :SubCreatePackages
IF %ERRORLEVEL% NEQ 0 EXIT /B
-CALL :SubDetectSevenzipPath
+CALL %COMMON% :SubDetectSevenzipPath
CALL :SubGetVersion
IF NOT DEFINED SEVENZIP (
- CALL :SubMsg "WARNING" "7-Zip wasn't found, the %1 %2 package wasn't built"
+ CALL %COMMON% :SubMsg "WARNING" "7-Zip wasn't found, the %1 %2 package wasn't built"
EXIT /B
)
@@ -425,8 +419,8 @@ IF /I "%NAME%" == "MPC-HC" ( TITLE Creating archive %PCKG_NAME%.pdb.7z...
START "7z" /B /WAIT "%SEVENZIP%" a -t7z "%PCKG_NAME%.pdb.7z" %PDB_FILES% -m0=LZMA2^
-mmt=%NUMBER_OF_PROCESSORS% -mx9 -ms=on
- IF %ERRORLEVEL% NEQ 0 CALL :SubMsg "ERROR" "Unable to create %PCKG_NAME%.pdb.7z!" & EXIT /B
- CALL :SubMsg "INFO" "%PCKG_NAME%.pdb.7z successfully created"
+ IF %ERRORLEVEL% NEQ 0 CALL %COMMON% :SubMsg "ERROR" "Unable to create %PCKG_NAME%.pdb.7z!" & EXIT /B
+ CALL %COMMON% :SubMsg "INFO" "%PCKG_NAME%.pdb.7z successfully created"
IF EXIST "%PCKG_NAME%.pdb.7z" MOVE /Y "%PCKG_NAME%.pdb.7z" ".." >NUL
POPD
)
@@ -471,8 +465,8 @@ COPY /Y /V "..\docs\Readme.txt" "%PCKG_NAME%" >NUL TITLE Creating archive %PCKG_NAME%.7z...
START "7z" /B /WAIT "%SEVENZIP%" a -t7z "%PCKG_NAME%.7z" "%PCKG_NAME%" -m0=LZMA2^
-mmt=%NUMBER_OF_PROCESSORS% -mx9 -ms=on
-IF %ERRORLEVEL% NEQ 0 CALL :SubMsg "ERROR" "Unable to create %PCKG_NAME%.7z!" & EXIT /B
-CALL :SubMsg "INFO" "%PCKG_NAME%.7z successfully created"
+IF %ERRORLEVEL% NEQ 0 CALL %COMMON% :SubMsg "ERROR" "Unable to create %PCKG_NAME%.7z!" & EXIT /B
+CALL %COMMON% :SubMsg "INFO" "%PCKG_NAME%.7z successfully created"
IF EXIST "%PCKG_NAME%" RD /Q /S "%PCKG_NAME%"
@@ -509,27 +503,6 @@ IF "%MPCHC_NIGHTLY%" NEQ "0" ( POPD
EXIT /B
-
-:SubDetectInnoSetup
-FOR /F "tokens=5*" %%A IN (
- 'REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Inno Setup 5_is1" /v "Inno Setup: App Path" 2^>NUL ^| FIND "REG_SZ" ^|^|
- REG QUERY "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Inno Setup 5_is1" /v "Inno Setup: App Path" 2^>NUL ^| FIND "REG_SZ"') DO SET "InnoSetupPath=%%B\ISCC.exe"
-EXIT /B
-
-
-:SubDetectSevenzipPath
-FOR %%G IN (7z.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
-IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
-
-FOR %%G IN (7za.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G")
-IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B)
-
-FOR /F "tokens=2*" %%A IN (
- 'REG QUERY "HKLM\SOFTWARE\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ" ^|^|
- REG QUERY "HKLM\SOFTWARE\Wow6432Node\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ"') DO SET "SEVENZIP=%%B\7z.exe"
-EXIT /B
-
-
:ShowHelp
TITLE %~nx0 Help
ECHO.
@@ -563,7 +536,7 @@ TITLE Compiling MPC-HC %COMPILER% [ERROR] ECHO Not all build dependencies were found.
ECHO.
ECHO See "docs\Compilation.txt" for more information.
-CALL :SubMsg "ERROR" "Compilation failed!" & EXIT /B
+CALL %COMMON% :SubMsg "ERROR" "Compilation failed!" & EXIT /B
:UnsupportedSwitch
@@ -573,68 +546,4 @@ ECHO. ECHO "%~nx0 %*"
ECHO.
ECHO Run "%~nx0 help" for details about the commandline switches.
-CALL :SubMsg "ERROR" "Compilation failed!" & EXIT /B
-
-
-:SubMsg
-ECHO. & ECHO ------------------------------
-IF /I "%~1" == "ERROR" (
- CALL :SubColorText "0C" "[%~1]" "%~2"
-) ELSE IF /I "%~1" == "INFO" (
- CALL :SubColorText "0A" "[%~1]" "%~2"
-) ELSE IF /I "%~1" == "WARNING" (
- CALL :SubColorText "0E" "[%~1]" "%~2"
-)
-ECHO ------------------------------ & ECHO.
-IF /I "%~1" == "ERROR" (
- IF NOT DEFINED SILENT (
- ECHO Press any key to exit...
- PAUSE >NUL
- )
- ENDLOCAL
- EXIT /B 1
-) ELSE (
- EXIT /B
-)
-
-
-:SubColorText
-IF DEFINED NOCOLORS ECHO %~2 %~3 & EXIT /B
-FOR /F "tokens=1,2 delims=#" %%G IN (
- '"PROMPT #$H#$E# & ECHO ON & FOR %%H IN (1) DO REM"') DO (
- SET "DEL=%%G")
-<NUL SET /p ".=%DEL%" > "%~2"
-FINDSTR /v /a:%1 /R ".18" "%~2" NUL
-DEL "%~2" > NUL 2>&1
-REM The space in the following ECHO is intentional
-ECHO %~3
-EXIT /B
-
-
-:SubGetDuration
-SET START_TIME=%START_TIME: =%
-SET END_TIME=%END_TIME: =%
-
-FOR /F "tokens=1-4 delims=:.," %%G IN ("%START_TIME%") DO (
- SET /A "STARTTIME=(100%%G %% 100) * 360000 + (100%%H %% 100) * 6000 + (100%%I %% 100) * 100 + (100%%J %% 100)"
-)
-
-FOR /F "tokens=1-4 delims=:.," %%G IN ("%END_TIME%") DO (
- SET /A "ENDTIME=(100%%G %% 100) * 360000 + (100%%H %% 100) * 6000 + (100%%I %% 100) * 100 + (100%%J %% 100)"
-)
-
-SET /A DURATION=%ENDTIME%-%STARTTIME%
-IF %ENDTIME% LSS %STARTTIME% SET /A "DURATION+=24 * 360000"
-
-SET /A DURATIONH=%DURATION% / 360000
-SET /A DURATIONM=(%DURATION% - %DURATIONH%*360000) / 6000
-SET /A DURATIONS=(%DURATION% - %DURATIONH%*360000 - %DURATIONM%*6000) / 100
-SET /A DURATIONHS=(%DURATION% - %DURATIONH%*360000 - %DURATIONM%*6000 - %DURATIONS%*100)*10
-
-IF %DURATIONH% EQU 0 (SET DURATIONH=) ELSE (SET DURATIONH=%DURATIONH%h )
-IF %DURATIONM% EQU 0 (SET DURATIONM=) ELSE (SET DURATIONM=%DURATIONM%m )
-IF %DURATIONS% EQU 0 (SET DURATIONS=) ELSE (SET DURATIONS=%DURATIONS%s )
-IF %DURATIONHS% EQU 0 (SET DURATIONHS=) ELSE (SET DURATIONHS=%DURATIONHS%ms)
-
-SET "DURATION=%DURATIONH%%DURATIONM%%DURATIONS%%DURATIONHS%"
-EXIT /B
+CALL %COMMON% :SubMsg "ERROR" "Compilation failed!" & EXIT /B
diff --git a/common.bat b/common.bat new file mode 100644 index 000000000..a216fc716 --- /dev/null +++ b/common.bat @@ -0,0 +1,140 @@ +@ECHO OFF +REM (C) 2015 see Authors.txt +REM +REM This file is part of MPC-HC. +REM +REM MPC-HC is free software; you can redistribute it and/or modify +REM it under the terms of the GNU General Public License as published by +REM the Free Software Foundation; either version 3 of the License, or +REM (at your option) any later version. +REM +REM MPC-HC is distributed in the hope that it will be useful, +REM but WITHOUT ANY WARRANTY; without even the implied warranty of +REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +REM GNU General Public License for more details. +REM +REM You should have received a copy of the GNU General Public License +REM along with this program. If not, see <http://www.gnu.org/licenses/>. + + +IF "%1"=="" CALL :SubMsg "WARNING" "common.bat No argument was provided." & EXIT /B +PUSHD %~dp0 +CALL %* +POPD +EXIT /B + +:SubPreBuild +IF EXIST "../build.user.bat" CALL "../build.user.bat" + +IF NOT DEFINED MPCHC_MINGW32 IF DEFINED MINGW32 (SET "MPCHC_MINGW32=%MINGW32%") ELSE (EXIT /B 1) +IF NOT DEFINED MPCHC_MINGW64 IF DEFINED MINGW64 (SET "MPCHC_MINGW64=%MINGW64%") ELSE (EXIT /B 1) +IF NOT DEFINED MPCHC_MSYS IF DEFINED MSYS (SET "MPCHC_MSYS=%MSYS%") ELSE (EXIT /B 1) + +IF NOT EXIST "%MPCHC_MINGW32%" EXIT /B 1 +IF NOT EXIST "%MPCHC_MINGW64%" EXIT /B 1 +IF NOT EXIST "%MPCHC_MSYS%" EXIT /B 1 +EXIT /B + +:SubSetPath +CALL :SubPreBuild +IF %ERRORLEVEL% NEQ 0 EXIT /B +SET PATH=%MPCHC_MSYS%\bin;%MPCHC_MINGW32%\bin;%PATH% +EXIT /B + +:SubDoesExist +FOR %%G IN (%~1) DO (SET FOUND=%%~$PATH:G) +IF NOT DEFINED FOUND EXIT /B 1 +EXIT /B + +:SubDetectCurl +IF EXIST curl.exe (SET "CURL=curl.exe" & EXIT /B) +IF EXIST "%CURL_PATH%\curl.exe" (SET "CURL=%CURL_PATH%\curl.exe" & EXIT /B) +FOR %%G IN (curl.exe) DO (SET "CURL_PATH=%%~$PATH:G") +IF EXIST "%CURL_PATH%" (SET "CURL=%CURL_PATH%" & EXIT /B) +EXIT /B + +:SubDetectTar +IF EXIST tar.exe (SET "TAR=tar.exe" & EXIT /B) +IF EXIST "%TAR_PATH%\tar.exe" (SET "TAR=%TAR_PATH%\tar.exe" & EXIT /B) +FOR %%G IN (tar.exe) DO (SET "TAR_PATH=%%~$PATH:G") +IF EXIST "%TAR_PATH%" (SET "TAR=%TAR_PATH%" & EXIT /B) +EXIT /B + +:SubDetectInnoSetup +FOR /F "tokens=5*" %%A IN ( + 'REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Inno Setup 5_is1" /v "Inno Setup: App Path" 2^>NUL ^| FIND "REG_SZ" ^|^| + REG QUERY "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Inno Setup 5_is1" /v "Inno Setup: App Path" 2^>NUL ^| FIND "REG_SZ"') DO SET "InnoSetupPath=%%B\ISCC.exe" +EXIT /B + +:SubDetectSevenzipPath +FOR %%G IN (7z.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G") +IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B) + +FOR %%G IN (7za.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G") +IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B) + +FOR /F "tokens=2*" %%A IN ( + 'REG QUERY "HKLM\SOFTWARE\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ" ^|^| + REG QUERY "HKLM\SOFTWARE\Wow6432Node\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ"') DO SET "SEVENZIP=%%B\7z.exe" +EXIT /B + +:SubMsg +ECHO. & ECHO ------------------------------ +IF /I "%~1" == "ERROR" ( + CALL :SubColorText "0C" "[%~1]" "%~2" +) ELSE IF /I "%~1" == "INFO" ( + CALL :SubColorText "0A" "[%~1]" "%~2" +) ELSE IF /I "%~1" == "WARNING" ( + CALL :SubColorText "0E" "[%~1]" "%~2" +) +ECHO ------------------------------ & ECHO. +IF /I "%~1" == "ERROR" ( + IF NOT DEFINED SILENT ( + ECHO Press any key to exit... + PAUSE >NUL + ) + ENDLOCAL + EXIT /B 1 +) ELSE ( + EXIT /B +) + +:SubColorText +IF DEFINED NOCOLORS ECHO %~2 %~3 & EXIT /B +FOR /F "tokens=1,2 delims=#" %%G IN ( + '"PROMPT #$H#$E# & ECHO ON & FOR %%H IN (1) DO REM"') DO ( + SET "DEL=%%G") +<NUL SET /p ".=%DEL%" > "%~2" +FINDSTR /v /a:%1 /R ".18" "%~2" NUL +DEL "%~2" > NUL 2>&1 +REM The space in the following ECHO is intentional +ECHO %~3 +EXIT /B + +:SubGetDuration +SET START_TIME=%START_TIME: =% +SET END_TIME=%END_TIME: =% + +FOR /F "tokens=1-4 delims=:.," %%G IN ("%START_TIME%") DO ( + SET /A "STARTTIME=(100%%G %% 100) * 360000 + (100%%H %% 100) * 6000 + (100%%I %% 100) * 100 + (100%%J %% 100)" +) + +FOR /F "tokens=1-4 delims=:.," %%G IN ("%END_TIME%") DO ( + SET /A "ENDTIME=(100%%G %% 100) * 360000 + (100%%H %% 100) * 6000 + (100%%I %% 100) * 100 + (100%%J %% 100)" +) + +SET /A DURATION=%ENDTIME%-%STARTTIME% +IF %ENDTIME% LSS %STARTTIME% SET /A "DURATION+=24 * 360000" + +SET /A DURATIONH=%DURATION% / 360000 +SET /A DURATIONM=(%DURATION% - %DURATIONH%*360000) / 6000 +SET /A DURATIONS=(%DURATION% - %DURATIONH%*360000 - %DURATIONM%*6000) / 100 +SET /A DURATIONHS=(%DURATION% - %DURATIONH%*360000 - %DURATIONM%*6000 - %DURATIONS%*100)*10 + +IF %DURATIONH% EQU 0 (SET DURATIONH=) ELSE (SET DURATIONH=%DURATIONH%h ) +IF %DURATIONM% EQU 0 (SET DURATIONM=) ELSE (SET DURATIONM=%DURATIONM%m ) +IF %DURATIONS% EQU 0 (SET DURATIONS=) ELSE (SET DURATIONS=%DURATIONS%s ) +IF %DURATIONHS% EQU 0 (SET DURATIONHS=) ELSE (SET DURATIONHS=%DURATIONHS%ms) + +SET "DURATION=%DURATIONH%%DURATIONM%%DURATIONS%%DURATIONHS%" +EXIT /B diff --git a/contrib/coverity.bat b/contrib/coverity.bat index c833807b4..6cf5feed4 100755 --- a/contrib/coverity.bat +++ b/contrib/coverity.bat @@ -20,10 +20,11 @@ REM along with this program. If not, see <http://www.gnu.org/licenses/>. SETLOCAL PUSHD %~dp0 +SET "COMMMON=%~dp0..\common.bat" IF EXIST "..\build.user.bat" CALL "..\build.user.bat" -IF NOT EXIST "%COV_PATH%" (CALL :SubMsg "ERROR" "Coverity not found in '%COV_PATH%'" & EXIT /B) +IF NOT EXIST "%COV_PATH%" (CALL %COMMON% :SubMsg "ERROR" "Coverity not found in '%COV_PATH%'" & EXIT /B) :Cleanup @@ -43,12 +44,12 @@ CALL "..\build.bat" clean Api Both Release silent "%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Filters Both Release silent "%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build IconLib Both Release silent "%COV_PATH%\bin\cov-build.exe" --dir cov-int "..\build.bat" Build Api Both Release silent -IF %ERRORLEVEL% NEQ 0 (CALL :SubMsg "ERROR" "Build failed." & EXIT /B) +IF %ERRORLEVEL% NEQ 0 (CALL %COMMON% :SubMsg "ERROR" "Build failed." & EXIT /B) :tar -CALL :SubDetectTar -IF NOT EXIST "%TAR%" (CALL :SubMsg "WARNING" "tar not found. Trying 7-zip..." & GOTO SevenZip) +CALL %COMMON% :SubDetectTar +IF NOT EXIST "%TAR%" (CALL %COMMON% :SubMsg "WARNING" "tar not found. Trying 7-zip..." & GOTO SevenZip) SET "FILE_NAME=MPC-HC.tar.xz" SET "XZ_OPT=-9e" @@ -63,99 +64,37 @@ IF %ERRORLEVEL% NEQ 0 ( %TAR% cJf %FILE_NAME% cov-int ) -IF %ERRORLEVEL% NEQ 0 (CALL :SubMsg "WARNING" "tar failed. Trying 7-zip..." & GOTO SevenZip) +IF %ERRORLEVEL% NEQ 0 (CALL %COMMON% :SubMsg "WARNING" "tar failed. Trying 7-zip..." & GOTO SevenZip) GOTO Upload :SevenZip -CALL :SubDetectSevenzipPath -IF NOT EXIST "%SEVENZIP%" (CALL :SubMsg "ERROR" "7-zip not found." & EXIT /B) +CALL %COMMON% :SubDetectSevenzipPath +IF NOT EXIST "%SEVENZIP%" (CALL %COMMON% :SubMsg "ERROR" "7-zip not found." & EXIT /B) SET "FILE_NAME=MPC-HC.tgz" REM 7-Zip doesn't support tarball compliant LZMA2 archives, just use tar/gzip. "%SEVENZIP%" a -ttar "MPC-HC.tar" "cov-int" -IF %ERRORLEVEL% NEQ 0 (CALL :SubMsg "ERROR" "7-zip failed." & EXIT /B) +IF %ERRORLEVEL% NEQ 0 (CALL %COMMON% :SubMsg "ERROR" "7-zip failed." & EXIT /B) "%SEVENZIP%" a -tgzip "%FILE_NAME%" "MPC-HC.tar" -IF %ERRORLEVEL% NEQ 0 (CALL :SubMsg "ERROR" "7-zip failed." & EXIT /B) +IF %ERRORLEVEL% NEQ 0 (CALL %COMMON% :SubMsg "ERROR" "7-zip failed." & EXIT /B) IF EXIST "MPC-HC.tar" DEL "MPC-HC.tar" GOTO Upload :Upload CALL "..\build.bat" GetVersion -CALL :SubDetectCurl -IF NOT EXIST "%CURL%" (CALL :SubMsg "WARNING" "curl not found. Upload aborted." & GOTO End) -IF NOT DEFINED COV_TOKEN (CALL :SubMsg "WARNING" "COV_TOKEN not defined. Upload aborted." & GOTO End) -IF NOT DEFINED COV_EMAIL (CALL :SubMsg "WARNING" "COV_EMAIL not defined. Upload aborted." & GOTO End) +CALL %COMMON% :SubDetectCurl +IF NOT EXIST "%CURL%" (CALL %COMMON% :SubMsg "WARNING" "curl not found. Upload aborted." & GOTO End) +IF NOT DEFINED COV_TOKEN (CALL %COMMON% :SubMsg "WARNING" "COV_TOKEN not defined. Upload aborted." & GOTO End) +IF NOT DEFINED COV_EMAIL (CALL %COMMON% :SubMsg "WARNING" "COV_EMAIL not defined. Upload aborted." & GOTO End) %CURL% --form token=%COV_TOKEN% --form email=%COV_EMAIL% --form file=@%FILE_NAME% --form version=%MPCHC_HASH% https://scan.coverity.com/builds?project=MPC-HC -o cov_upload.log GOTO End :End POPD -CALL :SubMsg "INFO" "Done. Press any key to exit..." +CALL %COMMON% :SubMsg "INFO" "Done. Press any key to exit..." PAUSE >NUL ENDLOCAL EXIT /B - - -:SubDetectSevenzipPath -FOR %%G IN (7z.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G") -IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B) - -FOR %%G IN (7za.exe) DO (SET "SEVENZIP_PATH=%%~$PATH:G") -IF EXIST "%SEVENZIP_PATH%" (SET "SEVENZIP=%SEVENZIP_PATH%" & EXIT /B) - -FOR /F "tokens=2*" %%A IN ( - 'REG QUERY "HKLM\SOFTWARE\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ" ^|^| - REG QUERY "HKLM\SOFTWARE\Wow6432Node\7-Zip" /v "Path" 2^>NUL ^| FIND "REG_SZ"') DO SET "SEVENZIP=%%B\7z.exe" -EXIT /B - - -:SubDetectCurl -IF EXIST curl.exe (SET "CURL=curl.exe" & EXIT /B) -IF EXIST "%CURL_PATH%\curl.exe" (SET "CURL=%CURL_PATH%\curl.exe" & EXIT /B) -FOR %%G IN (curl.exe) DO (SET "CURL_PATH=%%~$PATH:G") -IF EXIST "%CURL_PATH%" (SET "CURL=%CURL_PATH%" & EXIT /B) -EXIT /B - - -:SubDetectTar -IF EXIST tar.exe (SET "TAR=tar.exe" & EXIT /B) -IF EXIST "%TAR_PATH%\tar.exe" (SET "TAR=%TAR_PATH%\tar.exe" & EXIT /B) -FOR %%G IN (tar.exe) DO (SET "TAR_PATH=%%~$PATH:G") -IF EXIST "%TAR_PATH%" (SET "TAR=%TAR_PATH%" & EXIT /B) -EXIT /B - - -:SubMsg -ECHO. & ECHO ------------------------------ -IF /I "%~1" == "ERROR" ( - CALL :SubColorText "0C" "[%~1]" "%~2" -) ELSE IF /I "%~1" == "INFO" ( - CALL :SubColorText "0A" "[%~1]" "%~2" -) ELSE IF /I "%~1" == "WARNING" ( - CALL :SubColorText "0E" "[%~1]" "%~2" -) -ECHO ------------------------------ & ECHO. -IF /I "%~1" == "ERROR" ( - ECHO Press any key to exit... - PAUSE >NUL - POPD - ENDLOCAL - EXIT /B 1 -) ELSE ( - EXIT /B -) - - -:SubColorText -FOR /F "tokens=1,2 delims=#" %%G IN ( - '"PROMPT #$H#$E# & ECHO ON & FOR %%H IN (1) DO REM"') DO ( - SET "DEL=%%G") -<NUL SET /p ".=%DEL%" > "%~2" -FINDSTR /v /a:%1 /R ".18" "%~2" NUL -DEL "%~2" > NUL 2>&1 -REM The space in the following ECHO is intentional -ECHO %~3 -EXIT /B diff --git a/src/YASM.bat b/src/YASM.bat index abdbe7379..7e0d9fc49 100755 --- a/src/YASM.bat +++ b/src/YASM.bat @@ -17,11 +17,9 @@ REM You should have received a copy of the GNU General Public License REM along with this program. If not, see <http://www.gnu.org/licenses/>.
-IF EXIST "%~dp0..\build.user.bat" CALL "%~dp0..\build.user.bat"
-
-IF NOT DEFINED MPCHC_MSYS IF DEFINED MSYS SET MPCHC_MSYS=%MSYS%
-IF NOT EXIST "%MPCHC_MSYS%" EXIT /B 1
-
-SET PATH=%PATH%;%MPCHC_MSYS%\bin
+CALL "%~dp0..\common.bat" :SubSetPath
+IF %ERRORLEVEL% NEQ 0 EXIT /B
+CALL "%~dp0..\common.bat" :SubDoesExist yasm.exe
+IF %ERRORLEVEL% NEQ 0 EXIT /B
yasm.exe %*
diff --git a/src/filters/transform/VSFilter/installer/build_installer.bat b/src/filters/transform/VSFilter/installer/build_installer.bat index 13314751a..8764b78ee 100755 --- a/src/filters/transform/VSFilter/installer/build_installer.bat +++ b/src/filters/transform/VSFilter/installer/build_installer.bat @@ -1,5 +1,5 @@ @ECHO OFF
-REM (C) 2012-2013 see Authors.txt
+REM (C) 2012-2013, 2015 see Authors.txt
REM
REM This file is part of MPC-HC.
REM
@@ -20,14 +20,10 @@ REM along with this program. If not, see <http://www.gnu.org/licenses/>. SETLOCAL
PUSHD %~dp0
-REM You can set here the Inno Setup path if for example you have Inno Setup Unicode
-REM installed and you want to use the ANSI Inno Setup which is in another location
-IF NOT DEFINED InnoSetupPath SET "InnoSetupPath=H:\progs\thirdparty\isetup"
-
SET ROOT_DIR=..\..\..\..\..
SET "BIN_DIR=%ROOT_DIR%\bin"
-CALL :SubDetectInnoSetup
+CALL "%~dp0%ROOT_DIR%\common.bat" :SubDetectInnoSetup
IF EXIST "%~dp0%ROOT_DIR%\signinfo.txt" (
CALL :SubSign VSFilter.dll x86
CALL :SubSign VSFilter.dll x64
@@ -71,34 +67,6 @@ IF /I "%~1%" == "x64Build" ( EXIT /B
-:SubDetectInnoSetup
-REM Detect if we are running on 64bit Windows and use Wow6432Node since Inno Setup is
-REM a 32-bit application, and set the registry key of Inno Setup accordingly
-IF DEFINED PROGRAMFILES(x86) (
- SET "U_=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
-) ELSE (
- SET "U_=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
-)
-
-IF DEFINED InnoSetupPath IF NOT EXIST "%InnoSetupPath%" (
- ECHO "%InnoSetupPath%" wasn't found on this machine! I will try to detect Inno Setup's path from the registry...
-)
-
-IF NOT EXIST "%InnoSetupPath%" (
- FOR /F "delims=" %%a IN (
- 'REG QUERY "%U_%\Inno Setup 5_is1" /v "Inno Setup: App Path"2^>Nul^|FIND "REG_SZ"') DO (
- SET "InnoSetupPath=%%a" & CALL :SubInnoSetupPath %%InnoSetupPath:*Z=%%)
-)
-
-IF NOT EXIST "%InnoSetupPath%" ECHO Inno Setup wasn't found! & GOTO EndWithError
-EXIT /B
-
-
-:SubInnoSetupPath
-SET "InnoSetupPath=%*"
-EXIT /B
-
-
:EndWithError
Title Building VSFilter installer [ERROR]
COLOR 0C
diff --git a/src/thirdparty/LAVFilters/build_lavfilters.bat b/src/thirdparty/LAVFilters/build_lavfilters.bat index cf750507e..172ece1ae 100755 --- a/src/thirdparty/LAVFilters/build_lavfilters.bat +++ b/src/thirdparty/LAVFilters/build_lavfilters.bat @@ -21,20 +21,12 @@ SETLOCAL PUSHD %~dp0
SET ROOT_DIR=..\..\..
+SET "COMMON=%~dp0%ROOT_DIR%\common.bat"
-IF EXIST "%ROOT_DIR%\build.user.bat" CALL "%ROOT_DIR%\build.user.bat"
-
-IF NOT DEFINED MPCHC_MINGW32 IF DEFINED MINGW32 (SET MPCHC_MINGW32=%MINGW32%) ELSE (GOTO MissingVar)
-IF NOT DEFINED MPCHC_MINGW64 IF DEFINED MINGW64 (SET MPCHC_MINGW64=%MINGW64%) ELSE (GOTO MissingVar)
-IF NOT DEFINED MPCHC_MSYS IF DEFINED MSYS (SET MPCHC_MSYS=%MSYS%) ELSE (GOTO MissingVar)
-
-IF NOT EXIST "%MPCHC_MINGW32%" GOTO MissingVar
-IF NOT EXIST "%MPCHC_MINGW64%" GOTO MissingVar
-IF NOT EXIST "%MPCHC_MSYS%" GOTO MissingVar
-
-SET PATH=%MPCHC_MSYS%\bin;%MPCHC_MINGW32%\bin;%PATH%
-FOR %%G IN (gcc.exe) DO (SET FOUND=%%~$PATH:G)
-IF NOT DEFINED FOUND GOTO MissingVar
+CALL %COMMON% :SubSetPath
+IF %ERRORLEVEL% NEQ 0 EXIT /B
+CALL %COMMON% :SubDoesExist gcc.exe
+IF %ERRORLEVEL% NEQ 0 EXIT /B
SET ARG=/%*
SET ARG=%ARG:/=%
@@ -115,8 +107,8 @@ EXIT /B IF %ERRORLEVEL% NEQ 0 EXIT /B
TITLE Compiling LAV Filters %COMPILER% [FINISHED]
SET END_TIME=%TIME%
-CALL :SubGetDuration
-CALL :SubMsg "INFO" "LAV Filters compilation started on %START_DATE%-%START_TIME% and completed on %DATE%-%END_TIME% [%DURATION%]"
+CALL %COMMON% :SubGetDuration
+CALL %COMMON% :SubMsg "INFO" "LAV Filters compilation started on %START_DATE%-%START_TIME% and completed on %DATE%-%END_TIME% [%DURATION%]"
POPD
ENDLOCAL
EXIT /B
@@ -130,7 +122,7 @@ IF /I "%ARCH%" == "x86" (SET "ARCHVS=Win32") ELSE (SET "ARCHVS=x64") REM Build FFmpeg
sh build_ffmpeg.sh %ARCH% %BUILDTYPE%
IF %ERRORLEVEL% NEQ 0 (
- CALL :SubMsg "ERROR" "'sh build_ffmpeg.sh %ARCH% %BUILDTYPE%' failed!"
+ CALL %COMMON% :SubMsg "ERROR" "'sh build_ffmpeg.sh %ARCH% %BUILDTYPE%' failed!"
EXIT /B
)
@@ -141,7 +133,7 @@ IF /I "%ARCH%" == "x86" (SET "ARCHVS=Win32") ELSE (SET "ARCHVS=x64") MSBuild.exe LAVFilters.sln /nologo /consoleloggerparameters:Verbosity=minimal /nodeReuse:true /m /t:%BUILDTYPE% /property:Configuration=%RELEASETYPE%;Platform=%ARCHVS%
IF %ERRORLEVEL% NEQ 0 (
- CALL :SubMsg "ERROR" "'MSBuild.exe LAVFilters.sln /nologo /consoleloggerparameters:Verbosity=minimal /nodeReuse:true /m /t:%BUILDTYPE% /property:Configuration=%RELEASETYPE%;Platform=%ARCHVS%' failed!"
+ CALL %COMMON% :SubMsg "ERROR" "'MSBuild.exe LAVFilters.sln /nologo /consoleloggerparameters:Verbosity=minimal /nodeReuse:true /m /t:%BUILDTYPE% /property:Configuration=%RELEASETYPE%;Platform=%ARCHVS%' failed!"
EXIT /B
)
@@ -193,7 +185,7 @@ EXIT /B ECHO Not all build dependencies were found.
ECHO.
ECHO See "%ROOT_DIR%\docs\Compilation.txt" for more information.
-CALL :SubMsg "ERROR" "LAV Filters compilation failed!" & EXIT /B 1
+CALL %COMMON% :SubMsg "ERROR" "LAV Filters compilation failed!" & EXIT /B 1
:UnsupportedSwitch
@@ -203,7 +195,7 @@ ECHO. ECHO "%~nx0 %*"
ECHO.
ECHO Run "%~nx0 help" for details about the commandline switches.
-CALL :SubMsg "ERROR" "LAV Filters compilation failed!" & EXIT /B 1
+CALL %COMMON% :SubMsg "ERROR" "LAV Filters compilation failed!" & EXIT /B 1
:ShowHelp
@@ -221,68 +213,3 @@ ECHO. POPD
ENDLOCAL
EXIT /B
-
-
-:SubMsg
-ECHO. & ECHO ------------------------------
-IF /I "%~1" == "ERROR" (
- CALL :SubColorText "0C" "[%~1]" "%~2"
-) ELSE IF /I "%~1" == "INFO" (
- CALL :SubColorText "0A" "[%~1]" "%~2"
-) ELSE IF /I "%~1" == "WARNING" (
- CALL :SubColorText "0E" "[%~1]" "%~2"
-)
-ECHO ------------------------------ & ECHO.
-IF /I "%~1" == "ERROR" (
- IF NOT DEFINED SILENT (
- ECHO Press any key to exit...
- PAUSE >NUL
- )
- POPD
- ENDLOCAL
- EXIT /B 1
-) ELSE (
- EXIT /B
-)
-
-
-:SubColorText
-IF DEFINED NOCOLORS ECHO %~2 %~3 & EXIT /B
-FOR /F "tokens=1,2 delims=#" %%G IN (
- '"PROMPT #$H#$E# & ECHO ON & FOR %%H IN (1) DO REM"') DO (
- SET "DEL=%%G")
-<NUL SET /p ".=%DEL%" > "%~2"
-FINDSTR /v /a:%1 /R ".18" "%~2" NUL
-DEL "%~2" > NUL 2>&1
-REM The space in the following ECHO is intentional
-ECHO %~3
-EXIT /B
-
-
-:SubGetDuration
-SET START_TIME=%START_TIME: =%
-SET END_TIME=%END_TIME: =%
-
-FOR /F "tokens=1-4 delims=:.," %%G IN ("%START_TIME%") DO (
- SET /A "STARTTIME=(100%%G %% 100) * 360000 + (100%%H %% 100) * 6000 + (100%%I %% 100) * 100 + (100%%J %% 100)"
-)
-
-FOR /F "tokens=1-4 delims=:.," %%G IN ("%END_TIME%") DO (
- SET /A "ENDTIME=(100%%G %% 100) * 360000 + (100%%H %% 100) * 6000 + (100%%I %% 100) * 100 + (100%%J %% 100)"
-)
-
-SET /A DURATION=%ENDTIME%-%STARTTIME%
-IF %ENDTIME% LSS %STARTTIME% SET /A "DURATION+=24 * 360000"
-
-SET /A DURATIONH=%DURATION% / 360000
-SET /A DURATIONM=(%DURATION% - %DURATIONH%*360000) / 6000
-SET /A DURATIONS=(%DURATION% - %DURATIONH%*360000 - %DURATIONM%*6000) / 100
-SET /A DURATIONHS=(%DURATION% - %DURATIONH%*360000 - %DURATIONM%*6000 - %DURATIONS%*100)*10
-
-IF %DURATIONH% EQU 0 (SET DURATIONH=) ELSE (SET DURATIONH=%DURATIONH%h )
-IF %DURATIONM% EQU 0 (SET DURATIONM=) ELSE (SET DURATIONM=%DURATIONM%m )
-IF %DURATIONS% EQU 0 (SET DURATIONS=) ELSE (SET DURATIONS=%DURATIONS%s )
-IF %DURATIONHS% EQU 0 (SET DURATIONHS=) ELSE (SET DURATIONHS=%DURATIONHS%ms)
-
-SET "DURATION=%DURATIONH%%DURATIONM%%DURATIONS%%DURATIONHS%"
-EXIT /B
diff --git a/update_version.bat b/update_version.bat index 68c07f991..003cb2924 100755 --- a/update_version.bat +++ b/update_version.bat @@ -21,14 +21,16 @@ SETLOCAL PUSHD %~dp0
+SET "COMMON=%~dp0\common.bat"
+
IF EXIST "build.user.bat" CALL "build.user.bat"
IF NOT DEFINED MPCHC_GIT IF DEFINED GIT (SET MPCHC_GIT=%GIT%)
-IF NOT DEFINED MPCHC_MSYS IF DEFINED MSYS (SET MPCHC_MSYS=%MSYS%) ELSE (GOTO MissingVar)
-SET PATH=%MPCHC_MSYS%\bin;%MPCHC_GIT%\cmd;%PATH%
-FOR %%G IN (bash.exe) DO (SET FOUND=%%~$PATH:G)
-IF NOT DEFINED FOUND GOTO MissingVar
+CALL %COMMON% :SubSetPath
+IF %ERRORLEVEL% NEQ 0 GOTO MissingVar
+CALL %COMMON% :SubDoesExist bash.exe
+IF %ERRORLEVEL% NEQ 0 GOTO MissingVar
bash.exe ./version.sh
|