annotate INSTALL.md @ 1153:4d6fe5535657 release-4.0

misc: update CHANGES.md
author David Demelier <markand@malikania.fr>
date Sun, 06 Feb 2022 16:04:15 +0100
parents 8c53096eef1e
children a388a6193131
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 IRC Client Daemon INSTALL
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 =========================
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
5
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 Requirements
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 ------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
9 Build dependencies:
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
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).
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
12 - [Bison][] and [Flex][]: for configuration files.
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
13 - [CMake][]: the cross platform build 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
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 Basic installation
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 ------------------
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 This is the quick way to install irccd.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
25 tar xvzf irccd-x.y.z-tar.xz
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
26 cmake -S irccd-x.y.z -B build
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
27 cmake --build build --target all
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
28 sudo cmake --build build --target install
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
29
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
30 ### Disabling plugins
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
31
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
32 For every plugin, an option `IRCCD_WITH_PLUGIN_<NAME>` is presented and set to
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
33 on by default. Substitute `<NAME>` with the plugin uppercase name (e.g. `ASK`).
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
34
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
35 cmake build -DIRCCD_WITH_PLUGIN_ASK=Off
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
36
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
37 ### Systemd service
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
38
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
39 The systemd service file is installed by default if the machine is running
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
40 systemd, it's possible to force the option using `IRCCD_WITH_SYSTEMD` to `On` or
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
41 `Off`.
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
42
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
43 cmake build -DIRCCD_WITH_SYSTEMD=Off
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
44
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
45 ### Other options
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
46
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
47 The following options are available:
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
48
1110
8c53096eef1e cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents: 1108
diff changeset
49 - `IRCCD_WITH_MAN`: installation of manpages.
8c53096eef1e cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents: 1108
diff changeset
50 - `IRCCD_WITH_JS`: Javascript support (and all Javascript plugins).
8c53096eef1e cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents: 1108
diff changeset
51 - `IRCCD_WITH_SSL`: OpenSSL support.
8c53096eef1e cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents: 1108
diff changeset
52 - `IRCCD_WITH_TESTS`: building of tests.
8c53096eef1e cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents: 1108
diff changeset
53 - `IRCCD_WITH_EXAMPLES`: plugin templates.
8c53096eef1e cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents: 1108
diff changeset
54 - `IRCCD_WITH_PKGCONFIG`: pkg-config file installation.
8c53096eef1e cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents: 1108
diff changeset
55 - `IRCCD_WITH_PKGCONFIGDIR`: path to pkg-config directory installation.
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
56
1110
8c53096eef1e cmake: add pkg-config file support
David Demelier <markand@malikania.fr>
parents: 1108
diff changeset
57 The following standard CMake options control installation directories.
1037
8f8ce47aba8a make: switch to GNU make
David Demelier <markand@malikania.fr>
parents: 1008
diff changeset
58
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
59 - `CMAKE_INSTALL_PREFIX`: root directory for installing (default: /usr/local).
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
60 - `CMAKE_INSTALL_BINDIR`: binaries (default: ${CMAKE_INSTALL_PREFIX}/bin).
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
61 - `CMAKE_INSTALL_SYSCONFDIR`: config files (default: ${CMAKE_INSTALL_PREFIX}/etc).
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
62 - `CMAKE_INSTALL_LIBDIR`: libraries (default: ${CMAKE_INSTALL_PREFIX}/lib).
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
63 - `CMAKE_INSTALL_INCLUDEDIR`: header files (default: ${CMAKE_INSTALL_PREFIX}/include).
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
64 - `CMAKE_INSTALL_SHAREDIR`: data files (default: ${CMAKE_INSTALL_PREFIX}/share).
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
65 - `CMAKE_INSTALL_MANDIR`: path to manual pages (default: ${CMAKE_INSTALL_PREFIX}/share/man).
1052
8904cd227948 misc: update INSTALL.md
David Demelier <markand@malikania.fr>
parents: 1045
diff changeset
66
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
67 [Bison]: https://www.gnu.org/software/bison
1108
a09d4c9b8518 misc: improve meta files
David Demelier <markand@malikania.fr>
parents: 1074
diff changeset
68 [CMake]: http://www.cmake.org
1008
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
69 [CURL]: https://curl.se
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
70 [Flex]: https://github.com/westes/flex
201ddc487807 irccd: add irccd.conf file
David Demelier <markand@malikania.fr>
parents: 899
diff changeset
71 [OpenSSL]: http://openssl.org