Mercurial > irccd
annotate INSTALL.md @ 1087:eee4d67d78a8
irccd: resurrect -v option
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 21 Jul 2021 08:41:38 +0200 |
parents | 4ed442cf25c0 |
children | a09d4c9b8518 |
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 | |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
9 Build dependencies: |
0 | 10 |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
11 - 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
|
12 - [Bison][] and [Flex][]: For configuration files. |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
13 - [GNU Make][]: The GNU make utility. |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
14 |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
15 Optional runtime dependencies: |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
16 |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
17 - [OpenSSL][]: Used for SSL connections to IRC servers (recommended). |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
18 - [CURL][]: Required for the links plugin. |
0 | 19 |
20 Basic installation | |
21 ------------------ | |
22 | |
23 This is the quick way to install irccd. | |
24 | |
71 | 25 tar xvzf irccd-x.y.z-tar.xz |
26 cd irccd-x.y.z | |
27 make | |
28 sudo make install | |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
29 |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
30 ### Installing plugins |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
31 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
32 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
|
33 targets: |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
34 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
35 make plugins |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
36 sudo make install-plugins |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
37 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
38 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
|
39 `install-plugin-NAME` to install only wanted plugins. |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
40 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
41 Example: |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
42 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
43 make plugin-ask plugin-links |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
44 sudo make install-plugin-ask plugin-links |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
45 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
46 ### Systemd service |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
47 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
48 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
|
49 file is named `irccd.service`. |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
50 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
51 Options |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
52 ------- |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
53 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
54 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
|
55 when you change 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 - `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
|
58 - `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
|
59 - `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
|
60 (default: 0). |
1052
8904cd227948
misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents:
1045
diff
changeset
|
61 - `USER`: user to use for transport and init scripts (default: nobody). |
8904cd227948
misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents:
1045
diff
changeset
|
62 - `GROUP`: group to use for transport and init scripts (default: nobody). |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
63 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
64 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
|
65 (note: all paths must be absolute): |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
66 |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
67 - `PREFIX`: root directory for installing (default: /usr/local). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
68 - `BINDIR`: binaries (default: ${PREFIX}/bin). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
69 - `ETCDIR`: config files (default: ${PREFIX}/etc). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
70 - `LIBDIR`: libraries (default: ${PREFIX}/lib). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
71 - `INCDIR`: header files (default: ${PREFIX}/include). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
72 - `SHAREDIR`: data files (default: ${PREFIX}/share). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
73 - `MANDIR`: path to manual pages (default: ${PREFIX}/share/man). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
74 - `VARDIR`: local cache files (default: ${PREFIX}/var). |
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
75 |
1052
8904cd227948
misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents:
1045
diff
changeset
|
76 For any options, make sure to specify them for any make targets (e.g. `install`) |
8904cd227948
misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents:
1045
diff
changeset
|
77 because they can be translated at install time too. |
8904cd227948
misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents:
1045
diff
changeset
|
78 |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
79 [Bison]: https://www.gnu.org/software/bison |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
80 [GNU Make]: http://www.cmake.org |
1008
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
81 [CURL]: https://curl.se |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
82 [Flex]: https://github.com/westes/flex |
201ddc487807
irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents:
899
diff
changeset
|
83 [OpenSSL]: http://openssl.org |
1037
8f8ce47aba8a
make: switch to GNU make
David Demelier <markand@malikania.fr>
parents:
1008
diff
changeset
|
84 [libbsd]: https://libbsd.freedesktop.org/wiki |