use std::env::var;
fn main() {
println!("cargo:rerun-if-changed=build.rs");
let crc32 = var("CARGO_FEATURE_CRC32").is_ok();
let xxhash64 = var("CARGO_FEATURE_XXHASH64").is_ok();
let xxhash32 = var("CARGO_FEATURE_XXHASH32").is_ok();
let xxhash3 = var("CARGO_FEATURE_XXHASH3").is_ok();
let murmur3 = var("CARGO_FEATURE_MURMUR3").is_ok();
let checksum = crc32 || xxhash64 || xxhash32 || xxhash3 || murmur3;
let zstd = var("CARGO_FEATURE_ZSTD").is_ok();
let lz4 = var("CARGO_FEATURE_LZ4").is_ok();
let snappy = var("CARGO_FEATURE_SNAPPY").is_ok();
let brotli = var("CARGO_FEATURE_BROTLI").is_ok();
let encryption = var("CARGO_FEATURE_ENCRYPTION").is_ok();
let compression = zstd || lz4 || snappy || brotli;
let offload = compression || encryption;
if compression {
use_feature("compression");
}
if offload {
use_feature("offload");
}
if checksum {
use_feature("checksum");
}
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_CRC32");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_XXHASH64");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_XXHASH32");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_XXHASH3");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_MURMUR3");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_ZSTD");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_LZ4");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_SNAPPY");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_BROTLI");
println!("cargo:rerun-if-env-changed=CARGO_FEATURE_ENCRYPTION");
}
fn use_feature(feature: &str) {
println!("cargo:rustc-cfg={}", feature);
}