aboutsummaryrefslogtreecommitdiff
path: root/README.meson.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.meson.md')
-rw-r--r--README.meson.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/README.meson.md b/README.meson.md
new file mode 100644
index 000000000..fc639385c
--- /dev/null
+++ b/README.meson.md
@@ -0,0 +1,37 @@
1# Meson build system
2
3DISCLAIMER: 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```