aboutsummaryrefslogtreecommitdiff
path: root/BOOTSTRAP-WINDOWS-MSVC.cli
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2021-04-15 23:08:05 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-04-16 14:23:20 +0300
commitf4fee4d6c062b6ab4aa46bf2d942a4bff3481e05 (patch)
treeacc176c8117e576b85c131925eae633276466005 /BOOTSTRAP-WINDOWS-MSVC.cli
parentb1eb22d92f9a53a00d9d0c5b922aac861500e386 (diff)
Make build scripts to create hermetic configurations
Diffstat (limited to 'BOOTSTRAP-WINDOWS-MSVC.cli')
-rw-r--r--BOOTSTRAP-WINDOWS-MSVC.cli13
1 files changed, 11 insertions, 2 deletions
diff --git a/BOOTSTRAP-WINDOWS-MSVC.cli b/BOOTSTRAP-WINDOWS-MSVC.cli
index 6ac26f0..2a066f8 100644
--- a/BOOTSTRAP-WINDOWS-MSVC.cli
+++ b/BOOTSTRAP-WINDOWS-MSVC.cli
@@ -128,11 +128,12 @@ pass the \c{--local} option.|
To perform a local installation you will need to change the \c{configure} and
\c{install} command lines above along these lines (see also a note on the
-following step about only building shared libraries and toolchain executables
-prefix/suffix):
+following step about only building shared libraries, toolchain executables
+prefix/suffix, etc):
\
> build2\build2\b-boot configure ^
+ config.config.hermetic=true ^
config.cxx=cl ^
config.cc.coptions=/O2 ^
config.bin.lib=shared ^
@@ -178,6 +179,7 @@ previous step and you may want/need to make similar adjustments.
> bpkg-stage create ^
cc ^
+ config.config.hermetic=true ^
config.cxx=cl ^
config.cc.coptions=/O2 ^
config.bin.lib=shared ^
@@ -190,6 +192,13 @@ to build both shared and static, remove \c{config.bin.lib=shared}.|
\N|To add a custom prefix/suffix to the toolchain executables names, add
\c{config.bin.exe.prefix=...} and/or \c{config.bin.exe.suffix=...}.|
+\N|The \c{config.config.hermetic=true} configuration variable in the above
+command makes sure the embedded \c{~host} and \c{~build2} configurations
+include the current environment. This is especially important for \c{~build2}
+which is used to dynamically build and load ad hoc recipes and build system
+modules and must therefore match the environment that was used to build the
+build system itself.|
+
Next, we add the package repository, build, and install:
\