kcapi-sys

Crates.iokcapi-sys
lib.rskcapi-sys
version1.4.1
sourcesrc
created_at2014-12-18 19:45:24.807253
updated_at2022-06-17 18:42:07.603999
descriptionOfficial low-level Rust bindings for libkcapi
homepagehttps://github.com/puru1761/kcapi-sys
repositoryhttps://github.com/puru1761/kcapi-sys/
max_upload_size
id597
size646,328
Puru Kulkarni (puru1761)

documentation

README

The Raw Rust Bindings for libkcapi

CI Badge License Badge Crate 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:

  • autotools
  • autoconf
  • llvm-dev
  • libtool
  • build-essential

RPM based package manager

sudo yum install automake autoconf llvm-devel

Debian based package manager

sudo apt-get install \
    autotools-dev \
    autoconf \
    llvm-dev \
    libtool \
    build-essential \

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

Build With Local libkcapi

To build this crate with the locally installed version of libkcapi, you can use the local-kcapi feature. In your Cargo.toml:

kcapi-sys = { version = "1.4.0", default-features = false, features = ["local-kcapi"] }

NOTE: This has been tested only with libkcapi v1.4.0 and is not guaranteed to work with older libkcapi versions.

Test

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

cargo test

Author

Commit count: 52

cargo fmt