The Raw Rust Bindings for libkcapi

CI Badge License Badge

This repository contains the official raw low-level bindings for libkcapi. DO NOT use these bindings directly in your project. Instead, a safe Rusty API will be provided as a part of the kcapi crate.

Pre-requisites

Prior to building this project, clone this repository, and also checkout all it's included submodules recursively.

git clone https://github.com/puru1761/kcapi-sys.git --recurse-submodules

Install all build dependencies. These are:

RPM based package manager

sudo yum install automake autoconf llvm-devel

Debian based package manager

sudo apt-get install autotools-dev autoconf llvm-dev

If LLVM_CONFIG_PATH is not set, then set it with:

export LLVM_CONFIG_PATH="/path/to/llvm-config"

Build

We use cargo as our build system for building this crate. Build it using:

cargo build

Test

We have a few sanity tests written to make sure that the bindings work as expected. Run these tests using:

cargo test

Author