1README.gnu-build-system
2=======================
3
4Introduction
5------------
6
7`fswatch` is built using the GNU Build System (a.k.a. the Autotools) and
8developers willing to modify the configuration files must have the GNU Build
9System installed in order to do so.
10
11For further information about the GNU Build System and its use, please refer to
12its official documentation.
13
14Installing the GNU Build System
15-------------------------------
16
17To install the GNU Build System, the following operations must be performed:
18
19  * Get the GNU Build System components:
20    - [Autoconf] (>= v. 2.69).
21    - [Automake]: (>= v. 1.14.1).
22    - [Libtool]: (>= v. 2.4.2).
23    - [Gettext]: (>= v. 0.19.4).
24
25  * Install the packages in the following order:
26    - Autoconf
27    - Automake
28    - Libtool
29    - Gettext
30
31  * From now on, `<bundle>` will indicate any of the above-mentioned
32     components.
33
34  * Grab the sources:
35
36        $ wget <sources-url>
37
38  * Uncompress the source bundle:
39
40        $ gunzip <bundle>.tar.gz
41        $ tar -xf <bundle>.tar
42
43  * Configure the GNU Build System using the provided `autogen.sh` script:
44
45        $ ./autogen.sh
46
47    Whenever any component of the GNU Build System is updated, the `--force`
48    option should be passed to `autogen.sh`, which in turn forwards it to
49    `autoreconf`, to make sure that automatically generated scripts and macros
50    are updated:
51
52        $ ./autogen.sh --force
53
54  * Configure the package:
55
56        $ ./configure [...]
57
58  * If you want to install the package in the default location
59    (`/usr/local/bin`) you can invoke `./configure` with no option, otherwise
60    provide the desired installation directory using the `--prefix` option:
61
62        $ ./configure --prefix=/destdir
63
64  * Build the package:
65
66        $ make
67
68  * Test the components:
69
70        $ make check
71
72  * Test the installed components:
73
74        $ make check
75
76  * Install the components:
77
78        $ make install
79
80    Depending on the installation directory additional privileges may be
81    required.
82
83  * Add the installation directory to the `PATH`, otherwise builds of the
84    package may fail:
85
86        $ export PATH=/destdir/bin:$PATH
87
88[Autoconf]: https://www.gnu.org/software/autoconf/
89[Automake]: https://www.gnu.org/software/automake/
90[Libtool]: https://www.gnu.org/software/libtool/
91[Gettext]: https://www.gnu.org/software/gettext/
92-----
93
94Copyright (c) 2014-2017 Enrico M. Crisostomo
95
96This program is free software; you can redistribute it and/or modify it under
97the terms of the GNU General Public License as published by the Free Software
98Foundation; either version 3, or (at your option) any later version.
99
100This program is distributed in the hope that it will be useful, but WITHOUT ANY
101WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
102PARTICULAR PURPOSE.  See the GNU General Public License for more details.
103
104You should have received a copy of the GNU General Public License along with
105this program.  If not, see <http://www.gnu.org/licenses/>.
106