mirror of
https://github.com/facebook/zstd.git
synced 2025-10-04 00:02:33 -04:00
Added documentation details for Makefile installation and pkg-config.
This commit is contained in:
parent
085cc9319a
commit
be072c708e
10
README.md
10
README.md
@ -127,19 +127,19 @@ When your system allows it, prefer using `make` to build `zstd` and `libzstd`.
|
||||
|
||||
### Makefile
|
||||
|
||||
If your system is compatible with standard `make` (or `gmake`),
|
||||
Assuming your system supports standard `make` (or `gmake`),
|
||||
invoking `make` in root directory will generate `zstd` cli in root directory.
|
||||
It will also create `libzstd` into `lib/`.
|
||||
|
||||
Other available options include:
|
||||
Other standard targets include:
|
||||
- `make install` : create and install zstd cli, library and man pages
|
||||
- `make check` : create and run `zstd`, test its behavior on local platform
|
||||
|
||||
The `Makefile` follows the [GNU Standard Makefile conventions](https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html),
|
||||
allowing staged install, standard flags, directory variables and command variables.
|
||||
allowing staged install, standard compilation flags, directory variables and command variables.
|
||||
|
||||
For advanced use cases, specialized compilation flags which control binary generation
|
||||
are documented in [`lib/README.md`](lib/README.md#modular-build) for the `libzstd` library
|
||||
For advanced use cases, specialized flags which control binary generation and installation paths are documented
|
||||
in [`lib/README.md`](lib/README.md#modular-build) for the `libzstd` library
|
||||
and in [`programs/README.md`](programs/README.md#compilation-variables) for the `zstd` CLI.
|
||||
|
||||
### cmake
|
||||
|
@ -7,15 +7,29 @@ in order to make it easier to select or exclude features.
|
||||
|
||||
#### Building
|
||||
|
||||
`Makefile` script is provided, supporting [Makefile conventions](https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html#Makefile-Conventions),
|
||||
A `Makefile` script is provided, supporting [Makefile conventions](https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html#Makefile-Conventions),
|
||||
including commands variables, staged install, directory variables and standard targets.
|
||||
- `make` : generates both static and dynamic libraries
|
||||
- `make install` : install libraries and headers in target system directories
|
||||
- `make install` : install libraries, headers and pkg-config in local system directories
|
||||
|
||||
`libzstd` default scope is pretty large, including compression, decompression, dictionary builder,
|
||||
and support for decoding legacy formats >= v0.5.0.
|
||||
`libzstd` default scope is extensive, including compression, decompression, dictionary builder,
|
||||
and support for decoding legacy formats >= v0.5.0 by default.
|
||||
The scope can be reduced on demand (see paragraph _modular build_).
|
||||
|
||||
#### Multiarch Support
|
||||
|
||||
For multiarch systems (like Debian/Ubuntu), libraries should be installed to architecture-specific directories.
|
||||
When creating packages for such systems, use the `LIBDIR` variable to specify the correct multiarch path:
|
||||
|
||||
```bash
|
||||
# For x86_64 systems on Ubuntu/Debian:
|
||||
make install PREFIX=/usr LIBDIR=/usr/lib/x86_64-linux-gnu
|
||||
|
||||
# For ARM64 systems on Ubuntu/Debian:
|
||||
make install PREFIX=/usr LIBDIR=/usr/lib/aarch64-linux-gnu
|
||||
```
|
||||
|
||||
This will not only install the files in the correct directories, but also generate the correct paths for `pkg-config`.
|
||||
|
||||
#### Multithreading support
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user