Cargo Features

[dependencies]
haybale-pitchfork = { version = "0.4.1", default-features = false, features = ["llvm-9", "llvm-10", "llvm-11", "llvm-12", "llvm-13", "llvm-9-strict", "llvm-10-strict", "llvm-11-strict", "llvm-12-strict", "llvm-13-strict", "vendor-boolector", "llvm-9-or-greater", "llvm-10-or-greater", "llvm-11-or-greater", "llvm-12-or-greater", "llvm-13-or-greater", "llvm-9-or-lower", "llvm-10-or-lower", "llvm-11-or-lower", "llvm-12-or-lower", "llvm-13-or-lower", "progress-updates"] }
default = progress-updates

The progress-updates feature is set by default whenever haybale-pitchfork is added without default-features = false somewhere in the dependency tree.

llvm-9 llvm-9-strict?

Select the LLVM version to be compatible with.
You _must_ enable exactly one of the following features.

Enables llvm-9 of haybale and llvm-ir ^0.8.1

llvm-10 llvm-10-strict?

Enables llvm-10 of haybale and llvm-ir ^0.8.1

llvm-11 llvm-11-strict?

Enables llvm-11 of haybale and llvm-ir ^0.8.1

llvm-12 llvm-12-strict?

Enables llvm-12 of haybale and llvm-ir ^0.8.1

llvm-13 llvm-13-strict?

Enables llvm-13 of haybale and llvm-ir ^0.8.1

llvm-9-strict = llvm-9

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.

Enables llvm-9-strict of haybale and llvm-ir ^0.8.1

llvm-10-strict = llvm-10

Enables llvm-10-strict of haybale and llvm-ir ^0.8.1

llvm-11-strict = llvm-11

Enables llvm-11-strict of haybale and llvm-ir ^0.8.1

llvm-12-strict = llvm-12

Enables llvm-12-strict of haybale and llvm-ir ^0.8.1

llvm-13-strict = llvm-13

Enables llvm-13-strict of haybale and llvm-ir ^0.8.1

vendor-boolector

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.

Enables vendor-lgl of boolector, vendor-boolector of haybale

llvm-9-or-greater llvm-10-or-greater?

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-10-or-greater llvm-11-or-greater? = llvm-9-or-greater
llvm-11-or-greater llvm-12-or-greater? = llvm-10-or-greater
llvm-12-or-greater llvm-13-or-greater? = llvm-11-or-greater
llvm-13-or-greater = llvm-12-or-greater
llvm-9-or-lower = llvm-10-or-lower
llvm-10-or-lower llvm-9-or-lower? = llvm-11-or-lower
llvm-11-or-lower llvm-10-or-lower? = llvm-12-or-lower
llvm-12-or-lower llvm-11-or-lower? = llvm-13-or-lower
llvm-13-or-lower llvm-12-or-lower?
progress-updates default = anyhow, crossterm, log4rs

This feature enables the progress_updates option in PitchforkConfig. For more details, see the documentation of that option.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

log4rs progress-updates
crossterm progress-updates

Enables crossterm ^0.22.0

anyhow progress-updates