diff options
Diffstat (limited to 'BOOTSTRAP-MSVC.cli')
-rw-r--r-- | BOOTSTRAP-MSVC.cli | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/BOOTSTRAP-MSVC.cli b/BOOTSTRAP-MSVC.cli deleted file mode 100644 index fc4066e..0000000 --- a/BOOTSTRAP-MSVC.cli +++ /dev/null @@ -1,194 +0,0 @@ -// file : BOOTSTRAP-MSVC.cli -// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -" -Continuing from \l{#bootstrap-windows Bootstrapping on Windows}, if you have -already started an appropriate Visual Studio command prompt, then you can -continue using it. Otherwise, start the \"x64 Native Tools Command Prompt\". -Also set the \c{PATH} environment variable: - -\ -> set PATH=C:\build2\bin;%PATH% -\ - -To build with MSVC you can either perform the following steps manually or, if -after reviewing the steps you are happy with using the defaults, run the -\c{build-msvc.bat} batch file. It performs (and echoes) the same set of steps -as outlined below but only allows you to customize the installation directory -and a few other things (run \c{build-msvc.bat /?} for usage). - -For example, you could run this batch file (from the above-mentioned command -prompt) like this: - -\ -> .\build-msvc.bat -\ - -\N|Note that at about half way through (\c{bpkg fetch} at step 4 below) the -script will stop and prompt you to verify the authenticity of the repository -certificate. To run the script unattended you can specify the certificate -fingerprint with the \c{--trust} option (see \c{build-msvc.bat /?} for -details).| - -The end result of the bootstrap process (performed either with the script or -manually) is the installed toolchain as well as the \c{bpkg} configuration in -\c{build2-toolchain-X.Y\\} that can be used to \l{#upgrade upgrade} to newer -versions. It can also be used to uninstall the toolchain: - -\ -> cd build2-toolchain-X.Y -> bpkg uninstall build2 bpkg bdep -\ - -\N|Note that in both cases (manual or scripted bootstrap), if something goes -wrong and you need to restart the process, you \b{must} start with a clean -toolchain source by unpacking it afresh from the archive.| - -The rest of this section outlines the manual bootstrap process. - -\dl| - -\li|\b{1. Bootstrap, Phase 1}\n - -First, we build a minimal build system with the provided -\c{bootstrap-msvc.bat} batch file. Normally, the only argument you will pass -to this script is the C++ compiler to use but there is also a way to specify -compile options; run \c{bootstrap-msvc.bat /?} and see the \c{build2\\INSTALL} -file for details. - -\ -> cd build2 -> .\bootstrap-msvc.bat cl - -> build2\b-boot --version -\ - -| - -\li|\n\b{2. Bootstrap, Phase 2}\n - -Then, we rebuild the build system with the result of Phase 1 linking libraries -statically. - -\ -> build2\b-boot config.cxx=cl config.bin.lib=static build2\exe{b} -> move /y build2\b.exe build2\b-boot.exe - -> build2\b-boot --version -\ - -| - -\li|\n\b{3. Stage}\n - -At this step the build system and package manager are built with shared -libraries and then staged: - -\ -> cd .. # Back to build2-toolchain-X.Y.Z\ - -> build2\build2\b-boot configure ^ - config.cxx=cl ^ - config.bin.suffix=-stage ^ - config.install.root=C:\build2 ^ - config.install.data_root=root\stage - -> build2\build2\b-boot install: build2/ bpkg/ -\ - -The strange-looking \c{config.install.data_root=root\\stage} means install -data files (as opposed to executable files) into the \c{stage\\} subdirectory -of wherever \c{config.install.root} points to (so in our case it will be -\c{C:\\build2\\stage\\}). This subdirectory is temporary and will be removed -in a few steps. - -Verify that the toolchain binaries can be found and work (this relies on the -\c{PATH} environment variable we have set earlier): - -\ -> where b-stage -C:\build2\bin\b-stage.exe - -> where bpkg-stage -C:\build2\bin\bpkg-stage.exe - -> b-stage --version -> bpkg-stage --version -\ - -At the next step we will use \c{bpkg} to build and install the entire -toolchain. If for some reason you prefer not to build from packages (for -example, because the machine is offline), then you can convert this step into -the \"final\" installation and skip the rest. For this you will need to change -the \c{configure} and \c{install} command lines above along these lines: - -\ -> build2\build2\b-boot configure ^ - config.cxx=cl ^ - config.cc.coptions=/O2 ^ - config.install.root=C:\build2 - -> build2\build2\b-boot install: build2/ bpkg/ bdep/ -\ - -| - -\li|\n\b{4. Install}\n - -Next, we use the staged tools to build and install the entire toolchain from -the package repository with the \c{bpkg} package manager. First, we create -the \c{bpkg} configuration. The configuration values are pretty similar to the -previous step and you may want/need to make similar adjustments. - -\ -> cd .. # Back to build2-build\ -> md build2-toolchain-X.Y -> cd build2-toolchain-X.Y - -> bpkg-stage create ^ - cc ^ - config.cxx=cl ^ - config.cc.coptions=/O2 ^ - config.install.root=C:\build2 -\ - -Next, we add the package repository, build, and install: - -\ -> bpkg-stage add https://pkg.cppget.org/1/alpha -> bpkg-stage fetch -> bpkg-stage build --for install build2 bpkg bdep -> bpkg-stage install build2 bpkg bdep -\ - -Finally, we verify the result: - -\ -> where b -C:\build2\bin\b.exe - -> where bpkg -C:\build2\bin\bpkg.exe - -> where bdep -C:\build2\bin\bdep.exe - -> b --version -> bpkg --version -> bdep --version -\ - -| - -\li|\n\b{5. Clean}\n - -The last thing we need to do is uninstall the staged tools: - -\ -> cd ..\build2-toolchain-X.Y.Z # Back to bootstrap. -> b uninstall: build2/ bpkg/ -\ - -|| -" |