diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/bootstrap/bbot-bootstrap-msvc-14.bat | 169 | ||||
-rw-r--r-- | etc/bootstrap/bbot-bootstrap-msvc-15.bat (renamed from etc/bootstrap/bbot-bootstrap-msvc.bat) | 2 | ||||
-rw-r--r-- | etc/environments/default-msvc-14.bat | 54 | ||||
-rw-r--r-- | etc/environments/default-msvc-15.bat (renamed from etc/environments/default-msvc.bat) | 2 |
4 files changed, 225 insertions, 2 deletions
diff --git a/etc/bootstrap/bbot-bootstrap-msvc-14.bat b/etc/bootstrap/bbot-bootstrap-msvc-14.bat new file mode 100644 index 0000000..d52831e --- /dev/null +++ b/etc/bootstrap/bbot-bootstrap-msvc-14.bat @@ -0,0 +1,169 @@ +@echo off + +rem file : etc/bootstrap/bbot-bootstrap-msvc-14.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 14.0" +set "VCVARS=%MSVC%\VC\vcvarsall.bat" +set "VCARCH=amd64" +rem set "VCARCH=amd64_x86" + +set "BUILD=C:\tmp" +set "INSTALL=C:\build2" +set "BOOTSTRAP=C:\bootstrap" +set "ENVIRONMENTS=C:\environments" + +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% --environments %ENVIRONMENTS%^ + --tftp-host %TFTP% --verbose %VERBOSE% + goto end +) + +rem Setup the compiler for the toolchain. +rem +call "%VCVARS%" %VCARCH% +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 + +xz -d build2-toolchain.tar.xz +@if errorlevel 1 goto error + +tar -xf build2-toolchain.tar +@if errorlevel 1 goto error + +del build2-toolchain.tar +@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=<trust + +del trust +@if errorlevel 1 goto error + + +@rem +@rem Bootstrap and install the toolchain. +@rem +@for /D %%d in (build2-toolchain-*) do set "bstrap=%%d" +cd %bstrap% + +@rem Note: executing in a separate cmd.exe to preserve the echo mode. +@rem +cmd /C build-msvc.bat %INSTALL% %trust% +@if errorlevel 1 goto error + +cd .. +rmdir /S /Q %bstrap% +@if errorlevel 1 goto error + + +@rem +@rem Switch to the bootstrapped utilities/toolchain. +@rem +@set "PATH=%INSTALL%\bin;%PATH%" + + +@rem +@rem Build and install the bbot worker. +@rem +@for /D %%d in (build2-toolchain-*) do set "config=%%d" +cd %config% + +bpkg build --yes bbot +@if errorlevel 1 goto error + +bpkg install bbot +@if errorlevel 1 goto error + +cd .. +rmdir /S /Q %config% +@if errorlevel 1 goto error + +@rem +@rem Finish off by uploading the result manifest produced by the bbot worker. +@rem +bbot-worker --bootstrap >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 diff --git a/etc/bootstrap/bbot-bootstrap-msvc.bat b/etc/bootstrap/bbot-bootstrap-msvc-15.bat index 1cf5215..4818d09 100644 --- a/etc/bootstrap/bbot-bootstrap-msvc.bat +++ b/etc/bootstrap/bbot-bootstrap-msvc-15.bat @@ -1,6 +1,6 @@ @echo off -rem file : etc/bootstrap/bbot-bootstrap-msvc.bat +rem file : etc/bootstrap/bbot-bootstrap-msvc-15.bat rem copyright : Copyright (c) 2014-2017 Code Synthesis Ltd rem license : TBC; see accompanying LICENSE file diff --git a/etc/environments/default-msvc-14.bat b/etc/environments/default-msvc-14.bat new file mode 100644 index 0000000..2af8136 --- /dev/null +++ b/etc/environments/default-msvc-14.bat @@ -0,0 +1,54 @@ +@echo off + +rem file : etc/environments/default-msvc-14.bat +rem copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +rem license : TBC; see accompanying LICENSE file + +rem +rem Environment setup script for C/C++ compilation with Visual Studio 14. +rem + +rem %1 - target +rem %2 - bbot executable +rem %3+ - bbot options + +setlocal EnableExtensions EnableDelayedExpansion + +set "MSVC=C:\Program Files (x86)\Microsoft Visual Studio 14.0" +set "VCVARS=%MSVC%\VC\vcvarsall.bat" + +rem Based on target determine what we are building. If the target is +rem not specified, then we build 64-bit by default. +rem +rem Note that an empty argument is passed as "" (literal quotes). +rem +if "_%1_" == "_x86_64-microsoft-win32-msvc14.0_" ( + set "VCARCH=amd64" +) else ( + if "_%1_" == "_i386-microsoft-win32-msvc14.0_" ( + set "VCARCH=amd64_x86" + ) else ( + if _%1_ == _""_ ( + set "VCARCH=amd64" + ) else ( + echo error: unknown target %1 + goto error + ) + ) +) + +call "%VCVARS%" %VCARCH% +if errorlevel 1 goto error + +%2 %3 %4 %5 %6 %7 %8 %9 cc config.c=cl config.cxx=cl +if errorlevel 1 goto error + +goto end + +:error +@echo off +endlocal +exit /b 1 + +:end +endlocal diff --git a/etc/environments/default-msvc.bat b/etc/environments/default-msvc-15.bat index 40ec364..6eecc71 100644 --- a/etc/environments/default-msvc.bat +++ b/etc/environments/default-msvc-15.bat @@ -1,6 +1,6 @@ @echo off -rem file : etc/environments/default-msvc.bat +rem file : etc/environments/default-msvc-15.bat rem copyright : Copyright (c) 2014-2017 Code Synthesis Ltd rem license : TBC; see accompanying LICENSE file |