aboutsummaryrefslogtreecommitdiff
path: root/BOOTSTRAP-UNIX.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-UNIX.cli
parentb1eb22d92f9a53a00d9d0c5b922aac861500e386 (diff)
Make build scripts to create hermetic configurations
Diffstat (limited to 'BOOTSTRAP-UNIX.cli')
-rw-r--r--BOOTSTRAP-UNIX.cli11
1 files changed, 10 insertions, 1 deletions
diff --git a/BOOTSTRAP-UNIX.cli b/BOOTSTRAP-UNIX.cli
index 5ffa6b2..70e9a08 100644
--- a/BOOTSTRAP-UNIX.cli
+++ b/BOOTSTRAP-UNIX.cli
@@ -223,10 +223,11 @@ a local installation and skip the rest of the steps.
To perform a local installation you will need to change the \c{configure} and
\c{install} command lines above along these lines (see also notes on the
following step about only building shared libraries, private installation
-subdirectory, and toolchain executables prefix/suffix):
+subdirectory, toolchain executables prefix/suffix, etc):
\
$ build2/build2/b-boot configure \
+ config.config.hermetic=true \
config.cxx=g++ \
config.cc.coptions=-O3 \
config.bin.lib=shared \
@@ -276,6 +277,7 @@ $ cd build2-toolchain-X.Y
$ bpkg-stage create \
cc \
+ config.config.hermetic=true \
config.cxx=g++ \
config.cc.coptions=-O3 \
config.bin.lib=shared \
@@ -300,6 +302,13 @@ then you can remove \c{config.install.private=build2}.|
\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:
\