xref: /netbsd-src/external/bsd/zstd/dist/build/meson/README.md (revision 3117ece4fc4a4ca4489ba793710b60b0d26bab6c)
1*3117ece4SchristosMeson build system for zstandard
2*3117ece4Schristos================================
3*3117ece4Schristos
4*3117ece4SchristosMeson is a build system designed to optimize programmer productivity.
5*3117ece4SchristosIt aims to do this by providing simple, out-of-the-box support for
6*3117ece4Schristosmodern software development tools and practices, such as unit tests,
7*3117ece4Schristoscoverage reports, Valgrind, CCache and the like.
8*3117ece4Schristos
9*3117ece4SchristosThis Meson build system is provided with no guarantee and maintained
10*3117ece4Schristosby Dima Krasner \<dima@dimakrasner.com\>.
11*3117ece4Schristos
12*3117ece4SchristosIt outputs one `libzstd`, either shared or static, depending on
13*3117ece4Schristos`default_library` option.
14*3117ece4Schristos
15*3117ece4Schristos## How to build
16*3117ece4Schristos
17*3117ece4Schristos`cd` to this meson directory (`build/meson`)
18*3117ece4Schristos
19*3117ece4Schristos```sh
20*3117ece4Schristosmeson setup -Dbin_programs=true -Dbin_contrib=true builddir
21*3117ece4Schristoscd builddir
22*3117ece4Schristosninja             # to build
23*3117ece4Schristosninja install     # to install
24*3117ece4Schristos```
25*3117ece4Schristos
26*3117ece4SchristosYou might want to install it in staging directory:
27*3117ece4Schristos
28*3117ece4Schristos```sh
29*3117ece4SchristosDESTDIR=./staging ninja install
30*3117ece4Schristos```
31*3117ece4Schristos
32*3117ece4SchristosTo configure build options, use:
33*3117ece4Schristos
34*3117ece4Schristos```sh
35*3117ece4Schristosmeson configure
36*3117ece4Schristos```
37*3117ece4Schristos
38*3117ece4SchristosSee [man meson(1)](https://manpages.debian.org/testing/meson/meson.1.en.html).
39