diff options
Diffstat (limited to 'README.meson.md')
-rw-r--r-- | README.meson.md | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/README.meson.md b/README.meson.md new file mode 100644 index 000000000..a92046943 --- /dev/null +++ b/README.meson.md | |||
@@ -0,0 +1,43 @@ | |||
1 | # Meson build system | ||
2 | |||
3 | DISCLAIMER: This is a work in progress. The meson build system will be maintained for a brief period alongside autotools. | ||
4 | |||
5 | ## Motivation | ||
6 | |||
7 | - We want to build a single, monolithic library libgnunet that is easier to use in, for example, mobile apps. | ||
8 | - Autotools is complex and difficult to use. It also causes stale builds. Meson has a better developer experience. | ||
9 | - Meson supports dynamic pkg-config generation. | ||
10 | - Meson does out-of-tree builds | ||
11 | - Meson makes it (almost) impossible to create dist tarballs that miss files/do not compile. | ||
12 | |||
13 | |||
14 | ## Reasons to drop it again | ||
15 | |||
16 | - Meson does not seem to support (automatic) dependency version detection without pkg-config. | ||
17 | |||
18 | |||
19 | ## TODOs | ||
20 | |||
21 | - Migrate tests | ||
22 | - Portability defines set implicitly in configure.ac need to be identified and ported to meson. | ||
23 | - Some (experimental) subsystems not yet ported. | ||
24 | - 1:1 match of installed files must be verified. | ||
25 | - Documentation must be updated. | ||
26 | |||
27 | ## Use | ||
28 | |||
29 | |||
30 | ``` | ||
31 | $ meson setup $builddir | ||
32 | $ cd $builddir | ||
33 | $ meson configure -Dprefix=$string -Dexperimental=$bool -Dmonolith=$bool | ||
34 | $ meson compile | ||
35 | $ meson install | ||
36 | $ meson dist | ||
37 | ``` | ||
38 | |||
39 | |||
40 | ## Open issues | ||
41 | |||
42 | - Tests are always built: https://github.com/mesonbuild/meson/pull/6511 | ||
43 | - libtool versioning is different from soversion and version in meson | ||