#snappy #bindings #google

sys snappy-sys

Raw bindings to the Google compression library 'snappy'

1 unstable release

Uses old Rust 2015

0.1.0 Aug 31, 2016

#22 in #snappy

Download history 4/week @ 2024-09-14 13/week @ 2024-09-21 19/week @ 2024-09-28 8/week @ 2024-10-05 2/week @ 2024-10-12 3/week @ 2024-11-02 9/week @ 2024-11-09 33/week @ 2024-11-16 37/week @ 2024-11-23 60/week @ 2024-11-30 62/week @ 2024-12-07 26/week @ 2024-12-14

196 downloads per month
Used in 2 crates (via snappy)

MIT license

1MB
3K SLoC

C++ 2.5K SLoC // 0.2% comments Rust 133 SLoC // 0.0% comments M4 64 SLoC // 0.1% comments Automake 18 SLoC // 0.1% comments Shell 11 SLoC

Contains (obscure autoconf code, 4KB) snappy/configure.ac

Snappy

Build Status

[ Originally forked from https://github.com/thestinger/rust-snappy ]

Documentation

Usage

Add this to your Cargo.toml:

[dependencies]
snappy = "0.4"

and this to your crate root:

extern crate snappy;

Installing Snappy

  • The Snappy C++ library can be installed on Mac OS X using homebrew brew install snappy.
  • If that library is not installed in the usual path, you can export the LD_LIBRARY_PATH and LD_RUN_PATH environment variables before issueing cargo build.
  • Static linking can be requested by an export SNAPPY_SYS_STATIC=1 prior to cargo build.
  • As a fallback, this crate will try to compile the Snappy C++ library itself and statically link against it. (This behavior can be enforced by an export SNAPPY_SYS_STATIC_FROM_SOURCE=1 prior to cargo build.)

Building

The Snappy C++ library is also optionally bundled as a submodule. A

git submodule update --init

will fetch a copy of the library for local compilation. This can will then be used if the c++ library cannot be found on your system or if SNAPPY_SYS_STATIC_FROM_SOURCE is set to 1.

Dependencies