Convert README, INSTALL etc to markdown
This commit is contained in:
+156
@@ -0,0 +1,156 @@
|
||||
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/
|
||||
|
||||
- c-ares (optional, but recommended)
|
||||
Asynchronously resolve domain names. This offers better reactivity and
|
||||
performances when connecting to a big number of IRC servers at the same
|
||||
time.
|
||||
http://c-ares.haxx.se/
|
||||
|
||||
- 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/
|
||||
|
||||
- litesql (optional)
|
||||
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,
|
||||
or their IRC password).
|
||||
http://git.louiz.org/litesql
|
||||
|
||||
- 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
|
||||
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
You can run the test suite with
|
||||
|
||||
make check
|
||||
|
||||
This project uses the Catch unit test framework, it will be automatically
|
||||
fetched with cmake, by cloning the github repository.
|
||||
|
||||
You can also check the overall code coverage of this test suite by running
|
||||
|
||||
make coverage
|
||||
|
||||
This requires gcov and lcov to be installed.
|
||||
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user