# miniz_oxide
Rust replacement for miniz

## Building

```bash
$ ./build.sh
```

## Testing

```bash
$ ./test.sh
```

## Including in Rust projects
Even thought miniz_oxide uses cargo internally, it is not a crate and should be used as if it is a foreign library. To build a crate with miniz_oxide you need to follow those steps:

- Write extern block with miniz functions with attribute `#[link(name = "miniz_oxide")]`
- Run build.sh from build.rs of your project and add `links = "miniz_oxide"` to `[package]`

## Including in C/C++ projects

Link against the libminiz_oxide.a generated by build.sh

## Cargo-fuzz testing

```bash
$ ./run_fuzz.sh
```

# miniz_oxide
Rust replacement for the [miniz](https://github.com/richgel999/miniz) deflate/zlib encoder/decoder

This project is organized into a C API shell and a rust crate.
The Rust crate is found in the [miniz_oxide subdirectory](https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide).

## miniz_oxide_C_API
The C API is intented to replicate the api exported from miniz.

### API documentation

TODO

### Building

```bash
$ ./build.sh
```

### Testing

```bash
$ ./test.sh
```

### Including in C/C++ projects

Link against the libminiz_oxide.a generated by build.sh

### Cargo-fuzz testing

```bash
$ ./run_fuzz.sh
```

Update readme to reflect the new structure
Update readme to reflect the new structure