• 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`
    option.
    * 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
    modules.
    
    [Meson website]: http://mesonbuild.com/
    [built-in support for lcov]: http://mesonbuild.com/Unit-tests.html#coverage
    cae4bd92
Name
Last commit
Last update
.gitlab-ci Loading commit data...
backends Loading commit data...
docs Loading commit data...
folks Loading commit data...
m4 Loading commit data...
po Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitlab-ci.yml Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
HACKING Loading commit data...
MAINTAINERS Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
autogen.sh Loading commit data...
check.mk Loading commit data...
configure.ac Loading commit data...
folks.doap Loading commit data...
git.mk Loading commit data...
lcov.mk Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...
meson_post_install.py Loading commit data...
valgrind.mk Loading commit data...