diff options
author | Orestis Floros <orestisflo@gmail.com> | 2023-04-02 16:27:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-02 16:27:16 +0200 |
commit | fbb6bf666ff34b920799a83d045d6bd63a428361 (patch) | |
tree | 8ada31989fbf34b797c2401385d7af87272e4c7a | |
parent | 892ae730cb5cdfe84deedf835696c30f5b94bd81 (diff) | |
download | i3-fbb6bf666ff34b920799a83d045d6bd63a428361.tar.gz i3-fbb6bf666ff34b920799a83d045d6bd63a428361.zip |
hacking-howto: Update build instructions for meson (#5463)
-rw-r--r-- | docs/hacking-howto | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/docs/hacking-howto b/docs/hacking-howto index c6dd6fa4..53a30411 100644 --- a/docs/hacking-howto +++ b/docs/hacking-howto @@ -34,30 +34,18 @@ Guide → Compiling a Meson project]. In case you’re unfamiliar: === Build system features -* We use the +AX_ENABLE_BUILDDIR+ macro to enforce builds happening in a separate - directory. This is a prerequisite for the +AX_EXTEND_SRCDIR+ macro and building - in a separate directory is common practice anyway. In case this causes any - trouble when packaging i3 for your distribution, please open an issue. +* +ninja test+ runs the i3 testsuite. See docs/testsuite for details. -* +make check+ runs the i3 testsuite. See docs/testsuite for details. +* +meson dist+ builds a release tarball and runs tests on the result. -* +make distcheck+ (runs testsuite on +make dist+ result, tiny bit quicker - feedback cycle than waiting for the travis build to catch the issue). +* +meson -Ddocs=true -Dmans=true+ will enable the options to build docs and + manpages. These options require additional dependencies that are normally not + required for users who just want to build i3. -* +make uninstall+ (occasionally requested by users who compile from source) - -* +make+ will build manpages/docs by default if the tools are installed. - Conversely, manpages/docs are not tried to be built for users who don’t want - to install all these dependencies to get started hacking on i3. Manpages and - docs can be disabled with the +--disable-mans++ and ++--disable-docs++ - configure options respectively. - -* non-release builds will enable address sanitizer by default. Use the - +--disable-sanitizers+ configure option to turn off all sanitizers, and see - +--help+ for available sanitizers. - -* Coverage reports are now generated using +make check-code-coverage+, which - requires specifying +--enable-code-coverage+ when calling configure. +* +meson -Db_sanitize=address+ will enable the address sanitizer which is + disabled by default. A summary of memory leaks will be printed on program + exit. This can include false-positives. For other options of the +b_sanitize+ + flag see https://mesonbuild.com/Builtin-options.html. == Pull requests |