Cargo Features

[dependencies]
inkwell_llvm12 = { version = "0.1.2", default-features = false, features = ["llvm12-0", "llvm12-0-no-llvm-linking", "no-libffi-linking", "target-mips", "target-amdgpu", "target-hexagon", "target-xcore", "target-bpf", "target-webassembly", "target-riscv", "target-all", "experimental", "nightly"] }
default = llvm12-0, target-all

These default features are set whenever inkwell_llvm12 is added without default-features = false somewhere in the dependency tree.

llvm12-0 default llvm12-0-no-llvm-linking? = llvm-sys-120

Please update internal_macros::FEATURE_VERSIONS when adding a new LLVM version

Affects metadata_value::FIRST_CUSTOM_METADATA_KIND_ID

llvm12-0-no-llvm-linking = llvm12-0

Don't link aganist LLVM libraries. This is useful if another dependency is installing LLVM. See llvm-sys for more details. We can't enable a single no-llvm-linking feature across the board of llvm versions, as it'll cause cargo to try and download and compile them all. See https://github.com/rust-lang/cargo/issues/3494

Enables no-llvm-linking of llvm-sys ^120.2

no-libffi-linking

Don't force linking to libffi on non-windows platforms. Without this feature inkwell always links to libffi on non-windows platforms.

target-x86 target-arm target-mips target-all
target-aarch64 target-amdgpu target-all
target-systemz target-hexagon target-all
target-nvptx target-msp430 target-xcore target-all
target-powerpc target-sparc target-bpf target-all
target-lanai target-webassembly target-all
target-riscv target-all
target-all default = target-aarch64, target-amdgpu, target-arm, target-bpf, target-hexagon, target-lanai, target-mips, target-msp430, target-nvptx, target-powerpc, target-riscv, target-sparc, target-systemz, target-webassembly, target-x86, target-xcore
experimental = static-alloc

Affects execution_engine::experimental

nightly

Enables nightly of inkwell_internals ^0.5.0

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.

llvm-sys-120 llvm12-0 llvm12-0-no-llvm-linking?

Enables llvm-sys ^120.2

static-alloc experimental?