Keep dictionary-training code out of compressor-only and decompressor-only CLI archives, where its ZDICT symbols are intentionally absent. Add a dedicated Rust CLI archive for zstd-dictBuilder, enable the builder feature only for the full and dictionary-builder programs, and make reduced-feature help use the feature-independent max-level helper. Test Plan: - cargo test --manifest-path rust/cli/Cargo.toml --lib -- --test-threads=1 (158 passed) - cargo test --manifest-path rust/cli/Cargo.toml --no-default-features --features cli,compression,dict-builder --lib -- --test-threads=1 (124 passed) - cargo clippy --manifest-path rust/cli/Cargo.toml --lib -- -D warnings - cargo clippy --manifest-path rust/cli/Cargo.toml --no-default-features --features cli,compression,dict-builder --lib -- -D warnings - make -C programs -j2 zstd zstd-small zstd-frugal zstd-decompress zstd-compress zstd-dictBuilder - git diff --check
26 lines
685 B
TOML
26 lines
685 B
TOML
[package]
|
|
name = "zstd-cli-rs"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
crate-type = ["staticlib"]
|
|
|
|
[features]
|
|
default = ["cli", "compression", "decompression", "benchmark"]
|
|
# The command-line parser and dispatch layer, which requires the C fileio
|
|
# backend at link time. Program archives enable it; C test binaries link a
|
|
# helpers-only archive (timefn) built without it.
|
|
cli = []
|
|
compression = []
|
|
decompression = []
|
|
dict-builder = ["compression"]
|
|
helpers = []
|
|
# The integrated benchmark archive is optional so zstd-small and zstd-frugal
|
|
# can omit every benchmark implementation and its timing/data-generator
|
|
# dependencies.
|
|
benchmark = ["compression"]
|
|
|
|
[dependencies]
|
|
libc = "0.2"
|