zshipko / libirmin

C bindings for Irmin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libirmin

irmin C library using ocaml-ctypes inverted stubs.

See irmin.h for available functions and types.

C bindings

  • IrminX values should be released using the corresponding irmin_X_free function.
  • The following types can safely be cast to IrminValue*/IrminContents:
    • IrminString
    • IrminCommit
    • IrminHash
    • IrminPath
    • IrminTree
    • IrminInfo

Compiling

To compile irmin.h and libirmin.so, run:

$ make

After that completes irmin.h can be found in include/ and libirmin.so will be in lib/

Installation

To install/uninstall irmin.h and libirmin.so:

$ opam install .
$ opam uninstall libirmin

irmin.h and libirmin.so will be copied to $OPAM_SWITCH_PREFIX/lib/libirmin/include and $OPAM_SWITCH_PREFIX/lib/libirmin/lib - this is where the Rust and Python bindings will check.

Running tests

Testing is handled by dune:

$ dune runtest

Usage

See README_LIBIRMIN

Rust bindings

See irmin-rs

Python bindings

See irmin-py

About

C bindings for Irmin

License:ISC License


Languages

Language:OCaml 81.8%Language:C 17.6%Language:Makefile 0.5%Language:Standard ML 0.1%