Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
dll/ | 22-Nov-2023 | - | 405 | 345 | ||
.gitignore | D | 22-Nov-2023 | 34 | 3 | 2 | |
Android.bp | D | 23-Nov-2023 | 496 | 27 | 25 | |
LICENSE | D | 22-Nov-2023 | 1.3 KiB | 25 | 20 | |
MODULE_LICENSE_BSD | D | 22-Nov-2023 | 0 | |||
Makefile | D | 23-Nov-2023 | 7.5 KiB | 202 | 131 | |
NOTICE | D | 22-Nov-2023 | 1.3 KiB | 25 | 20 | |
README.md | D | 23-Nov-2023 | 2.7 KiB | 74 | 50 | |
liblz4.pc.in | D | 22-Nov-2023 | 385 | 15 | 12 | |
lz4.c | D | 23-Nov-2023 | 81 KiB | 1,970 | 1,366 | |
lz4.h | D | 23-Nov-2023 | 31.1 KiB | 632 | 152 | |
lz4frame.c | D | 23-Nov-2023 | 73.2 KiB | 1,783 | 1,243 | |
lz4frame.h | D | 23-Nov-2023 | 24.7 KiB | 542 | 199 | |
lz4frame_static.h | D | 23-Nov-2023 | 2 KiB | 48 | 5 | |
lz4hc.c | D | 23-Nov-2023 | 58.5 KiB | 1,413 | 1,105 | |
lz4hc.h | D | 23-Nov-2023 | 17.5 KiB | 356 | 110 | |
xxhash.c | D | 23-Nov-2023 | 29.2 KiB | 895 | 610 | |
xxhash.h | D | 22-Nov-2023 | 12.3 KiB | 294 | 109 |
README.md
1LZ4 - Library Files 2================================ 3 4The `/lib` directory contains many files, but depending on project's objectives, 5not all of them are necessary. 6 7#### Minimal LZ4 build 8 9The minimum required is **`lz4.c`** and **`lz4.h`**, 10which provides the fast compression and decompression algorithm. 11They generate and decode data using [LZ4 block format]. 12 13 14#### High Compression variant 15 16For more compression ratio at the cost of compression speed, 17the High Compression variant called **lz4hc** is available. 18Add files **`lz4hc.c`** and **`lz4hc.h`**. 19The variant still depends on regular `lib/lz4.*` source files. 20 21 22#### Frame variant, for interoperability 23 24In order to produce compressed data compatible with `lz4` command line utility, 25it's necessary to encode lz4-compressed blocks using the [official interoperable frame format]. 26This format is generated and decoded automatically by the **lz4frame** library. 27Its public API is described in `lib/lz4frame.h`. 28In order to work properly, lz4frame needs all other modules present in `/lib`, 29including, lz4 and lz4hc, and also **xxhash**. 30So it's necessary to include all `*.c` and `*.h` files present in `/lib`. 31 32 33#### Advanced / Experimental API 34 35A complex API defined in `lz4frame_static.h` contains definitions 36which are not guaranteed to remain stable in future versions. 37As a consequence, it must be used with static linking ***only***. 38 39 40#### Windows : using MinGW+MSYS to create DLL 41 42DLL can be created using MinGW+MSYS with the `make liblz4` command. 43This command creates `dll\liblz4.dll` and the import library `dll\liblz4.lib`. 44The import library is only required with Visual C++. 45The header files `lz4.h`, `lz4hc.h`, `lz4frame.h` and the dynamic library 46`dll\liblz4.dll` are required to compile a project using gcc/MinGW. 47The dynamic library has to be added to linking options. 48It means that if a project that uses LZ4 consists of a single `test-dll.c` 49file it should be linked with `dll\liblz4.dll`. For example: 50``` 51 gcc $(CFLAGS) -Iinclude/ test-dll.c -o test-dll dll\liblz4.dll 52``` 53The compiled executable will require LZ4 DLL which is available at `dll\liblz4.dll`. 54 55 56#### Miscellaneous 57 58Other files present in the directory are not source code. There are : 59 60 - `LICENSE` : contains the BSD license text 61 - `Makefile` : `make` script to compile and install lz4 library (static and dynamic) 62 - `liblz4.pc.in` : for `pkg-config` (used in `make install`) 63 - `README.md` : this file 64 65[official interoperable frame format]: ../doc/lz4_Frame_format.md 66[LZ4 block format]: ../doc/lz4_Block_format.md 67 68 69#### License 70 71All source material within __lib__ directory are BSD 2-Clause licensed. 72See [LICENSE](LICENSE) for details. 73The license is also reminded at the top of each source file. 74