vid/tools/6.0g-mingw64.bat

83 lines
2.3 KiB
Batchfile

@echo off
setlocal ENABLEEXTENSIONS
setlocal enableDelayedExpansion
@rem set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem get script directory name
set DIRNAME=%~dp0\..\.cache
if "%DIRNAME%" == "" set DIRNAME=.
@rem strip trailing backslash from DIRNAME path to make it easier to work with
IF %DIRNAME:~-1%==\ SET DIRNAME=%DIRNAME:~0,-1%
reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS_BITNESS=32BIT || set OS_BITNESS=64BIT
set UNZIP_EXE=%DIRNAME%\.6.0g-mingw64\7zip\7z.exe
if not exist %UNZIP_EXE% (
echo Downloading 7zip...
if %OS_BITNESS%==64BIT (
call :downloadFile https://www.7-zip.org/a/7z1801-x64.exe %TEMP%\7zInstall.exe
) else (
call :downloadFile https://www.7-zip.org/a/7z1801.exe %TEMP%\7zInstall.exe
)
echo Installing 7zip
@rem don't forget the trailing backslash here because 7zip is too stupid to deal with paths and just removes the last char
%TEMP%\7zInstall.exe /S /D=%DIRNAME%\.6.0g-mingw64\7zip\
del %TEMP%\7zInstall.exe
)
set MINGW64_DIR=%DIRNAME%\.6.0g-mingw64\mingw64
set MINGW64_TAR=%DIRNAME%\.6.0g-mingw64\devcpp-mingw64-1.0.0.tar
set MINGW64_ZIP=%TEMP%\devcpp-mingw64-1.0.0.tgz
set MINGW64_BIN=%MINGW64_DIR%\package\bin
@rem require correct MINGW64 version
if not exist %MINGW64_BIN%\gcc.exe (
echo Downloading MINGW64 version %MINGW64_VERSION%...
call :downloadFile https://registry.npmmirror.com/devcpp-mingw64/-/devcpp-mingw64-1.0.0.tgz %MINGW64_ZIP%
echo Installing MINGW64
%UNZIP_EXE% x %MINGW64_ZIP% -o%DIRNAME%\.6.0g-mingw64 -y
%UNZIP_EXE% x %MINGW64_TAR% -o%DIRNAME%\.6.0g-mingw64\mingw64 -y
del %MINGW64_ZIP%
del %MINGW64_TAR%
)
@rem parse cli args to pass them to cmWake
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto runMINGW64
set CMD_LINE_ARGS=%*
goto runMINGW64
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:runMINGW64
%MINGW64_BIN%\%CMD_LINE_ARGS%
goto end
@rem args: fileUrl, filePath
:downloadFile
powershell -Command "(New-Object Net.WebClient).DownloadFile('%~1', '%~2')"
EXIT /B 0
:end
if "%OS%"=="Windows_NT" endlocal