tectonic/crates/bridge_flate
Caio Geraldes 92261fae4f fix clippy warnings 2023-01-14 21:41:30 -03:00
..
include Switch to dev-time rather than build-time cbindgen 2021-06-17 10:12:36 -04:00
src fix clippy warnings 2023-01-14 21:41:30 -03:00
CHANGELOG.md tectonic_bridge_flate: new bridge crate 2021-01-01 18:55:55 -05:00
Cargo.toml Switch to dev-time rather than build-time cbindgen 2021-06-17 10:12:36 -04:00
README.md Switch to dev-time rather than build-time cbindgen 2021-06-17 10:12:36 -04:00
build.rs Switch to dev-time rather than build-time cbindgen 2021-06-17 10:12:36 -04:00
cbindgen.toml Switch to dev-time rather than build-time cbindgen 2021-06-17 10:12:36 -04:00

README.md

The tectonic_bridge_flate crate

This crate is part of the Tectonic project. It provides a limited C API to the flate2 crate. This API is consumed by other Tectonic crates that include C code that require flate2 functionality.

If your project depends on this crate, Cargo will export for your build script an environment variable named DEP_TECTONIC_BRIDGE_FLATE_INCLUDE, which will be the name of a directory containing the generated tectonic_bridge_flate.h file that exposes this crates C API.

You will need to ensure that your Rust code actually references this crate in order for the linker to include the C API symbols. A use statement will suffice:

#[allow(unused_imports)]
use tectonic_bridge_flate::flate2;

Cargo features

The flate2 crate provides several Cargo features allowing control over the zlib implementation that it ultimately uses. This crate intentionally does not expose these features, because it is used by other crates that link with system libraries that can be expected to link to the systems libz. Therefore, the only safe approach at this time is to force the use of the system libz here as well. Once the linking framework is built up, it will become possible to allow for more flexibility in this area.

Updating the generated header

This crate exposes Rust functions to C/C++ code using a header file created by cbindgen. To update the header, run:

cbindgen --output include/tectonic_bridge_flate.h