124 lines
3.1 KiB
Plaintext
124 lines
3.1 KiB
Plaintext
==============
|
||
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-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.
|
||
|
||
|
||
==============
|
||
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.
|
||
|
||
or you can also use an interactive mode with:
|
||
|
||
% cmake -i .
|
||
|
||
and respond to the questions when you are prompted to.
|
||
|
||
You can, for example, select the poller used by biboumi, at compile-time,
|
||
using the POLLER cmake option. Available 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.
|
||
|
||
Examples, configure the poller with cmake:
|
||
|
||
% cmake . -DPOLLER=EPOLL
|
||
|
||
You can also decide not to use two of the optional dependencies, even if
|
||
they are present on your system, for example if Botan is available but you
|
||
do not want to use it, you can set the value of WITHOUT_BOTAN to 1, like
|
||
this:
|
||
|
||
% cmake . -DWITHOUT_BOTAN=1
|
||
|
||
This way, the binary will not be linked with libotan at all (and all
|
||
connection will then be made in clear text).
|
||
You can also decide not to link with systemd, like this:
|
||
|
||
% cmake . -DWITHOUT_SYSTEMD=1
|
||
|
||
|
||
==============
|
||
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.
|