summaryrefslogtreecommitdiffstats
path: root/openpgp/README.md
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-06-11 13:01:50 +0200
committerJustus Winter <justus@sequoia-pgp.org>2020-06-11 13:01:50 +0200
commitf9f21502949d9862500eed5c0ba9722370698092 (patch)
tree27683fe85b38715c6cee8499c09bb03f04a4ad21 /openpgp/README.md
parentfd05e52d5b39cfe5738895ae346fd0886ca9529b (diff)
openpgp: Document feature flags.
Diffstat (limited to 'openpgp/README.md')
-rw-r--r--openpgp/README.md36
1 files changed, 36 insertions, 0 deletions
diff --git a/openpgp/README.md b/openpgp/README.md
index b7535a86..22ac7930 100644
--- a/openpgp/README.md
+++ b/openpgp/README.md
@@ -43,3 +43,39 @@ which describes ECC cryptography for OpenPGP, and RFC 4880bis, the
draft of the next OpenPGP standard). This includes support for
unbuffered message processing.
+# Feature flags
+
+This crate uses *features* to enable or disable optional
+functionality. You can tweak the features in your `Cargo.toml` file,
+like so:
+
+```toml
+sequoia-openpgp = { version = "*", default-features = false, features = ["crypto-nettle", ...] }
+```
+
+By default, Sequoia is built using Nettle as cryptographic backend
+with all compression algorithms enabled.
+
+Note that if you use `default-features = false`, you need to
+explicitly enable a crypto backend.
+
+## Crypto backends
+
+Currently, Sequoia only supports the Nettle cryptographic library as
+crypto backend. To enable it, use the `crypto-nettle` flag.
+
+## Compression algorithms
+
+Use the `compression` flag to enable support for all compression
+algorithms, `compression-deflate` to enable *DEFLATE* and *zlib*
+compression support, and `compression-bzip2` to enable *bzip2*
+support.
+
+## Testing, debugging, and fuzzing
+
+Sequoia uses [`quickcheck`] in tests. To use it as a downstream user,
+enable the `x-quickcheck` feature (this feature will be called just
+`quickcheck` once [this feature] is implemented).
+
+[`quickcheck`]: https://docs.rs/quickcheck
+[this feature]: https://github.com/rust-lang/cargo/issues/5565