haybale 0.7.2

Symbolic execution of LLVM IR, written in Rust
Documentation
[package]
name = "haybale"
version = "0.7.2"
authors = ["Craig Disselkoen <craigdissel@gmail.com>"]
edition = "2018"
description = "Symbolic execution of LLVM IR, written in Rust"
documentation = "https://docs.rs/haybale"
repository = "https://github.com/PLSysSec/haybale"
readme = "README.md"
keywords = ["symbolic", "llvm", "IR", "SMT"]
license = "MIT"

[dependencies]
llvm-ir = "0.8.2"
boolector = "0.4.3"
either = "1.9"
itertools = "0.11"
reduce = "0.1"
cpp_demangle = "0.2"
rustc-demangle = "0.1"
log = "0.4.20"
rustversion = "1.0"

[dev-dependencies]
env_logger = "0.10"

[features]
# Select the LLVM version to be compatible with.
# You _must_ enable exactly one of the following features.
llvm-9 = ["llvm-ir/llvm-9", "llvm-9-or-lower", "llvm-9-or-greater"]
llvm-10 = ["llvm-ir/llvm-10", "llvm-10-or-lower", "llvm-10-or-greater"]
llvm-11 = ["llvm-ir/llvm-11", "llvm-11-or-lower", "llvm-11-or-greater"]
llvm-12 = ["llvm-ir/llvm-12", "llvm-12-or-lower", "llvm-12-or-greater"]
llvm-13 = ["llvm-ir/llvm-13", "llvm-13-or-lower", "llvm-13-or-greater"]
llvm-14 = ["llvm-ir/llvm-14", "llvm-14-or-lower", "llvm-14-or-greater"]

# If you enable this, Cargo will automatically download and build Boolector as
# part of the build process.  If you don't enable this, Cargo will look for a
# system install of Boolector as a shared library.
vendor-boolector = ["boolector/vendor-lgl"]

###
# For convenience, these automatically-enabled features allow us to avoid
# checking complex combinations of features all the time. They are not meant to
# be manually enabled; use the above llvm-x features instead
llvm-9-or-greater = []
llvm-10-or-greater = ["llvm-9-or-greater"]
llvm-11-or-greater = ["llvm-10-or-greater"]
llvm-12-or-greater = ["llvm-11-or-greater"]
llvm-13-or-greater = ["llvm-12-or-greater"]
llvm-14-or-greater = ["llvm-13-or-greater"]

llvm-9-or-lower = ["llvm-10-or-lower"]
llvm-10-or-lower = ["llvm-11-or-lower"]
llvm-11-or-lower = ["llvm-12-or-lower"]
llvm-12-or-lower = ["llvm-13-or-lower"]
llvm-13-or-lower = ["llvm-14-or-lower"]
llvm-14-or-lower = []
###

# These features select the corresponding LLVM version, and require an exact
# match between the system LLVM version and the LLVM version chosen here. For
# more information, see the "strict-versioning" feature on `llvm-sys`.
llvm-9-strict = ["llvm-9", "llvm-ir/llvm-9-strict"]
llvm-10-strict = ["llvm-10", "llvm-ir/llvm-10-strict"]
llvm-11-strict = ["llvm-11", "llvm-ir/llvm-11-strict"]
llvm-12-strict = ["llvm-12", "llvm-ir/llvm-12-strict"]
llvm-13-strict = ["llvm-13", "llvm-ir/llvm-13-strict"]
llvm-14-strict = ["llvm-14", "llvm-ir/llvm-14-strict"]

[package.metadata.docs.rs]
# Generate docs.rs documentation with the llvm-10 feature
features = ["llvm-10"]