]> git.stg.codes - stg.git/blob - README.md
Fix compilation.
[stg.git] / README.md
1 # Stargazer
2 [![Build Status](https://travis-ci.org/madf/stg.svg?branch=master)](https://travis-ci.org/madf/stg)
3
4 A billing system for small home and office networks.
5
6 ## Dependencies
7
8 * CMake - build system.
9 * Iconv - character encoding conversion.
10 * Expat (optional) - required by `mod_conf_sg` configuration plugin.
11 * xmlrpc-c (optional) - required by `mod_conf_rpc` configuration plugin.
12 * PCap (optional) - required by `mod_cap_pcap` traffic capture plugin.
13 * `libnetfilter_queue`, `libnfnetlink`, `libmnl` (optional) - required by `mod_cap_nfqueue` traffic capture plugin.
14 * Firebird (optional) - required by `mod_store_firebird` storage plugin.
15 * PostgreSQL (optional) - required by `mod_store_postgresql` storage plugin.
16 * MySQL Connector (optional) - required by `mod_store_mysql` storage plugin.
17 * boost (optional) - unit tests.
18
19 ## Compilation and Installation
20
21 ```
22 mkdir build
23 cd build
24 cmake ..
25 make
26 make install
27 ```
28
29 It will install everything in /usr/local by default. If you want to install with a different destdir:
30
31 ```
32 $ make DESTDIR=/path/to/your/destdir install
33 ```
34
35 It will automatically append usr/local to your destdir. So if you specify DESTDIR=foo you will result in the following directory structure:
36
37 ```
38 foo/usr/local/bin
39 foo/usr/local/include
40 foo/usr/local/lib
41 ```
42
43 If you want a custom install dir prefix use CMAKE_INSTALL_PREFIX at compile time:
44
45 ```
46 $ cmake -DCMAKE_INSTALL_PREFIX=/your/prefix ..
47 $ make
48 $ make install
49 ```
50
51 If you specify -DCMAKE_INSTALL_PREFIX=foo you will result in the following directory structure:
52
53 ```
54 foo/bin
55 foo/include
56 foo/lib
57 ```
58
59 ### Notes for MacOS X
60
61 1. It is not easy to use Firebird on MacOS X, so you may want to opt-out its storage plugin. Use `-DBUILD_NO_MOD_STORE_FIREBIRD=ON` as `cmake` command line option.
62 2. Homebrew XMLRPC-C version is too old. You may want to build it from scratch. In order to make it visible to CMake, pass `-DXMLRPC_C_CONFIG=/path/to/xmlrpc-c-config` to `cmake`.
63 3. CMake usually does not see MySQL Connector library installed by Homebrew. Pass `-DMySQLConnector_ROOT=/usr/local/opt/mysql-client/` to `cmake` to make it visible.
64
65 ## Documentation
66
67 https://stg.net.ua/doc/index.html