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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
==============
tl;dr:
==============
$ cmake . && make && ./biboumi
If that didn’t work, read on.
==============
Dependencies
==============
Build and runtime dependencies:
Tools:
- A C++14 compiler (clang >= 3.4 or gcc >= 4.9 for example)
- CMake
- ronn (optional) to build the man page
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/
- libbotan 1.11 (optional)
Provides TLS support. Without it, IRC connections are all made in
plain-text mode.
Other branches than the 1.11 are not supported.
http://botan.randombit.net/
- systemd (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.
==============
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.
The default build type is "Debug", if you want to build a release version,
set the CMAKE_BUILD_TYPE variable to "release", by running this command
instead:
% cmake . -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/usr
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 the ncurses interface of ccmake:
% 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.
You can also configure these options using a -D command line flag.
The list of available options:
- POLLER: lets you select the poller used by biboumi, at
compile-time. Possible values are:
EPOLL: use the Linux-specific epoll(7). This is the default on Linux.
POLL: use the standard poll(2). This is the default value on all non-Linux
platforms.
- WITH_BOTAN and WITHOUT_BOTAN: The first force the usage of the Botan library,
if it is not found, the configuration process will fail. The second will
make the build process ignore the Botan library, it will not be used even
if it's available on the system. If none of these option is specified, the
library will be used if available and will be ignored otherwise.
- WITH_LIBIDN and WITHOUT_LIBIDN: Just like the WITH(OUT)_BOTAN options, but
for the IDN library
- WITH_SYSTEMD and WITHOUT_SYSTEMD: Just like the other WITH(OUT)_* options,
but for the Systemd library
Example:
% cmake . -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX \
-DWITH_BOTAN=1 -DWITHOUT_SYSTEMD=1
This command will configure the project to build a release, with TLS enabled
(using Botan) but without using Systemd (even if available on the system).
==============
Build
==============
- Once you’ve configured everything using cmake, build the project
% make
=============
Install
=============
- And then, optionaly, Install the software system-wide
# make install
=============
Run
=============
Run the software using the `biboumi` binary. Read the documentation (the
man page biboumi(1) or the “biboumi.1.md” file) for more information on how
to use biboumi.
|