8 releases

0.1.7 May 18, 2023
0.1.6 Oct 3, 2022
0.1.5 Jun 17, 2021
0.1.1 Jan 16, 2021

#1241 in Text processing

Download history 216/week @ 2024-07-22 199/week @ 2024-07-29 152/week @ 2024-08-05 163/week @ 2024-08-12 163/week @ 2024-08-19 163/week @ 2024-08-26 142/week @ 2024-09-02 209/week @ 2024-09-09 237/week @ 2024-09-16 268/week @ 2024-09-23 305/week @ 2024-09-30 152/week @ 2024-10-07 150/week @ 2024-10-14 121/week @ 2024-10-21 139/week @ 2024-10-28 159/week @ 2024-11-04

575 downloads per month
Used in 21 crates (2 directly)

MIT license

11KB
132 lines

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 crate’s 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 system’s 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

Dependencies

~1–1.5MB
~29K SLoC