aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-10-20 16:47:38 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-10-20 16:47:38 +0200
commit4e7b8b10ec284e4a381d1aff031137b8a4ac58ed (patch)
tree0e3cc019f296767e43eb397f6e52ea583776f5f7
parenteb55f9b9b5df5678df0b30f4a0af9f35fcbc4be4 (diff)
Update installation instructions with GNU make bootstrap
-rw-r--r--BOOTSTRAP-MACOSX.cli16
-rw-r--r--BOOTSTRAP-MINGW.cli30
-rw-r--r--BOOTSTRAP-MSVC.cli11
-rw-r--r--BOOTSTRAP-UNIX.cli22
-rw-r--r--INSTALL.cli4
5 files changed, 49 insertions, 34 deletions
diff --git a/BOOTSTRAP-MACOSX.cli b/BOOTSTRAP-MACOSX.cli
index caded96..efba245 100644
--- a/BOOTSTRAP-MACOSX.cli
+++ b/BOOTSTRAP-MACOSX.cli
@@ -26,21 +26,5 @@ To install Command Line Tools, run:
$ xcode-select --install
\
-Also, if you plan to install your own or use system-installed libraries, it
-is recommended to install the \c{pkg-config} utility available from
-\l{https://pkg-config.freedesktop.org pkg-config.freedesktop.org}. For
-example, to download, build, and install version \c{0.29.2} (the latest
-available at the time of writing), run:
-
-\
-$ curl -O https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
-$ tar xfz pkg-config-0.29.2.tar.gz
-$ cd pkg-config-0.29.2
-$ ./configure --prefix=/usr/local CC=clang --with-internal-glib
-$ make
-$ sudo make install
-$ pkg-config --version
-\
-
Once this is done continue with \l{#BOOTSTRAP-UNIX Bootstrapping on UNIX}.
"
diff --git a/BOOTSTRAP-MINGW.cli b/BOOTSTRAP-MINGW.cli
index 13f5969..7617f61 100644
--- a/BOOTSTRAP-MINGW.cli
+++ b/BOOTSTRAP-MINGW.cli
@@ -19,10 +19,8 @@ libgcc_s_*.dll
To build with MinGW 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-mingw.bat} batch file. It performs (and echoes) the same set of steps
-as outlined below but only allows you to customize the compiler and
-installation directory (run \c{build-mingw.bat /?} for usage). You can also
-specify an alternative package repository with the \c{BUILD2_REPO} environment
-variable.
+as outlined below but only allows you to customize the compiler, installation
+directory, and a few other things (run \c{build-mingw.bat /?} for usage).
For example, if your MinGW distribution is in \c{C:\\mingw\\}, then you could
run it (from the command prompt that we have started earlier) like this:
@@ -38,11 +36,19 @@ use just \c{g++} for the compiler:
> .\build-mingw.bat g++
\
+If you would like to speed the process up by compiling in parallel, then you
+can instruct \c{build-mingw.bat} to bootstrap using GNU make (comes in
+the \c{build2-mingw} package), for example:
+
+\
+> .\build-mingw.bat --make mingw32-make --make -j8 g++
+\
+
Note also 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 repository
-fingerprint as a second argument, after the installation directory (see
-\c{build-mingw.bat /?} for details).
+certificate. To run the script unattended you can specify the certificate
+fingerprint with the \c{--trust} option (see \c{build-mingw.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
@@ -77,6 +83,16 @@ compile options; run \c{bootstrap-mingw.bat /?} and see the
> build2\b-boot --version
\
+Alternatively, we can use the \c{bootstrap.gmake} GNU makefile to bootstrap
+in parallel:
+
+\
+> cd build2
+> mingw32-make -f bootstrap.gmake -j 8 CXX=g++ LDFLAGS=-static
+
+> build2\b-boot --version
+\
+
|
\li|\n\b{2. Bootstrap, Phase 2}\n
diff --git a/BOOTSTRAP-MSVC.cli b/BOOTSTRAP-MSVC.cli
index f1ed0e9..ad4f05f 100644
--- a/BOOTSTRAP-MSVC.cli
+++ b/BOOTSTRAP-MSVC.cli
@@ -16,9 +16,8 @@ you are on 64-bit Windows or \"x86 Native Tools Command Prompt\" if you are on
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 (run \c{build-msvc.bat /?} for usage). You can also specify an
-alternative package repository with the \c{BUILD2_REPO} environment variable.
+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:
@@ -29,9 +28,9 @@ prompt) like this:
Note also 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 repository
-fingerprint as a second argument, after the installation directory (see
-\c{build-msvc.bat /?} for details).
+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
diff --git a/BOOTSTRAP-UNIX.cli b/BOOTSTRAP-UNIX.cli
index 5879a33..d3b0f6d 100644
--- a/BOOTSTRAP-UNIX.cli
+++ b/BOOTSTRAP-UNIX.cli
@@ -63,9 +63,7 @@ Next you can either perform the rest of the steps manually or, if after
reviewing the steps, you are happy with using the defaults, run the
\c{build.sh} shell script. It performs (and echoes) the same set of steps as
outlined below but only allows you to customize the compiler, installation
-directory, and a few other things (run \c{build.sh -h} for usage). You can
-also specify an alternative package repository with the \c{BUILD2_REPO}
-environment variable.
+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
\c{/usr/local/}.
@@ -80,6 +78,14 @@ While this will use Clang and install into \c{/opt/build2}:
$ ./build.sh --install-dir /opt/build2 --sudo sudo clang++
\
+If you would like to speed the process up by compiling in parallel, then you
+can instruct \c{build.sh} to bootstrap using GNU make (can be called \c{gmake}
+instead of \c{make} on some platforms), for example:
+
+\
+$ ./build.sh --make make --make -j8 g++
+\
+
Note also 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
@@ -118,6 +124,16 @@ $ ./bootstrap.sh g++
$ build2/b-boot --version
\
+Alternatively, we can use the \c{bootstrap.gmake} GNU makefile to bootstrap
+in parallel:
+
+\
+$ cd build2
+$ make -f bootstrap.gmake -j 8 CXX=g++
+
+$ build2/b-boot --version
+\
+
|
\li|\n\b{2. Bootstrap, Phase 2}\n
diff --git a/INSTALL.cli b/INSTALL.cli
index e0785bf..0c3ca27 100644
--- a/INSTALL.cli
+++ b/INSTALL.cli
@@ -40,8 +40,8 @@ At the high level, the bootstrap process involves the following 5 steps.
\li|\b{1. Bootstrap, Phase 1}\n
First, a minimal build system executable is built using provided shell
-scripts/batch files. The result is only guaranteed to be able to rebuild the
-build system itself.|
+scripts/batch files or a GNU makefile. The result is only guaranteed to be
+able to rebuild the build system itself.|
\li|\n\b{2. Bootstrap, Phase 2}\n