• Niels De Graef's avatar
    Add support for the Meson build system · cae4bd92
    Niels De Graef authored
    See the [Meson website] for a full reference. To build, test and/or
    install the folks library, you essentially need the following commands:
    $ meson build
    $ ninja -C build
    $ meson test -C build
    $ ninja -C build install
    Note that there is no one-on-one mapping sometimes from the autotools build to
    the meson build definitions, so here's a non-comprehensive list of changes:
    * Vala support is now mandatory.
    * Since meson doesn't have libtool's `export-symbols-regex`, we need to
    write our own little linker script to make sure we're not accidentally
    exporting symbols we shouldn't be exposing (such as
    _libfolks-internal_'s functions).
    * Meson has [built-in support for lcov], see the online reference for more info.
    * Meson also has built-in support for Valgrind by adding the `--wrap=valgrind`
    * There is no wildcard support in Meson (for good reasons), so instead
    we need to re-use the definitions found in the backend library's
    meson.build files to have the correct source files for the valadoc
    [Meson website]: http://mesonbuild.com/
    [built-in support for lcov]: http://mesonbuild.com/Unit-tests.html#coverage