[package] name = "haybale" version = "0.7.2" authors = ["Craig Disselkoen "] 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"]