Cargo Features

[dependencies]
quiche = { version = "0.21.0", default-features = false, features = ["boringssl-vendored", "boringssl-boring-crate", "openssl", "pkg-config-meta", "fuzzing", "ffi", "internal", "qlog", "sfv"] }
default = boringssl-vendored

The boringssl-vendored feature is set by default whenever quiche is added without default-features = false somewhere in the dependency tree.

boringssl-vendored default

Build the vendored BoringSSL library.

boringssl-boring-crate = boring, foreign-types-shared

Use the BoringSSL library provided by the boring crate.

openssl = pkg-config

Build quiche against OpenSSL instead of BoringSSL.

pkg-config-meta

Generate pkg-config metadata file for libquiche.

fuzzing

Equivalent to "--cfg fuzzing", but can also be checked in build.rs.

ffi

Build and expose the FFI API.

internal

Exposes internal APIs that have no stability guarantees across versions.

Affects h3::frame…

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.

boring boringssl-boring-crate?
foreign-types-shared boringssl-boring-crate?
qlog implicit feature

Enables qlog

qlog:

qlog data model for QUIC and HTTP/3

Affects ffi::quiche_conn_set_qlog_path, ffi::quiche_conn_set_qlog_fd, quiche::QlogLevel…

sfv implicit feature

Enables sfv

sfv:

Structured Field Values for HTTP parser.
Implementation of RFC 8941

Affects ffi::quiche_h3_parse_extensible_priority…

pkg-config build openssl?