Lines Matching +full:libzstd +full:- +full:size
4 The __lib__ directory is split into several sub-directories,
10 …ventions](https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html#Makefile-Conventi…
12 - `make` : generates both static and dynamic libraries
13 - `make install` : install libraries and headers in target system directories
15 `libzstd` default scope is pretty large, including compression, decompression, dictionary builder,
22 …by default the dynamic library is multithreaded and static library is single-threaded (for compati…
25 - set build macro `ZSTD_MULTITHREAD` (`-DZSTD_MULTITHREAD` for `gcc`)
26 - for POSIX systems : compile with pthread (`-pthread` compilation flag for `gcc`)
29 - Force enable multithreading on both dynamic and static libraries by appending `-mt` to the target…
30 - Force disable multithreading on both dynamic and static libraries by appending `-nomt` to the tar…
31 - By default, as mentioned before, dynamic library is multithreaded, and static library is single-t…
33 When linking a POSIX program with a multithreaded version of `libzstd`,
34 note that it's necessary to invoke the `-pthread` flag during link stage.
49 - `lib/zstd_errors.h` : translates `size_t` function results
52 - `ZSTD_STATIC_LINKING_ONLY` : if this macro is defined _before_ including `zstd.h`,
63 It's possible to compile only a limited set of features within `libzstd`.
66 - Directory `lib/common` is always required, for all variants.
68 - Compression source code lies in `lib/compress`
70 - Decompression source code lies in `lib/decompress`
72 - It's possible to include only `compress` or only `decompress`, they don't depend on each other.
74 - `lib/dictBuilder` : makes it possible to generate dictionaries from a set of samples.
78 - `lib/legacy` : makes it possible to decompress legacy zstd formats, starting from `v0.1.0`.
90 - While invoking `make libzstd`, it's possible to define build macros
97 - There are a number of options that can help minimize the binary size of
98 `libzstd`.
100 The first step is to select the components needed (using the above-described
105 prioritize space-saving.
109 makes significant trade-offs in code size. For example, Zstandard often has
131 For squeezing the last ounce of size out, you can also define
136 Finally, when integrating into your application, make sure you're doing link-
138 e.g., `-flto`, `-ffat-lto-objects`, `-fuse-linker-plugin`,
139 `-ffunction-sections`, `-fdata-sections`, `-fmerge-all-constants`,
140 `-Wl,--gc-sections`, `-Wl,-z,norelro`, and an archiver that understands
141 the compiler's intermediate representation, e.g., `AR=gcc-ar`). Consult your
144 - While invoking `make libzstd`, the build macro `ZSTD_LEGACY_MULTITHREADED_API=1`
148 - The build macro `DYNAMIC_BMI2` can be set to 1 or 0 in order to generate binaries
159 - The build macro `ZSTD_NO_UNUSED_FUNCTIONS` can be defined to hide the definitions of functions
164 - The build macro `ZSTD_NO_INTRINSICS` can be defined to disable all explicit intrinsics.
167 - The build macro `ZSTD_DECODER_INTERNAL_BUFFER` can be set to control
173 - The C compiler macros `ZSTDLIB_VISIBLE`, `ZSTDERRORLIB_VISIBLE` and `ZDICTLIB_VISIBLE`
181 - The C compiler macro `HUF_DISABLE_FAST_DECODE` disables the newer Huffman fast C
187 DLL can be created using MinGW+MSYS with the `make libzstd` command.
188 This command creates `dll\libzstd.dll` and the import library `dll\libzstd.lib`.
190 The header file `zstd.h` and the dynamic library `dll\libzstd.dll` are required to
193 It means that if a project that uses ZSTD consists of a single `test-dll.c`
194 file it should be linked with `dll\libzstd.dll`. For example:
196 gcc $(CFLAGS) -Iinclude/ test-dll.c -o test-dll dll\libzstd.dll
198 The compiled executable will require ZSTD DLL which is available at `dll\libzstd.dll`.
208 The hash function needs to generate at least 64-bit using hexadecimal format.
212 This functionality only matters if `libzstd` is compiled multiple times
233 - `BUCK` : support for `buck` build system (https://buckbuild.com/)
234 - `Makefile` : `make` script to build and install zstd library (static and dynamic)
235 - `README.md` : this file
236 - `dll/` : resources directory for Windows compilation
237 - `libzstd.pc.in` : script for `pkg-config` (used in `make install`)