Move benchmark parameter normalization and dispatch into the Rust CLI archive while retaining the stable C launcher entry point. Keep compact CLI variants benchmark-free and add an explicit helpers feature for the C test generators. Test Plan: - cargo test --manifest-path rust/cli/Cargo.toml --no-default-features --features benchmark - cargo test --manifest-path rust/cli/Cargo.toml --no-default-features --features helpers - cargo clippy --manifest-path rust/cli/Cargo.toml --all-targets --no-default-features --features cli,compression,decompression,benchmark - cargo clippy --manifest-path rust/cli/Cargo.toml --all-targets --no-default-features --features helpers - make -B -C programs -j2 zstd zstd-small zstd-frugal - make -B -C tests -j2 test-cli-tests - programs/zstd -b1i1 -q
25 lines
654 B
TOML
25 lines
654 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 = []
|
|
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"
|