[8ebc79b] | 1 | zstd - library files |
---|
| 2 | ================================ |
---|
| 3 | |
---|
| 4 | The __lib__ directory contains several files, but depending on target use case, some of them may not be necessary. |
---|
| 5 | |
---|
| 6 | #### Minimal library files |
---|
| 7 | |
---|
| 8 | To build the zstd library the following files are required: |
---|
| 9 | |
---|
| 10 | - [common/bitstream.h](common/bitstream.h) |
---|
| 11 | - [common/error_private.h](common/error_private.h) |
---|
| 12 | - [common/error_public.h](common/error_public.h) |
---|
| 13 | - common/fse.h |
---|
| 14 | - common/fse_decompress.c |
---|
| 15 | - common/huf.h |
---|
| 16 | - [common/mem.h](common/mem.h) |
---|
| 17 | - [common/zstd.h] |
---|
| 18 | - common/zstd_internal.h |
---|
| 19 | - compress/fse_compress.c |
---|
| 20 | - compress/huf_compress.c |
---|
| 21 | - compress/zstd_compress.c |
---|
| 22 | - compress/zstd_opt.h |
---|
| 23 | - decompress/huf_decompress.c |
---|
| 24 | - decompress/zstd_decompress.c |
---|
| 25 | |
---|
| 26 | Stable API is exposed in [common/zstd.h]. |
---|
| 27 | Advanced and experimental API can be enabled by defining `ZSTD_STATIC_LINKING_ONLY`. |
---|
| 28 | Never use them with a dynamic library, as their definition may change in future versions. |
---|
| 29 | |
---|
| 30 | [common/zstd.h]: common/zstd.h |
---|
| 31 | |
---|
| 32 | |
---|
| 33 | #### Separate compressor and decompressor |
---|
| 34 | |
---|
| 35 | To build a separate zstd compressor all files from `common/` and `compressor/` directories are required. |
---|
| 36 | In a similar way to build a separate zstd decompressor all files from `common/` and `decompressor/` directories are needed. |
---|
| 37 | |
---|
| 38 | |
---|
| 39 | #### Buffered streaming |
---|
| 40 | |
---|
| 41 | This complementary API makes streaming integration easier. |
---|
| 42 | It is used by `zstd` command line utility, and [7zip plugin](http://mcmilk.de/projects/7-Zip-ZStd) : |
---|
| 43 | |
---|
| 44 | - common/zbuff.h |
---|
| 45 | - compress/zbuff_compress.c |
---|
| 46 | - decompress/zbuff_decompress.c |
---|
| 47 | |
---|
| 48 | |
---|
| 49 | #### Dictionary builder |
---|
| 50 | |
---|
| 51 | In order to create dictionaries from some training sets, |
---|
| 52 | it's needed to include all files from [dictBuilder directory](dictBuilder/) |
---|
| 53 | |
---|
| 54 | |
---|
| 55 | #### Legacy support |
---|
| 56 | |
---|
| 57 | Zstandard can decode previous formats, starting from v0.1. |
---|
| 58 | Support for these format is provided in [folder legacy](legacy/). |
---|
| 59 | It's also required to compile the library with `ZSTD_LEGACY_SUPPORT = 1`. |
---|
| 60 | |
---|
| 61 | |
---|
| 62 | #### Miscellaneous |
---|
| 63 | |
---|
| 64 | The other files are not source code. There are : |
---|
| 65 | |
---|
| 66 | - LICENSE : contains the BSD license text |
---|
| 67 | - Makefile : script to compile or install zstd library (static or dynamic) |
---|
| 68 | - libzstd.pc.in : for pkg-config (make install) |
---|