aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
blob: b01d761ad62fb0c297107f42de92d019e38d8dd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
The build2 toolchain requires a C++ compiler with C++11 support. GCC 4.9.0
or later and Clang 3.5.0 or later are known to work. If you only need the
build2 build system without the bpkg package manager, then the C++ compiler
is all you need. If, however, you would also like to build bpkg, then you
will first need to obtain SQLite and the libodb and libodb-sqlite libraries.

In this guide we install everything that we build into /usr/local. If you
would like to use a different installation location, you will need to make
adjustments to the commands below.


1. Installing SQLite

   Skip this step if you are only interested in the build2 build system.

   To install SQLite, use your distribution's package manager and make sure
   you install both the libraries (most likely already installed) and the
   development files.

   For Debian/Ubuntu:

   $ sudo apt-get install libsqlite3-dev

   For RedHat/Fedora:

   $ sudo yum install sqlite-devel

   For FreeBSD:

   # pkg install sqlite3

2. Installing libodb and libodb-sqlite

   Again, skip this step if you are only interested in the build2 build system.

   [Currently we use pre-release versions of these libraries so they have to be
   built from source.]

   Download source packages for the two libraries from the same location as
   build2-toolchain. Then unpack, build, and install:

   $ cd libodb-X.Y.Z
   $ ./configure --prefix=/usr/local
   $ make
   $ sudo make install

   $ cd libodb-sqlite-X.Y.Z
   $ ./configure --prefix=/usr/local
   $ make
   $ sudo make install

   On some platforms you may have to add CPPFLAGS=-I/usr/local/include and
   LDFLAGS=-L/usr/local/lib configure command line variables. See the INSTALL
   file for each library for more information.


3. Bootstrapping build2

   The first step is to bootstrap the build2 build system:

   $ cd build2-toolchain-X.Y.Z
   $ cd build2/
   $ ./bootstrap
   $ ./build/b-boot update

   For more information on this step (for example, how to specify a C++
   compiler, etc.) refer to the INSTALL file in the build2/ subdirectory.


4. Configuring, building, and installing the rest of the toolchain

   $ cd .. # back to build2-toolchain-X.Y.Z
   $ ./build2/build/b                        \
    config.cxx.poptions=-I/usr/local/include \
    config.cxx.loptions=-L/usr/local/lib     \
    config.install.root=/usr/local configure
   $ ./build2/build/b update
   $ sudo ./build2/build/b install

   $ sudo ldconfig

   To test the installation:

   $ b --version
   $ bpkg --version