aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrestis Floros <orestisflo@gmail.com>2023-04-02 16:27:16 +0200
committerGitHub <noreply@github.com>2023-04-02 16:27:16 +0200
commitfbb6bf666ff34b920799a83d045d6bd63a428361 (patch)
tree8ada31989fbf34b797c2401385d7af87272e4c7a
parent892ae730cb5cdfe84deedf835696c30f5b94bd81 (diff)
downloadi3-fbb6bf666ff34b920799a83d045d6bd63a428361.tar.gz
i3-fbb6bf666ff34b920799a83d045d6bd63a428361.zip
hacking-howto: Update build instructions for meson (#5463)
-rw-r--r--docs/hacking-howto30
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