aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2020-07-03 10:45:01 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2020-07-03 10:45:01 +0200
commit54ddd3f5c4690a6edfd9690d2e723b856d03dee4 (patch)
tree6b536436e369f9274842d1c9a824ccac3998ee77
parent49e01fdf03019e4c86bafe868f2d73d44da98f2b (diff)
Update install manual with private subdirectory installation
-rw-r--r--BOOTSTRAP-UNIX.cli44
1 files changed, 28 insertions, 16 deletions
diff --git a/BOOTSTRAP-UNIX.cli b/BOOTSTRAP-UNIX.cli
index e1aac8c..f0ff600 100644
--- a/BOOTSTRAP-UNIX.cli
+++ b/BOOTSTRAP-UNIX.cli
@@ -64,11 +64,11 @@ reviewing the steps, you are happy with using the defaults, run the
outlined below but only allows you to customize the compiler, installation
directory, and a few other things (run \c{build.sh -h} for usage).
-For example, this command will use \c{g++-5} and install the toolchain into
+For example, this command will use \c{g++} and install the toolchain into
\c{/usr/local/}.
\
-$ ./build.sh g++-5
+$ ./build.sh g++
\
While this will use Clang and install into \c{/opt/build2}:
@@ -217,15 +217,17 @@ 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
a local installation and skip the rest. For this 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):
+also notes on the following step about only building shared libraries and
+private installation subdirectory):
\
-$ 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 \
+$ build2/build2/b-boot configure \
+ config.cxx=g++ \
+ config.cc.coptions=-O3 \
+ config.bin.lib=shared \
+ config.bin.rpath=/usr/local/lib/build2 \
+ config.install.root=/usr/local \
+ config.install.private=build2 \
config.install.sudo=sudo
$ build2/build2/b-boot install: build2/ bpkg/ bdep/
@@ -255,19 +257,29 @@ $ 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 \
- config.bin.rpath=/usr/local/lib \
- config.install.root=/usr/local \
+$ bpkg-stage create \
+ cc \
+ config.cxx=g++ \
+ config.cc.coptions=-O3 \
+ config.bin.lib=shared \
+ config.bin.rpath=/usr/local/lib/build2 \
+ config.install.root=/usr/local \
+ config.install.private=build2 \
config.install.sudo=sudo
\
\N|The above configuration will only build shared libraries. If you would like
to build both shared and static, remove \c{config.bin.lib=shared}.|
+\N|The above configuration will install shared libraries that \c{build2}
+depends on into a private subdirectory. This is primarily useful when
+installing into a shared location, such as \c{/usr/local/}. By hiding the
+libraries in the private subdirectory we make sure that they will not
+interfere with anything that is already installed into such a shared location
+and that any further such installations won't interfere with \c{build2}. If,
+however, you are installing into a private location, such as \c{/opt/build2/},
+then you can remove \c{config.install.private=build2}.|
+
Next, we add the package repository, build, and install:
\