Move the public ZDICT helpers, legacy trainer, dictionary finalization, entropy-table construction, and supporting dictionary logic into Rust. Keep the C translation unit as an ABI anchor and register the Rust module only when compression and dictionary-builder features are enabled. Test Plan: - RUSTC_WRAPPER= CARGO_BUILD_RUSTC_WRAPPER= cargo test --manifest-path rust/Cargo.toml dict_builder_zdict - RUSTC_WRAPPER= CARGO_BUILD_RUSTC_WRAPPER= cargo clippy --manifest-path rust/Cargo.toml --all-targets -- -D warnings - rustfmt +nightly --check --edition 2021 rust/src/dict_builder_zdict.rs rust/src/lib.rs - git diff --cached --check
21 lines
717 B
C
21 lines
717 B
C
/*
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under both the BSD-style license (found in the
|
|
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
* in the COPYING file in the root directory of this source tree).
|
|
* You may select, at your option, one of the above-listed licenses.
|
|
*/
|
|
|
|
/*
|
|
* The public ZDICT implementation lives in rust/src/dict_builder_zdict.rs.
|
|
* Keep this translation unit as the C ABI anchor used by the existing build
|
|
* descriptions and by users which include the static-only declarations.
|
|
*/
|
|
#ifndef ZDICT_STATIC_LINKING_ONLY
|
|
# define ZDICT_STATIC_LINKING_ONLY
|
|
#endif
|
|
|
|
#include "../zdict.h"
|