1
0
Fork 1
mirror of https://git.efficios.com/librseq.git synced 2025-12-12 16:23:47 +00:00
No description
Find a file
Michael Jeanson cbdabc45a1 README: Add basics on running the test suite
Change-Id: I80d798740727e746a039f146df59a19effea5586
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2025-08-20 09:00:38 -04:00
doc doc: clarifiy EINVAL/EBUSY errors with an active registration 2024-07-26 14:57:03 -04:00
include cleanup: wrong comment for RSEQ_ASM_STORE_RSEQ_CS 2025-04-11 15:59:15 -04:00
LICENSES Add missing LGPL-2.1-or-later license for 'src/list.h' 2024-07-23 11:16:34 -04:00
m4 m4: update the pprint macro 2025-06-09 11:01:46 -04:00
src Add missing unistd.h include to rseq-utils.h 2025-04-02 21:22:21 -04:00
tests tests: Merge 'unit' tests in the base test suite 2025-08-20 08:59:01 -04:00
.gitignore Add basic_percpu_benchmark for intermittent workload benchmarking 2024-09-04 11:14:41 -04:00
.gitreview Implement the REUSE specification for licensing and copyright 2023-04-14 17:20:56 -04:00
bootstrap Implement the REUSE specification for licensing and copyright 2023-04-14 17:20:56 -04:00
configure.ac m4: update the pprint macro 2025-06-09 11:01:46 -04:00
LICENSE Implement the REUSE specification for licensing and copyright 2023-04-14 17:20:56 -04:00
Makefile.am fix: Add LICENSES/LGPL-2.1-or-later.txt to distribution 2024-07-23 15:53:24 -04:00
README.md README: Add basics on running the test suite 2025-08-20 09:00:38 -04:00

Library for Restartable Sequences

by Mathieu Desnoyers

Required and optional dependencies

The following dependencies are optional:

  • libnuma To build without this dependency run ./configure with --disable-numa
  • libseccomp

Building

Prerequisites

This source tree is based on the Autotools suite from GNU to simplify portability. Here are some things you should have on your system in order to compile the Git repository tree:

  • GNU Autotools (Automake >= 1.12, Autoconf >= 2.69, Autoheader >= 2.69; make sure your system-wide automake points to a recent version!)
  • GNU Libtool >= 2.2
  • GNU Make
  • pkg-config
  • Linux kernel headers from kernel >= 4.18 to build on x86, arm, ppc, and mips and from kernel >= 4.19 to build on s390.

Building steps

If you get the tree from the Git repository, you will need to run

./bootstrap

in its root. It calls all the GNU tools needed to prepare the tree configuration.

To build and install, do:

./configure
make
sudo make install
sudo ldconfig

Note: the configure script sets /usr/local as the default prefix for files it installs. However, this path is not part of most distributions' default library path, which will cause builds depending on librseq to fail unless -L/usr/local/lib is added to LDFLAGS. You may provide a custom prefix to configure by using the --prefix switch (e.g., --prefix=/usr).

Building against a local version of the kernel headers

cd /path/to/kernel/sources
make headers_install
cd /path/to/librseq
CPPFLAGS=-I/path/to/kernel/sources/usr/include ./configure
make
sudo make install
sudo ldconfig

Running the test suite

To run the test suite after a successful build:

make check

The default list of tests to run can be overriden by the TESTS variable:

make check TESTS="run_unregistered_test.tap"