| 1 | Library for Restartable Sequences |
| 2 | ================================= |
| 3 | |
| 4 | by Mathieu Desnoyers |
| 5 | |
| 6 | |
| 7 | Building |
| 8 | -------- |
| 9 | |
| 10 | ### Prerequisites |
| 11 | |
| 12 | This source tree is based on the Autotools suite from GNU to simplify |
| 13 | portability. Here are some things you should have on your system in order to |
| 14 | compile the Git repository tree: |
| 15 | |
| 16 | - [GNU Autotools](http://www.gnu.org/software/autoconf/) |
| 17 | (**Automake >= 1.10**, **Autoconf >= 2.50**, |
| 18 | **Autoheader >= 2.50**; |
| 19 | make sure your system-wide `automake` points to a recent version!) |
| 20 | - **[GNU Libtool](https://www.gnu.org/software/libtool/) >= 2.2** |
| 21 | - **Linux kernel headers** from kernel **>= 4.18** to build on x86, arm, |
| 22 | ppc, and mips and from kernel **>= 4.19** to build on s390. |
| 23 | |
| 24 | |
| 25 | ### Building steps |
| 26 | |
| 27 | If you get the tree from the Git repository, you will need to run |
| 28 | |
| 29 | ./bootstrap |
| 30 | |
| 31 | in its root. It calls all the GNU tools needed to prepare the tree |
| 32 | configuration. |
| 33 | |
| 34 | To build and install, do: |
| 35 | |
| 36 | ./configure |
| 37 | make |
| 38 | sudo make install |
| 39 | sudo ldconfig |
| 40 | |
| 41 | **Note:** the `configure` script sets `/usr/local` as the default prefix for |
| 42 | files it installs. However, this path is not part of most distributions' |
| 43 | default library path, which will cause builds depending on `librseq` |
| 44 | to fail unless `-L/usr/local/lib` is added to `LDFLAGS`. You may provide a |
| 45 | custom prefix to `configure` by using the `--prefix` switch |
| 46 | (e.g., `--prefix=/usr`). |
| 47 | |
| 48 | |
| 49 | ### Building against a local version of the kernel headers |
| 50 | |
| 51 | cd /path/to/kernel/sources |
| 52 | make headers_install |
| 53 | cd /path/to/librseq |
| 54 | CPPFLAGS=-I/path/to/kernel/sources/usr/include ./configure |
| 55 | make |
| 56 | sudo make install |
| 57 | sudo ldconfig |