Commit 6f3dacc4 authored by louiz’'s avatar louiz’

First rst attempt

parent fdddd447
INSTALL
=======
tl;dr tl;dr
===== -----
cmake . && make && ./biboumi cmake . && make && ./biboumi
If that didn’t work, read on. If that didn’t work, read on.
Dependencies Dependencies
============ ------------
Build and runtime dependencies: Build and runtime dependencies:
Tools: Tools:
~~~~~~
- A C++14 compiler (clang >= 3.4 or gcc >= 4.9 for example) - A C++14 compiler (clang >= 3.4 or gcc >= 4.9 for example)
- CMake - CMake
- ronn (optional) to build the man page - ronn (optional) to build the man page
Libraries: Libraries:
~~~~~~~~~~
- expat expat_
Used to parse XML from the XMPP server. Used to parse XML from the XMPP server.
http://expat.sourceforge.net/
- libiconv libiconv_
Encoding from anything into UTF-8 Encoding from anything into UTF-8
http://www.gnu.org/software/libiconv/
- libuuid libuuid_
Generate unique IDs Generate unique IDs
http://sourceforge.net/projects/libuuid/
- libidn (optional, but recommended) libidn_ (optional, but recommended)
Provides the stringprep functionality. Without it, JIDs for IRC users are Provides the stringprep functionality. Without it, JIDs for IRC users are
not provided. not provided.
http://www.gnu.org/software/libidn/
- c-ares (optional, but recommended) c-ares_ (optional, but recommended)
Asynchronously resolve domain names. This offers better reactivity and Asynchronously resolve domain names. This offers better reactivity and
performances when connecting to a big number of IRC servers at the same performances when connecting to a big number of IRC servers at the same
time. time.
http://c-ares.haxx.se/
- libbotan 1.11 (optional) libbotan_ 1.11 (optional)
Provides TLS support. Without it, IRC connections are all made in Provides TLS support. Without it, IRC connections are all made in
plain-text mode. plain-text mode.
Other branches than the 1.11 are not supported. Other branches than the 1.11 are not supported.
http://botan.randombit.net/
- litesql (optional) litesql_ (optional)
Provides a way to store various options in a (sqlite3) database. Each user Provides a way to store various options in a (sqlite3) database. Each user
of the gateway can store their own values (for example their prefered port, of the gateway can store their own values (for example their prefered port,
or their IRC password). or their IRC password).
http://git.louiz.org/litesql
- systemd (optional) systemd_ (optional)
Provides the support for a systemd service of Type=notify. This is useful only Provides the support for a systemd service of Type=notify. This is useful only
if you are packaging biboumi in a distribution with Systemd. if you are packaging biboumi in a distribution with Systemd.
Configure Configure
========= ---------
Configure the build system using cmake, there are many solutions to do that, Configure the build system using cmake, there are many solutions to do that,
the simplest is to just run the simplest is to just run
cmake . cmake .
in the current directory. in the current directory.
...@@ -90,67 +88,74 @@ The list of available options: ...@@ -90,67 +88,74 @@ The list of available options:
- POLLER: lets you select the poller used by biboumi, at - POLLER: lets you select the poller used by biboumi, at
compile-time. Possible values are: 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 - EPOLL: use the Linux-specific epoll(7). This is the default on Linux.
platforms. - 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, - 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 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 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 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. library will be used if available and will be ignored otherwise.
- WITH_LIBIDN and WITHOUT_LIBIDN: Just like the WITH(OUT)_BOTAN options, but - WITH_LIBIDN and WITHOUT_LIBIDN: Just like the WITH(OUT)_BOTAN options, but
for the IDN library for the IDN library
- WITH_SYSTEMD and WITHOUT_SYSTEMD: Just like the other WITH(OUT)_* options, - WITH_SYSTEMD and WITHOUT_SYSTEMD: Just like the other WITH(OUT)_* options,
but for the Systemd library but for the Systemd library
Example: Example:
cmake . -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX \ cmake . -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/usr
-DWITH_BOTAN=1 -DWITHOUT_SYSTEMD=1 -DWITH_BOTAN=1 -DWITHOUT_SYSTEMD=1
This command will configure the project to build a release, with TLS enabled 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). (using Botan) but without using Systemd (even if available on the system).
Build Build
===== -----
Once you’ve configured everything using cmake, build the project
- Once you’ve configured everything using cmake, build the project make
make
Install Install
======= -------
And then, optionaly, Install the software system-wide
- And then, optionaly, Install the software system-wide make install
make install
Testing Testing
======= -------
You can run the test suite with You can run the test suite with
make check make check
This project uses the Catch unit test framework, it will be automatically This project uses the Catch unit test framework, it will be automatically
fetched with cmake, by cloning the github repository. fetched with cmake, by cloning the github repository.
You can also check the overall code coverage of this test suite by running You can also check the overall code coverage of this test suite by running
make coverage make coverage
This requires gcov and lcov to be installed. This requires gcov and lcov to be installed.
Run Run
=== ---
Run the software using the `biboumi` binary. Read the documentation (the 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 man page biboumi(1) or the `biboumi.1.rst`_ file) for more information on how
to use biboumi. to use biboumi.
.. _expat: http://expat.sourceforge.net/
.. _libiconv: http://www.gnu.org/software/libiconv/
.. _libuuid: http://sourceforge.net/projects/libuuid/
.. _libidn: http://www.gnu.org/software/libidn/
.. _libbotan: http://botan.randombit.net/
.. _c-ares: http://c-ares.haxx.se/
.. _litesql: http://git.louiz.org/litesql
.. _systemd: https://www.freedesktop.org/wiki/Software/systemd/
.. _biboumi.1.rst: doc/biboumi.1.rst
...@@ -21,21 +21,21 @@ important goal is to keep the software (and its code) light and simple. ...@@ -21,21 +21,21 @@ important goal is to keep the software (and its code) light and simple.
Install Install
======= -------
Refer to the [INSTALL][] file. Refer to the INSTALL_ file.
Usage
=====
Read [the documentation](doc/biboumi.1.md). Usage
-----
Read `the documentation`_.
Authors Authors
======= -------
Florent Le Coz (louiz’) <louiz@louiz.org> Florent Le Coz (louiz’) <louiz@louiz.org>
Contact/Support Contact/Support
=============== ---------------
* XMPP ChatRoom: biboumi@muc.poez.io * XMPP ChatRoom: biboumi@muc.poez.io
* Report a bug: https://dev.louiz.org/projects/biboumi/issues/new * Report a bug: https://dev.louiz.org/projects/biboumi/issues/new
...@@ -51,11 +51,12 @@ beforehand. ...@@ -51,11 +51,12 @@ beforehand.
Licence Licence
======= -------
Biboumi is Free Software. Biboumi is Free Software.
(learn more: http://www.gnu.org/philosophy/free-sw.html) (learn more: http://www.gnu.org/philosophy/free-sw.html)
Biboumi is released under the zlib license. Biboumi is released under the zlib license.
Please read the COPYING file for details. Please read the COPYING file for details.
[INSTALL]: INSTALL .. _INSTALL: INSTALL.rst
.. _the documentation: doc/biboumi.1.rst
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment