/bitwuzla-sys

Low-level Rust bindings for the Bitwuzla SMT solver

Primary LanguageRustMIT LicenseMIT

crates.io docs.rs

bitwuzla-sys

This Rust crate provides low-level bindings for the Bitwuzla SMT solver.

Installation

Using shared bitwuzla library

Compile bitwuzla as a shared library and install it. Then add this crate to your Cargo.toml:

[dependencies]
bitwuzla-sys = "0.2"

Using vendored static bitwuzla library

This is possible on UNIX-like targets only. Add this crate to your Cargo.toml with the vendor-cadical feature enabled:

[dependencies]
bitwuzla-sys = { version = "0.2", features = ["vendor-cadical"] }

Enabling vendor-cadical will automatically build a static bitwuzla library and link against it. Currently, this uses the CaDiCaL SAT solver.

In order for the build to succeed, you'll need to install some tools on your build host; for a Debian-based distribution build-essential, cmake, curl, and git should be sufficient.

License

This crate is licensed under the MIT license.