Lines Matching +full:libzstd +full:- +full:mt
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
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`)