Cargo Features

[dependencies]
sccache = { version = "0.9.0", default-features = false, features = ["all", "azure", "gcs", "gha", "memcached", "native-zlib", "oss", "redis", "s3", "webdav", "vendored-openssl", "unstable", "dist-client", "dist-server", "dist-tests"] }
default = all

The all feature is set by default whenever sccache is added without default-features = false somewhere in the dependency tree.

all default = azure, dist-client, gcs, gha, memcached, oss, redis, s3, webdav
azure all = reqsign, reqwest

Enables services-azblob of opendal

Affects cache::azure

gcs all = reqsign, reqwest, url

Enables services-gcs of opendal

Affects cache::gcs

gha all = reqwest

Enables services-ghac of opendal

Affects cache::gha

memcached all

Enables services-memcached of opendal

Affects cache::memcached

native-zlib
oss all = reqsign, reqwest

Enables services-oss of opendal

Affects cache::oss

redis all = url

Enables services-redis of opendal

Affects cache::redis

s3 all = reqsign, reqwest

Enables services-s3 of opendal

Affects cache::s3

webdav all = reqwest

Enables services-webdav of opendal

Affects cache::webdav

vendored-openssl

Enable features that will build a vendored version of openssl and statically linked with it, instead of linking against the system-wide openssl dynamically or statically.

Enables vendored of optional openssl, native-tls-vendored of optional reqwest

unstable

Enable features that require unstable features of Nightly Rust.

dist-client all dist-tests? = flate2, http-body-util, hyper, hyper-util, reqwest, sha2, url

Enables distributed support in the sccache client

Affects args::IterStrings, compiler::CAN_DIST_DYLIBS, compiler::CAN_DIST_DYLIBS, compiler::DistPackagers, compiler::Compiler.get_toolchain_packager, compiler::Compilation.into_dist_packagers, compiler::OutputsRewriter, compiler::NoopOutputsRewriter, dist::client_auth, dist::pkg, server::DistClientConfig, server::DistClientState, config::HTTPUrl, config::DistConfig.scheduler_url, dist::http, util::new_reqwest_blocking_client

dist-server dist-tests? = flate2, jwt, libmount, nix, openssl, reqwest, rouille, syslog, version-compare

Enables the sccache-dist binary

Affects config::scheduler, config::server, dist::SchedulerOutgoing, dist::ServerOutgoing, dist::JobAuthorizer, dist::SchedulerIncoming, dist::ServerIncoming, dist::BuilderIncoming, config::HTTPUrl, config::DistConfig.scheduler_url, dist::http, util::new_reqwest_blocking_client

Required by the sccache-dist binary

dist-tests = dist-client, dist-server

Enables dist tests with external requirements

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.

flate2 dist-client? dist-server?
http-body-util dist-client?
hyper dist-client?

Affects errors::BadHttpStatusError

hyper-util dist-client?
jwt dist-server?

Enables jsonwebtoken

opendal azure? gcs? gha? memcached? oss? redis? s3? webdav?
openssl dist-server?
reqsign azure? gcs? oss? s3?
reqwest azure? dist-client? dist-server? gcs? gha? oss? s3? webdav?
sha2 dist-client?
url dist-client? gcs? redis?
nix dist-server?

Enables nix ^0.28.0

rouille dist-server?
syslog dist-server?

Enables syslog ^6

version-compare dist-server?

Enables version-compare ^0.1.1

libmount not freebsd dist-server?