• Philip Chimento's avatar
    build: Meson build system · 00a7b5f7
    Philip Chimento authored
    This adds a Meson build system which should be functionally equivalent
    to the existing Autotools build system, but easier to deal with and
    faster.
    
    Equivalents:
        ./configure -> meson _build
        make -j5 -> ninja -C _build
        make install -> ninja -C _build install
        make check -> meson test -C _build
    
    It's also easy to run the tests under Valgrind or using the GC zeal
    variables, by adding e.g. --setup=valgrind to the meson test command.
    
    Dependencies (except SpiderMonkey) will be downloaded and built if not
    present (or not new enough), using Meson's wrap system.
    
    There were a small number of things the Autotools build did better. One
    is export-symbols-regex which doesn't exist in Meson; we must write two
    separate linker config files for GNU ld and macOS's linker, and I'm not
    sure what happens in this case on Windows.
    
    The other thing is merging the JS and C code coverage files
    automatically. Since this isn't possible using Meson's b_coverage
    option, we add a script, tools/run_coverage.sh, which generates a code
    coverage report from start to finish. This is actually kind of better
    than the old situation, since the script builds in a different build
    tree, so you cannot accidentally leave coverage-instrumented build
    artifacts sitting in your build tree.
    00a7b5f7
Name
Last commit
Last update
..
.gitignore Loading commit data...
glib.wrap Loading commit data...
gobject-introspection.wrap Loading commit data...
libffi.wrap Loading commit data...
proxy-libintl.wrap Loading commit data...
zlib.wrap Loading commit data...