Guix:
Debian:
Ubuntu:
Arch Linux:
Lightweight dynamic binary probe inserter. Can be used for dynamic binary instrumentation and other usages.
See examples/tutorial.c
.
If you're not using Guix, then here's the list of dependencies depending on your usage. However, if you are using Guix, simply do:
./dev-env
to have a shell setup for development.
Keep it simple by using a single Makefile. Architecture dependent sources
should be set under arch/ARCH
and include/libpatch/ARCH
.
Here's the workflow for hacking
# Configure
./configure [OPTION]... [VAR=VALUE]...
# User configuration
cat -> .local.mk
# Compile
make
# Test
make check
make check-nocolor
make check-fuzz
# Reproducible build with Guix
make guix-build
# Coverage
make coverage-html
make coverage-summary.txt
# Clean whole project
make clean
# Installation
make install
# Documentation
make pdf
make html
make info
You can customize the build using .local.mk
. .config.mk
is reserved for the
configuration script.
The project can be compiled and tested from Emacs. If you're using the package
projectile, then you're good to go. If not, look at what .dir-locals.el
does
and tweak it to your needs.
If you're not using Emacs, then you can still use the scripts under scripts/
.
Some of these scripts assume that you're using Guix. Others don't. However,
they all require Guile 3.0.8.