blob: 6002118e0f10d821d369cf567e85ae11434586a4 [file] [log] [blame] [view]
Yann Colletd56a4192016-02-17 17:47:29 +01001zstd - library files
2================================
3
4The __lib__ directory contains several files, but depending on target use case, some of them may not be necessary.
5
6#### Minimal library files
7
inikep49794312016-04-25 11:31:28 +02008To build the zstd library the following files are required:
Yann Colletd56a4192016-02-17 17:47:29 +01009
inikep49794312016-04-25 11:31:28 +020010- [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_static.h
15- common/huf.h
16- common/huf_static.h
17- [common/mem.h](common/mem.h)
inikepa8138fd2016-04-25 11:36:44 +020018- [common/zstd.h]
inikep49794312016-04-25 11:31:28 +020019- common/zstd_internal.h
20- common/zstd_static.h
21- compress/fse_compress.c
22- compress/huf_compress.c
23- compress/zstd_compress.c
24- compress/zstd_opt.h
25- decompress/fse_decompress.c
26- decompress/huf_decompress.c
27- decompress/zstd_decompress.c
Yann Colletd56a4192016-02-17 17:47:29 +010028
inikepa8138fd2016-04-25 11:36:44 +020029Stable API is exposed in [common/zstd.h].
30Advanced and experimental API is exposed in `common/zstd_static.h`.
31`common/zstd_static.h` API elements should be used with static linking only,
Yann Colletdcc000f2016-03-10 01:09:41 +010032as their definition may change in future version of the library.
33
inikepa8138fd2016-04-25 11:36:44 +020034[common/zstd.h]: common/zstd.h
35
Yann Colletd56a4192016-02-17 17:47:29 +010036
inikep49794312016-04-25 11:31:28 +020037#### Separate compressor and decompressor
38
inikepa8138fd2016-04-25 11:36:44 +020039To build a separate zstd compressor all files from `common/` and `compressor/` directories are required.
40In a similar way to build a separate zstd decompressor all files from `common/` and `decompressor/` directories are needed.
inikep49794312016-04-25 11:31:28 +020041
Yann Colletdcc000f2016-03-10 01:09:41 +010042
Yann Colletd56a4192016-02-17 17:47:29 +010043#### Buffered streaming
44
45This complementary API makes streaming integration easier.
Yann Colletdcc000f2016-03-10 01:09:41 +010046It is used by `zstd` command line utility, and [7zip plugin](http://mcmilk.de/projects/7-Zip-ZStd) :
Yann Colletd56a4192016-02-17 17:47:29 +010047
inikep49794312016-04-25 11:31:28 +020048- common/zbuff.h
49- common/zbuff_static.h
50- compress/zbuff_compress.c
51- decompress/zbuff_decompress.c
Yann Colletd56a4192016-02-17 17:47:29 +010052
53#### Dictionary builder
54
55To create dictionaries from training sets :
56
inikep49794312016-04-25 11:31:28 +020057- dictBuilder/divsufsort.c
58- dictBuilder/divsufsort.h
59- dictBuilder/zdict.c
60- dictBuilder/zdict.h
61- dictBuilder/zdict_static.h
Yann Colletd56a4192016-02-17 17:47:29 +010062
63#### Miscellaneous
64
65The other files are not source code. There are :
66
67 - LICENSE : contains the BSD license text
68 - Makefile : script to compile or install zstd library (static or dynamic)
69 - libzstd.pc.in : for pkg-config (make install)
70