aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/rl-next
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/rl-next')
-rw-r--r--doc/manual/rl-next/build-timing-analysis.md22
-rw-r--r--doc/manual/rl-next/meson.md15
2 files changed, 37 insertions, 0 deletions
diff --git a/doc/manual/rl-next/build-timing-analysis.md b/doc/manual/rl-next/build-timing-analysis.md
new file mode 100644
index 000000000..1bf803dab
--- /dev/null
+++ b/doc/manual/rl-next/build-timing-analysis.md
@@ -0,0 +1,22 @@
+---
+synopsis: Clang build timing analysis
+cls: 587
+category: Development
+---
+
+We now have Clang build profiling available, which generates Chrome
+tracing files for each compilation unit. To enable it, run `meson configure
+build -Dprofile-build=enabled` in a Clang stdenv (`nix develop
+.#native-clangStdenvPackages`) then rerun the compilation.
+
+If you want to make the build go faster, do a clang build with meson, then run
+`maintainers/buildtime_report.sh build`, then contemplate how to improve the
+build time.
+
+You can also look at individual object files' traces in
+<https://ui.perfetto.dev>.
+
+See [the wiki page][improving-build-times-wiki] for more details on how to do
+this.
+
+[improving-build-times-wiki]: https://wiki.lix.systems/link/8#bkmrk-page-title
diff --git a/doc/manual/rl-next/meson.md b/doc/manual/rl-next/meson.md
new file mode 100644
index 000000000..f836d192f
--- /dev/null
+++ b/doc/manual/rl-next/meson.md
@@ -0,0 +1,15 @@
+---
+synopsis: Lix is built with meson
+# and many more
+cls: [580, 627, 628, 707, 711, 712, 719]
+credits: [Qyriad, horrors, jade, 9999years, winter]
+category: Packaging
+---
+
+Lix is built exclusively with the meson build system thanks to a huge team-wide
+effort, and the legacy `make`/`autoconf` based build system has been removed
+altogether. This improves maintainability of Lix, enables things like saving
+20% of compile times with precompiled headers, and generally makes the build
+less able to produce obscure incremental compilation bugs.
+
+Non-Nix-based downstream packaging needs rewriting accordingly.