Mercurial > irccd
annotate INSTALL.md @ 1046:8fc354b3e198
irccd: improve non-quoted strings support
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 20 Jun 2021 09:13:56 +0200 |
parents | 13e374b9c522 |
children | 8904cd227948 |
rev | line source |
---|---|
0 | 1 IRC Client Daemon INSTALL |
2 ========================= | |
3 | |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
4 This guide will help you to install irccd. |
0 | 5 |
6 Requirements | |
7 ------------ | |
8 | |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
9 Runtime dependencies: |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
10 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
11 - [libbsd][]: some BSD extensions. |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
12 |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
13 Build dependencies: |
0 | 14 |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
15 - C99 and few features from C11 (stdatomics.h, stdnoreturn.h). |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
16 - [Bison][] and [Flex][]: For configuration files. |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
17 - [GNU Make][]: The GNU make utility. |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
18 |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
19 Optional runtime dependencies: |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
20 |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
21 - [OpenSSL][]: Used for SSL connections to IRC servers (recommended). |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
22 - [CURL][]: Required for the links plugin. |
0 | 23 |
24 Basic installation | |
25 ------------------ | |
26 | |
27 This is the quick way to install irccd. | |
28 | |
71 | 29 tar xvzf irccd-x.y.z-tar.xz |
30 cd irccd-x.y.z | |
31 make | |
32 sudo make install | |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
33 |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
34 ### Installing plugins |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
35 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
36 And to install plugins you must build and use `plugins` and `install-plugins` |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
37 targets: |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
38 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
39 make plugins |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
40 sudo make install-plugins |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
41 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
42 Alternatively you can build and install plugins manually using `plugin-NAME` and |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
43 `install-plugin-NAME` to install only wanted plugins. |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
44 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
45 Example: |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
46 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
47 make plugin-ask plugin-links |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
48 sudo make install-plugin-ask plugin-links |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
49 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
50 ### Systemd service |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
51 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
52 A systemd service is available through the `install-systemd` target. The service |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
53 file is named `irccd.service`. |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
54 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
55 Options |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
56 ------- |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
57 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
58 The following options are available at build time (make sure to run `make clean` |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
59 when you change options). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
60 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
61 - `SSL`: set to 1 or 0 to enable/disable OpenSSL (default: 1). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
62 - `JS`: set to 1 or 0 to disable Javascript (default: 1). |
1045
13e374b9c522
make: add DEBUG option
David Demelier <markand@malikania.fr>
parents:
1037
diff
changeset
|
63 - `DEBUG`: set to 1 or 0 to build with debug symbols and optimizations disabled |
13e374b9c522
make: add DEBUG option
David Demelier <markand@malikania.fr>
parents:
1037
diff
changeset
|
64 (default: 0). |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
65 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
66 You can tweak the installation directories by changing the following variables |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
67 (note: all paths must be absolute): |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
68 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
69 - `PREFIX`: root directory for installing (default: /usr/local). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
70 - `BINDIR`: binaries (default: ${PREFIX}/bin). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
71 - `ETCDIR`: config files (default: ${PREFIX}/etc). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
72 - `LIBDIR`: libraries (default: ${PREFIX}/lib). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
73 - `INCDIR`: header files (default: ${PREFIX}/include). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
74 - `SHAREDIR`: data files (default: ${PREFIX}/share). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
75 - `MANDIR`: path to manual pages (default: ${PREFIX}/share/man). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
76 - `VARDIR`: local cache files (default: ${PREFIX}/var). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
77 |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
78 [Bison]: https://www.gnu.org/software/bison |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
79 [GNU Make]: http://www.cmake.org |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
80 [CURL]: https://curl.se |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
81 [Flex]: https://github.com/westes/flex |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
82 [OpenSSL]: http://openssl.org |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
83 [libbsd]: https://libbsd.freedesktop.org/wiki |