@echo off rem file : etc/bootstrap/bbot-bootstrap-msvc.bat rem copyright : Copyright (c) 2014-2017 Code Synthesis Ltd rem license : TBC; see accompanying LICENSE file setlocal EnableExtensions EnableDelayedExpansion set "MSVC=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community" set "VCVARS=%MSVC%\VC\Auxiliary\Build\vcvars64.bat" set "BUILD=C:\tmp" set "INSTALL=C:\build2" set "BOOTSTRAP=C:\bootstrap" set "ENVIRONMENT=C:\environment" set "TFTP=196.254.111.222" rem set "TFTP=10.1.0.1:55123" set "VERBOSE=3" rem If we already have the bbot worker, assume we are bootstrapped. rem if exist %INSTALL%\bin\bbot-worker.exe ( set "PATH=%INSTALL%\bin;%PATH%" bbot-worker.exe --startup --build %BUILD% --environment %ENVIRONMENT%^ --tftp-host %TFTP% --verbose %VERBOSE% goto end ) rem Setup the compiler for the toolchain. rem call "%VCVARS%" if errorlevel 1 goto error rem Use bootstrap tools. rem set "PATH=%BOOTSTRAP%\bin;%PATH%" rem Show the steps we are performing. rem @echo on @rem @rem Bootstrap the toolchain and then build bbot. @rem @if exist %BUILD%\bootstrap\ ( rmdir /S /Q %BUILD%\bootstrap @if errorlevel 1 goto error ) mkdir %BUILD%\bootstrap @if errorlevel 1 goto error @if exist %INSTALL% ( rmdir /S /Q %INSTALL% @if errorlevel 1 goto error ) cd %BUILD%\bootstrap @rem @rem Get the baseutils. @rem @rem We could be running on a new network which may take Windows some time @rem to digest. And if we start before that happens, we will be hanging @rem forever. @rem :restart curl -s -S -O --connect-timeout 5 --max-time 60^ "tftp://%tftp%/build2-baseutils-x86_64-windows.zip" @if errorlevel 1 goto restart unzip -q build2-baseutils-x86_64-windows.zip @if errorlevel 1 goto error del build2-baseutils-x86_64-windows.zip @if errorlevel 1 goto error move build2-baseutils-*-x86_64-windows %INSTALL% @if errorlevel 1 goto error @rem @rem Get the toolchain. @rem curl -s -S -O "tftp://%tftp%/build2-toolchain.tar.xz" @if errorlevel 1 goto error tar -xf build2-toolchain.tar.xz @if errorlevel 1 goto error del build2-toolchain.tar.xz @if errorlevel 1 goto error @rem @rem Get the repository certificate fingerprint. @rem curl -s -S -O "tftp://%tftp%/trust" @if errorlevel 1 goto error @set /P trust=manifest @if errorlevel 1 goto error curl -s -S --upload-file manifest "tftp://%tftp%/manifest" @if errorlevel 1 goto error @echo off goto end :error @echo off endlocal exit /b 1 :end endlocal