Cargo Features

[dependencies]
spirv-builder = { version = "0.10.0-alpha.1", default-features = false, features = ["rustc_codegen_spirv", "use-installed-tools", "use-compiled-tools", "skip-toolchain-check", "watch", "clap"] }

NOTE(eddyb) the dep: prefixes used here prevents a feature with the name as that optional dependency, from being automatically created by Cargo, see: https://doc.rust-lang.org/cargo/reference/features.html#optional-dependencies

default = use-compiled-tools

The use-compiled-tools feature is set by default whenever spirv-builder is added without default-features = false somewhere in the dependency tree.

rustc_codegen_spirv use-compiled-tools use-installed-tools?

Compile rustc_codegen_spirv, allows constructing SpirvBuilder without explicitly passing in a path to a compiled rustc_codegen_spirv.so (or dll)

Enables rustc_codegen_spirv

use-installed-tools = rustc_codegen_spirv

See rustc_codegen_spirv/Cargo.toml for details on these features. We add new "default" features to use-installed-tools and use-compiled-tools to keep backwards compat with default-features = false, features = "use-installed-tools" setups

Enables use-installed-tools of optional rustc_codegen_spirv

use-compiled-tools default = rustc_codegen_spirv

Enables use-compiled-tools of optional rustc_codegen_spirv

rustc_codegen_spirv:

If enabled will compile and link the C++ code for the spirv tools, the compiled version is preferred if both this and use-installed-tools are enabled

skip-toolchain-check

Enables skip-toolchain-check of optional rustc_codegen_spirv

rustc_codegen_spirv:

If enabled, this will not check whether the current rustc version is set to the appropriate channel. rustc_cogeden_spirv requires a specific nightly version,
and will likely produce compile errors when built against a different toolchain.
Enable this feature to be able to experiment with other versions.

watch

Enables notify

clap

Enables clap