aboutsummaryrefslogtreecommitdiff
path: root/BOOTSTRAP-UNIX.cli
diff options
context:
space:
mode:
Diffstat (limited to 'BOOTSTRAP-UNIX.cli')
-rw-r--r--BOOTSTRAP-UNIX.cli49
1 files changed, 34 insertions, 15 deletions
diff --git a/BOOTSTRAP-UNIX.cli b/BOOTSTRAP-UNIX.cli
index f97e6f5..68b5fee 100644
--- a/BOOTSTRAP-UNIX.cli
+++ b/BOOTSTRAP-UNIX.cli
@@ -6,7 +6,7 @@
The following instructions are for bootstrapping \c{build2} on UNIX-like
operating systems (GNU/Linux, FreeBSD, etc). For Mac OS X first see
\l{#BOOTSTRAP-MACOSX Bootstrapping on Mac OS X}. These instructions should
-also be used for UNIX emulation layers on Windows (for example, MSYS2 or
+also be used for UNIX emulation layers on Windows (for example, MSYS or
Cygwin) where you already have a UNIX shell with standard utilities.
\dl|
@@ -30,9 +30,10 @@ $ cd build2-build
Download \c{build2-toolchain-X.Y.Z.tar.xz} (or its \c{.tar.gz} variant if you
don't have \cb{xz(1)}) as well as its \c{.sha256} checksum from
-\l{https://download.build2.org}, into \c{~/build2-build/} (build directory).
+\l{https://download.build2.org}.
-Verify the archive checksum matches:
+Place everything into \c{~/build2-build/} (build directory) and verify the
+archive checksum matches:
\
# Linux, MSYS, Cygwin:
@@ -86,7 +87,7 @@ the \c{--trust} option.
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
+\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:
\
@@ -102,7 +103,7 @@ continued from the above list.
\li|3. Bootstrap, Phase 1\n
First, we build a minimal build system with the provided \c{bootstrap.sh}
-script. Normally the only argument you will pass to this script is the
+script. 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
and a few other things; run \c{bootstrap.sh -h} and see the \c{build2/INSTALL}
file for details.
@@ -139,15 +140,15 @@ program (remove the \c{config.install.sudo} line if you don't need one).
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 (so in our case it will be
-/usr/local/stage). Note that this subdirectory is temporary and will be
+\c{/usr/local/stage/}). Note that this subdirectory is temporary and will be
removed in a few steps. But if you don't like the default location, feel
free to change it (for example, to \c{/tmp/stage}).
You may also need to remove the \c{config.bin.rpath} line if your target
doesn't support \i{rpath}. Specifically, if building on Windows (with MSYS or
Cygwin), remove both \c{.rpath} and \c{.sudo}. But if unsure, leave \c{.rpath}
-in \- if your target doesn't support it, you will get an error and will just
-need to reconfigure without it.
+in \- if your target doesn't support it, you will get an error and will need
+to reconfigure without it.
\
$ run cd .. # Back to build2-toolchain-X.Y.Z/
@@ -191,8 +192,26 @@ Strictly speaking this is not absolutely necessary and you can adjust
the rest of the commands to use absolute paths. This, however, does not make
for very readable examples so below we assume the installation's \c{bin/}
subdirectory is in \c{PATH}.
+
+On the next step we will use \c{bpkg} to build and install the \"final\"
+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 your will need to
+change the \c{configure} command line above along these lines:
+
+\
+$ build2/build2/b-boot configure \
+ config.cxx=g++ \
+ config.cc.coptions=-O3 \
+ config.bin.lib=shared \
+ config.bin.rpath=/usr/local/lib \
+ config.install.root=/usr/local \
+ config.install.sudo=sudo
+\
+
|
+
\li|\n6. Install\n
Next, we use the staged toolchain to build and install the \"final\" toolchain
@@ -205,13 +224,13 @@ $ cd .. # Back to build2-build/
$ mkdir build2-toolchain-X.Y
$ cd build2-toolchain-X.Y
-$ bpkg-stage create \
- cc \
- config.cxx=g++ \
- config.cc.coptions=-O3 \
- config.bin.lib=shared \
+$ bpkg-stage create \
+ cc \
+ config.cxx=g++ \
+ config.cc.coptions=-O3 \
+ config.bin.lib=shared \
config.bin.rpath=/usr/local/lib \
- config.install.root=/usr/local \
+ config.install.root=/usr/local \
config.install.sudo=sudo
\
@@ -244,7 +263,7 @@ $ bpkg-stage --version
The last thing we need to do is uninstall the staged toolchain:
\
-$ cd ../build2-toolchain-X.Y.Z/ # Back to the bootstrap directory.
+$ cd ../build2-toolchain-X.Y.Z/ # Back to bootstrap.
$ b uninstall
\