aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-05-22 14:53:21 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-05-22 14:53:21 +0200
commit2a97a272f33b0a0ec8bffd85c61091366591aced (patch)
tree21331341f22f41a60f13ab8befa35a8ae6656155 /INSTALL
parent20e6050cc4205022368b8ed5db98d14963317ccc (diff)
Add bootstrap script, INSTALL file
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL32
1 files changed, 32 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..9669735
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,32 @@
+Currently, to use build2 you will need a C++ compiler with C++14 support.
+This may be relaxed later to only require C++11. For now, gcc 4.9.0 or
+later and clang 3.5.0 or later are known to work.
+
+build2 is self-hosted, which means that unless you have obtained a pre-
+built binary of build2 from somewhere else, you will need to bootstrap
+it. To accomplish this, use the 'bootstrap' shell script found in the
+root directory of the build2 project. The following is a recommended
+sequence of steps:
+
+1. Execute 'bootstrap' specifying the C++ compiler to be used if necessary
+ (default is 'g++'). For example:
+
+ $ ./bootstrap --cxx clang++-3.5
+
+ Once the script completes successfully, the build2 binary is saved
+ as 'build/b-boot'.
+
+2. Next, build the build2 binary using the bootstrapped binary from step
+ 1 above, again specifying the C++ compiler if necessary, for example:
+
+ $ build/b-boot config.cxx=clang++-3.5
+
+ The result of this command is saved as 'build/b'.
+
+3. Finally, rebuild the build2 binary using the binary built at step 2
+ above, and verify that they are identical. For example:
+
+ $ mv build/b build/b-prev
+ $ build/b-prev config.cxx=clang++-3.5 clean
+ $ build/b-prev config.cxx=clang++-3.5 configure update
+ $ diff -b build/b build/b-prev