summaryrefslogtreecommitdiff
path: root/INSTALL
blob: b83faf4e199865b0e12e6acc293d1e9d111a95b9 (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
86
87
88
==============
 Dependencies
==============

Build and runtime dependencies:


Libraries:

- expat
 Used to parse XML from the XMPP server.
 http://expat.sourceforge.net/

- libiconv
 Encoding from anything into UTF-8
 http://www.gnu.org/software/libiconv/

- libuuid
 Generate unique IDs
 http://sourceforge.net/projects/libuuid/

- libidn (optional, but recommended)
 Provides the stringprep functionality. Without it, JIDs for IRC users are
 not provided.
 http://www.gnu.org/software/libidn/

- systemd-daemon (optional)
 Provides the support for a systemd service of Type=notify. This is useful only
 if you are packaging biboumi in a distribution with Systemd.

Tools:
- A C++14 compiler.
- CMake
- ronn (optional) to build the man page


==============
  Configure
==============

Configure the build system using cmake, there are many solutions to do that,
the simplest is to just run

% cmake .

in the current directory

You can also configure many parameters of the build (like customize CFLAGS,
the install path, choose the compiler, or enabling some options like the
POLLER to use), using:

% ccmake .

In ccmake, first use 'c' to configure the build system, edit the values you
need and finaly use 'g' to generate the Makefiles to build the system and
quit ccmake.

or

% cmake -i .

and respond to the questions when you are prompted to.

You can select the poller used by biboumi, at compile-time, using the POLLER
cmake option.  Available values are:
 POLL: use the standard poll(2). This is the default value because it works on all supported plateforms
 EPOLL: use the Linux-specific epoll(7)

Example, configure the poller with cmake:
% cmake . -DPOLLER=EPOLL


==============
    Build
==============

- Build the project

% make


=============
   Install
=============

- Install the software system-wide

# make install