aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Adding-new-projects-to-wrapdb.md6
-rw-r--r--docs/markdown/Cross-compilation.md5
-rw-r--r--docs/markdown/Reference-manual.md25
-rw-r--r--docs/markdown/Reference-tables.md54
-rw-r--r--docs/markdown/Release-procedure.md39
-rw-r--r--docs/markdown/Trial-conversions.md22
-rw-r--r--docs/markdown/Users.md35
-rw-r--r--docs/markdown/Videos.md6
-rw-r--r--docs/markdown/howtox.md34
-rw-r--r--docs/markdown/index.md8
-rw-r--r--docs/markdown/snippets/message_warning_concat.md4
-rw-r--r--docs/markdown/snippets/pkg_config_libdir.md3
-rw-r--r--docs/sitemap.txt1
13 files changed, 148 insertions, 94 deletions
diff --git a/docs/markdown/Adding-new-projects-to-wrapdb.md b/docs/markdown/Adding-new-projects-to-wrapdb.md
index c79cfd3..bbe945d 100644
--- a/docs/markdown/Adding-new-projects-to-wrapdb.md
+++ b/docs/markdown/Adding-new-projects-to-wrapdb.md
@@ -47,7 +47,7 @@ files - should be also provided.
### Request a new repository or branch
-Create an issue on the [wrapweb bug tracker](https://github.com/mesonbuild/wrapweb/issues)
+Create an issue on the [wrapdb bug tracker](https://github.com/mesonbuild/wrapdb/issues)
using *Title* and *Description* below as a template.
*Title:* `new wrap: <project_name>`
@@ -131,8 +131,8 @@ system has native support for Git subprojects.
## Creator script
-The WrapDB repository has a
-[helper script](https://github.com/mesonbuild/wrapweb/blob/master/mesonwrap.py)
+The WrapDB repository has a
+[helper script](https://github.com/mesonbuild/mesonwrap/blob/master/mesonwrap.py)
to generate new repositories, verify them and update them.
## Reviewing wraps
diff --git a/docs/markdown/Cross-compilation.md b/docs/markdown/Cross-compilation.md
index b3cdc81..6894c0d 100644
--- a/docs/markdown/Cross-compilation.md
+++ b/docs/markdown/Cross-compilation.md
@@ -138,6 +138,7 @@ has_function_printf = true
c_args = ['-DCROSS=1', '-DSOMETHING=3']
c_link_args = ['-some_link_arg']
sys_root = '/some/path'
+pkg_config_libdir = '/some/path/lib/pkgconfig'
```
In most cases you don't need the size and alignment settings, Meson
@@ -155,6 +156,10 @@ internally by Meson to set the PKG_CONFIG_SYSROOT_DIR environment variable
for pkg-config. If this is unset the host system is assumed to share a root
with the build system.
+*Since 0.54.0* The pkg_config_libdir property may point to a list of path used
+internally by Meson to set the PKG_CONFIG_LIBDIR environment variable for pkg-config.
+This prevents pkg-config from searching cross dependencies in system directories.
+
One important thing to note, if you did not define an `exe_wrapper` in
the previous section, is that Meson will make a best-effort guess at
whether it can run the generated binaries on the build machine. It
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md
index c73e5a5..57fc1f7 100644
--- a/docs/markdown/Reference-manual.md
+++ b/docs/markdown/Reference-manual.md
@@ -1198,6 +1198,9 @@ them for the default behaviour for each platform.
This function prints its argument to stdout.
+**Since 0.54.0** Can take more more than one argument that will be separated by
+space.
+
### warning()
``` meson
@@ -1208,6 +1211,9 @@ This function prints its argument to stdout prefixed with WARNING:.
*Added 0.44.0*
+**Since 0.54.0** Can take more more than one argument that will be separated by
+space.
+
### summary()
``` meson
@@ -1694,14 +1700,17 @@ The `meson` object allows you to introspect various properties of the
system. This object is always mapped in the `meson` variable. It has
the following methods.
-- `add_dist_script(script_name, arg1, arg, ...)` causes the script given as argument to run during
- `dist` operation after the distribution source has been generated
- but before it is archived. Note that this runs the script file that
- is in the _staging_ directory, not the one in the source
- directory. If the script file can not be found in the staging
- directory, it is a hard error. This command can only invoked from
- the main project, calling it from a subproject is a hard
- error. Available since 0.48.0. Before 0.49.0, the function only accepted a single argument.
+- `add_dist_script(script_name, arg1, arg, ...)` causes the script
+ given as argument to run during `dist` operation after the
+ distribution source has been generated but before it is
+ archived. Note that this runs the script file that is in the
+ _staging_ directory, not the one in the source directory. If the
+ script file can not be found in the staging directory, it is a hard
+ error. This command can only invoked from the main project, calling
+ it from a subproject is a hard error. Available since 0.48.0. Before
+ 0.49.0, the function only accepted a single argument. Since 0.54.0
+ the `MESON_SOURCE_ROOT` and `MESON_BUILD_ROOT` environment variables
+ are set when dist scripts are run.
- `add_install_script(script_name, arg1, arg2, ...)` causes the script
given as an argument to be run during the install step, this script
diff --git a/docs/markdown/Reference-tables.md b/docs/markdown/Reference-tables.md
index 61f4803..86524b7 100644
--- a/docs/markdown/Reference-tables.md
+++ b/docs/markdown/Reference-tables.md
@@ -60,31 +60,33 @@ These are returned by the `cpu_family` method of `build_machine`,
`host_machine` and `target_machine`. For cross compilation they are
set in the cross file.
-| Value | Comment |
-| ----- | ------- |
-| aarch64 | 64 bit ARM processor |
-| alpha | DEC Alpha processor |
-| arc | 32 bit ARC processor |
-| arm | 32 bit ARM processor |
-| e2k | MCST Elbrus processor |
-| ia64 | Itanium processor |
-| microblaze | MicroBlaze processor |
-| mips | 32 bit MIPS processor |
-| mips64 | 64 bit MIPS processor |
-| parisc | HP PA-RISC processor |
-| ppc | 32 bit PPC processors |
-| ppc64 | 64 bit PPC processors |
-| riscv32 | 32 bit RISC-V Open ISA|
-| riscv64 | 64 bit RISC-V Open ISA|
-| rl78 | Renesas RL78 |
-| rx | Renesas RX 32 bit MCU |
-| s390x | IBM zSystem s390x |
-| sparc | 32 bit SPARC |
-| sparc64 | SPARC v9 processor |
-| wasm32 | 32 bit Webassembly |
-| wasm64 | 64 bit Webassembly |
-| x86 | 32 bit x86 processor |
-| x86_64 | 64 bit x86 processor |
+| Value | Comment |
+| ----- | ------- |
+| aarch64 | 64 bit ARM processor |
+| alpha | DEC Alpha processor |
+| arc | 32 bit ARC processor |
+| arm | 32 bit ARM processor |
+| e2k | MCST Elbrus processor |
+| ia64 | Itanium processor |
+| m68k | Motorola 68000 processor |
+| microblaze | MicroBlaze processor |
+| mips | 32 bit MIPS processor |
+| mips64 | 64 bit MIPS processor |
+| parisc | HP PA-RISC processor |
+| ppc | 32 bit PPC processors |
+| ppc64 | 64 bit PPC processors |
+| riscv32 | 32 bit RISC-V Open ISA |
+| riscv64 | 64 bit RISC-V Open ISA |
+| rl78 | Renesas RL78 |
+| rx | Renesas RX 32 bit MCU |
+| s390 | IBM zSystem s390 |
+| s390x | IBM zSystem s390x |
+| sparc | 32 bit SPARC |
+| sparc64 | SPARC v9 processor |
+| wasm32 | 32 bit Webassembly |
+| wasm64 | 64 bit Webassembly |
+| x86 | 32 bit x86 processor |
+| x86_64 | 64 bit x86 processor |
Any cpu family not listed in the above list is not guaranteed to
remain stable in future releases.
@@ -141,7 +143,7 @@ linker flags.
It is recommended that you **do not use these**. They are provided purely to
for backwards compatibility with other build systems. There are many caveats to
their use, especially when rebuilding the project. It is **highly** recommended
-that you use [the command line arguments](#language-arguments-parameters-names)
+that you use [the command line arguments](#language-arguments-parameter-names)
instead.
| Name | Comment |
diff --git a/docs/markdown/Release-procedure.md b/docs/markdown/Release-procedure.md
index 9168ed8..caf4973 100644
--- a/docs/markdown/Release-procedure.md
+++ b/docs/markdown/Release-procedure.md
@@ -4,23 +4,42 @@
# Trunk
-Meson operates under the principle that trunk should (in theory) be always good enough for release. That is, all code merged in trunk must pass all unit tests. Any broken code should either be fixed or reverted immediately.
+Meson operates under the principle that trunk should (in theory) be always
+good enough for release. That is, all code merged in trunk must pass all unit
+tests. Any broken code should either be fixed or reverted immediately.
-People who are willing to tolerate the occasional glitch should be able to use Meson trunk for their day to day development if they so choose.
+People who are willing to tolerate the occasional glitch should be able to
+use Meson trunk for their day to day development if they so choose.
# Major releases
-Major releases are currently in the form 0.X.0, where X is an increasing number. We aim to do a major release roughly once a month, though the schedule is not set in stone. Prior to the release there is a stabilisation period of roughly a week. Major changes should not be committed during this time, but instead only small scale fixes.
+Major releases are currently in the form 0.X.0, where X is an increasing
+number. We aim to do a major release roughly once a month, though the
+schedule is not set in stone.
+
+Before a major release is made a stable branch will be made, and 0.X.0-rc1
+release candidate will be made. A new milestone for 0.X.0 will be made, and
+all bugs effecting the RC will be assigned to this milestone. Patches fixing
+bugs in the milestone will be picked to the stable branch, and normal
+development will continue on the master branch. Every week after after this a
+new release candidate will be made until all bugs are resolved in that
+milestone. When all of the bugs are fixed the 0.X.0 release will be made.
# Bugfix releases
-Bugfix releases contain only minor fixes to major releases and are designated by incrementing the last digit of the version number. The criteria for a bug fix release is one of the following:
+Bugfix releases contain only minor fixes to major releases and are designated
+by incrementing the last digit of the version number. The criteria for a bug
+fix release is one of the following:
- - release has a major regression compared to the previous release (making existing projects unbuildable)
+ - release has a major regression compared to the previous release (making
+ existing projects unbuildable)
- the release has a serious bug causing data loss or equivalent
- other unforeseen major issue
-In these cases a bug fix release can be made. It shall contain _only_ the fix for the issue (or issues) in question and other minor bug fixes. Only changes that have already landed in trunk will be considered for inclusion. No new functionality shall be added.
+In these cases a bug fix release can be made. It shall contain _only_ the fix
+for the issue (or issues) in question and other minor bug fixes. Only changes
+that have already landed in trunk will be considered for inclusion. No new
+functionality shall be added.
# Requesting a bug fix release
@@ -28,7 +47,8 @@ The process for requesting that a bug fix release be made goes roughly as follow
- file a bug about the core issue
- file a patch fixing it if possible
- - contact the development team and request a bug fix release (IRC is the preferred contact medium)
+ - contact the development team and request a bug fix release (IRC is the
+ preferred contact medium)
The request should contain the following information:
@@ -38,4 +58,7 @@ The request should contain the following information:
There is no need to write a long and complicated request report. Something like the following is sufficient:
-> The latest release has a regression where trying to do Foo using Bar breaks. This breaks all projects that use both, which includes at least [list of affected projects]. This causes problems for X amount of people and because of this we should do a bugfix release.
+> The latest release has a regression where trying to do Foo using Bar
+breaks. This breaks all projects that use both, which includes at least [list
+of affected projects]. This causes problems for X amount of people and
+because of this we should do a bugfix release.
diff --git a/docs/markdown/Trial-conversions.md b/docs/markdown/Trial-conversions.md
deleted file mode 100644
index 4d89b9a..0000000
--- a/docs/markdown/Trial-conversions.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-title: Trial conversions
-...
-
-# Trial conversions of existing projects
-
-To verify Meson's suitability for different types of projects, its developers do experimental build system conversions. In all simplicity it means that random projects are chosen and their build system is rewritten in Meson. Usually these are not fully polished ports, but should contain most of the work necessary to use Meson as the new build system.
-
-Here is a list of projects that have had a build system port done.
-
-* [Python 3](https://mail.python.org/pipermail/python-dev/2013-June/126748.html)
-* [Glib](https://mail.gnome.org/archives/gtk-devel-list/2013-August/msg00001.html)
-* [QtCreator](http://lists.qt-project.org/pipermail/qt-creator/2014-May/003584.html), and a [followup](http://lists.qt-project.org/pipermail/qt-creator/2014-May/003598.html) on unity builds
-* [SDL 2](https://forums.libsdl.org/viewtopic.php?t=10093&sid=8cf1d6c83d4d73fe6cfbb7cbb16b3d28)
-* [Mesa3D](https://lists.freedesktop.org/archives/mesa-dev/2014-July/064160.html)
-* [Mame](http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=332119&page=0&view=expanded&sb=5&o=&fpart=1&vc=1)
-* [Firefox NSPR](https://groups.google.com/forum/#!topic/mozilla.dev.builds/daS3DK2F1MQ)
-* [Wayland](https://lists.freedesktop.org/archives/wayland-devel/2015-February/020124.html)
-
-## More from WrapDB
-
-The [Meson Wrap database](https://wrapdb.mesonbuild.com) contains several projects that have been converted into Meson and are ready to use.
diff --git a/docs/markdown/Users.md b/docs/markdown/Users.md
index 7290a5b..32962dd 100644
--- a/docs/markdown/Users.md
+++ b/docs/markdown/Users.md
@@ -4,8 +4,13 @@ title: Users
# List of projects using Meson
-If you have a project that uses Meson that you want to add to this list, please [file a pull-request](https://github.com/mesonbuild/meson/edit/master/docs/markdown/Users.md) for it. All the software on this list is tested for regressions before release, so it's highly recommended that projects add themselves here. Some additional projects are
-listed in the [`meson` GitHub topic](https://github.com/topics/meson).
+If you have a project that uses Meson that you want to add to this
+list, please [file a
+pull-request](https://github.com/mesonbuild/meson/edit/master/docs/markdown/Users.md)
+for it. All the software on this list is tested for regressions before
+release, so it's highly recommended that projects add themselves
+here. Some additional projects are listed in the [`meson` GitHub
+topic](https://github.com/topics/meson).
- [2048.cpp](https://github.com/plibither8/2048.cpp), a fully featured terminal version of the game "2048" written in C++
- [Aravis](https://github.com/AravisProject/aravis), a glib/gobject based library for video acquisition using Genicam cameras
@@ -22,7 +27,7 @@ listed in the [`meson` GitHub topic](https://github.com/topics/meson).
- [dbus-broker](https://github.com/bus1/dbus-broker), Linux D-Bus Message Broker
- [DPDK](http://dpdk.org/browse/dpdk), Data Plane Development Kit, a set of libraries and drivers for fast packet processing
- [DXVK](https://github.com/doitsujin/dxvk), a Vulkan-based Direct3D 11 implementation for Linux using Wine
- - [elementary OS](https://github.com/elementary/), Linux desktop oriented distribution
+ - [elementary OS](https://github.com/elementary/), Linux desktop oriented distribution
- [Emeus](https://github.com/ebassi/emeus), constraint based layout manager for GTK+
- [ESP8266 Arduino sample project](https://github.com/trilader/arduino-esp8266-meson), sample project for using the ESP8266 Arduino port with Meson
- [FeedReader](https://github.com/jangernert/FeedReader), a modern desktop application designed to complement existing web-based RSS accounts
@@ -31,7 +36,7 @@ listed in the [`meson` GitHub topic](https://github.com/topics/meson).
- [fwupd](https://github.com/hughsie/fwupd), a simple daemon to allow session software to update firmware
- [GameMode](https://github.com/FeralInteractive/gamemode), a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS
- [Geary](https://wiki.gnome.org/Apps/Geary), an email application built around conversations, for the GNOME 3 desktop.
- - [GLib](https://gitlab.gnome.org/GNOME/glib), cross-platform C library used by GTK+ and GStreamer (not the default yet)
+ - [GLib](https://gitlab.gnome.org/GNOME/glib), cross-platform C library used by GTK+ and GStreamer
- [GNOME Boxes](https://gitlab.gnome.org/GNOME/gnome-boxes), a GNOME hypervisor
- [GNOME Builder](https://gitlab.gnome.org/GNOME/gnome-builder), an IDE for the GNOME platform
- [GNOME MPV](https://github.com/gnome-mpv/gnome-mpv), GNOME frontend to the mpv video player
@@ -42,7 +47,7 @@ listed in the [`meson` GitHub topic](https://github.com/topics/meson).
- [GNU FriBidi](https://github.com/fribidi/fribidi), the open source implementation of the Unicode Bidirectional Algorithm
- [Graphene](https://ebassi.github.io/graphene/), a thin type library for graphics
- [Grilo](https://git.gnome.org/browse/grilo) and [Grilo plugins](https://git.gnome.org/browse/grilo-plugins), the Grilo multimedia framework
- - [GStreamer](https://cgit.freedesktop.org/gstreamer/gstreamer/), multimedia framework (not the default yet)
+ - [GStreamer](https://cgit.freedesktop.org/gstreamer/gstreamer/), multimedia framework
- [GTK+](https://gitlab.gnome.org/GNOME/gtk), the multi-platform toolkit used by GNOME
- [GtkDApp](https://gitlab.com/csoriano/GtkDApp), an application template for developing Flatpak apps with Gtk+ and D
- [GVfs](https://git.gnome.org/browse/gvfs/), a userspace virtual filesystem designed to work with the I/O abstraction of GIO
@@ -68,9 +73,9 @@ listed in the [`meson` GitHub topic](https://github.com/topics/meson).
- [libglvnd](https://gitlab.freedesktop.org/glvnd/libglvnd), Vendor neutral OpenGL dispatch library for Unix-like OSes
- [Libhttpseverywhere](https://git.gnome.org/browse/libhttpseverywhere), a library to enable httpseverywhere on any desktop app
- [libmodulemd](https://github.com/fedora-modularity/libmodulemd), a GObject Introspected library for managing [Fedora Project](https://getfedora.org/) module metadata.
- - [Libosmscout](https://github.com/Framstag/libosmscout), a C++ library for offline map rendering, routing and location
+ - [Libosmscout](https://github.com/Framstag/libosmscout), a C++ library for offline map rendering, routing and location
lookup based on OpenStreetMap data
- - [libspng](https://gitlab.com/randy408/libspng), a C library for reading and writing Portable Network Graphics (PNG)
+ - [libspng](https://gitlab.com/randy408/libspng), a C library for reading and writing Portable Network Graphics (PNG)
format files
- [libui](https://github.com/andlabs/libui), a simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports
- [Libva](https://github.com/intel/libva), an implementation for the VA (VIdeo Acceleration) API
@@ -81,22 +86,23 @@ format files
- [mrsh](https://github.com/emersion/mrsh), a minimal POSIX shell
- [Nautilus](https://gitlab.gnome.org/GNOME/nautilus), the GNOME file manager
- [Nemo](https://github.com/linuxmint/nemo), the file manager for the Cinnamon desktop environment
- - [oomd](https://github.com/facebookincubator/oomd), a userspace Out-Of-Memory (OOM) killer for Linux systems
+ - [oomd](https://github.com/facebookincubator/oomd), a userspace Out-Of-Memory (OOM) killer for Linux systems
- [OpenH264](https://github.com/cisco/openh264), open source H.264 codec
- [OpenHMD](https://github.com/OpenHMD/OpenHMD), a free and open source API and drivers for immersive technology, such as head mounted displays with built in head tracking
- - [Orc](http://cgit.freedesktop.org/gstreamer/orc/), the Optimized Inner Loop Runtime Compiler (not the default yet)
+ - [Orc](http://cgit.freedesktop.org/gstreamer/orc/), the Optimized Inner Loop Runtime Compiler
- [OTS](https://github.com/khaledhosny/ots), the OpenType Sanitizer, parses and serializes OpenType files (OTF, TTF) and WOFF and WOFF2 font files, validating and sanitizing them as it goes. Used by Chromium and Firefox
- [Outlier](https://github.com/kerolasa/outlier), a small Hello World style meson example project
- [Pacman](https://git.archlinux.org/pacman.git/tree/), a package manager for Arch Linux
- - [Pango](https://git.gnome.org/browse/pango/), an Internationalized text layout and rendering library (not the default yet)
+ - [Pango](https://git.gnome.org/browse/pango/), an Internationalized text layout and rendering library
- [Parzip](https://github.com/jpakkane/parzip), a multithreaded reimplementation of Zip
- [Peek](https://github.com/phw/peek), simple animated GIF screen recorder with an easy to use interface
- - [PicoLibc](https://github.com/keith-packard/picolibc), a standard C library for small embedded systems with limited RAM
+ - [PicoLibc](https://github.com/keith-packard/picolibc), a standard C library for small embedded systems with limited RAM
- [PipeWire](https://github.com/PipeWire/pipewire), a framework for video and audio for containerized applications
- [Pithos](https://github.com/pithos/pithos), a Pandora Radio client
- [Pitivi](https://github.com/pitivi/pitivi/), a nonlinear video editor
- [Playerctl](https://github.com/acrisci/playerctl), mpris command-line controller and library for spotify, vlc, audacious, bmp, cmus, and others
- [Polari](https://gitlab.gnome.org/GNOME/polari), an IRC client
+ - [qboot](https://github.com/bonzini/qboot), a minimal x86 firmware for booting Linux kernels
- [radare2](https://github.com/radare/radare2), unix-like reverse engineering framework and commandline tools (not the default)
- [RxDock](https://gitlab.com/rxdock/rxdock), a protein-ligand docking software designed for high throughput virtual screening (fork of rDock)
- [SSHFS](https://github.com/libfuse/sshfs), allows you to mount a remote filesystem using SFTP
@@ -108,13 +114,16 @@ format files
- [Terminology](https://github.com/billiob/terminology), a terminal emulator based on the Enlightenment Foundation Libraries
- [Tilix](https://github.com/gnunn1/tilix), a tiling terminal emulator for Linux using GTK+ 3
- [Valum](https://github.com/valum-framework/valum), a micro web framework written in Vala
- - [Wayland and Weston](https://lists.freedesktop.org/archives/wayland-devel/2016-November/031984.html), a next generation display server (not merged yet)
+ - [Wayland](https://github.com/wayland-project/wayland) and [Weston](https://github.com/wayland-project/weston), a next generation display server
- [wlroots](https://github.com/swaywm/wlroots), a modular Wayland compositor library
- [wxFormBuilder](https://github.com/wxFormBuilder/wxFormBuilder), RAD tool for wxWidgets GUI design
- [xi-gtk](https://github.com/eyelash/xi-gtk), a GTK+ front-end for the Xi editor
- [Xorg](https://cgit.freedesktop.org/xorg/xserver/), the X.org display server (not the default yet)
- [zathura](https://github.com/pwmt/zathura), a highly customizable and functional document viewer based on the
girara user interface library and several document libraries
+ - [Zrythm](https://git.zrythm.org/cgit/zrythm), a cross-platform digital audio workstation using GTK+ 3
- [ZStandard](https://github.com/facebook/zstd/commit/4dca56ed832c6a88108a2484a8f8ff63d8d76d91), a compression algorithm developed at Facebook (not used by default)
-Note that a more up-to-date list of GNOME projects that use Meson can be found [here](https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting).
+Note that a more up-to-date list of GNOME projects that use Meson can
+be found
+[here](https://wiki.gnome.org/Initiatives/GnomeGoals/MesonPorting).
diff --git a/docs/markdown/Videos.md b/docs/markdown/Videos.md
index f2e37a7..fb60038 100644
--- a/docs/markdown/Videos.md
+++ b/docs/markdown/Videos.md
@@ -4,8 +4,12 @@ short-description: Videos about Meson
# Videos
+ - [Behind (and under) the scenes of the Meson build
+ system](https://www.youtube.com/watch?v=iLN6wL7ExHU), Linux.conf.au
+ 2020
+
- [Behind the Scenes of a C++ Build
- System](https://www.youtube.com/watch?v=34KzT2yvQuM) CppCon 2019
+ System](https://www.youtube.com/watch?v=34KzT2yvQuM), CppCon 2019
- [Compiling Multi-Million Line C++ Code Bases Effortlessly with the
Meson Build system](https://www.youtube.com/watch?v=SCZLnopmYBM),
diff --git a/docs/markdown/howtox.md b/docs/markdown/howtox.md
index f73d6b9..5deaa7e 100644
--- a/docs/markdown/howtox.md
+++ b/docs/markdown/howtox.md
@@ -28,24 +28,36 @@ native-files and the latter via the cross file only.
## Set dynamic linker
+Like the compiler, the linker is selected via the <compiler variable>_LD
+environment variable, or through the `<compiler entry>ld` entry in a native
+or cross file. You must be aware of whether you're using a compiler that
+invokes the linker itself (most compilers including GCC and Clang) or a
+linker that is invoked directly (when using MSVC or compilers that act like
+it, including Clang-Cl). With the former `cld` or `CC_LD` should be the value
+to pass to the compiler's special argument (such as `-fuse-ld` with clang and
+gcc), with the latter it should be an executable, such as `lld-link.exe`.
+
+*NOTE* In meson 0.53.0 the `ld` entry in the cross/native file and the `LD`
+environment variable was used, this resulted in a large number of regressions
+and was changed.
+
```console
-$ CC=clang LD=lld meson <options>
+$ CC=clang CC_LD=lld meson <options>
```
or
```console
-$ CC=clang-cl LD=link meson <options>
+$ CC=clang-cl CC_LD=link meson <options>
```
-Like the compiler, the linker is selected via the LD environment variable, or
-through the `ld` entry in a native or cross file. You must be aware of
-whehter you're using a compiler that invokes the linker itself (most
-compilers including GCC and Clang) or a linker that is invoked directly (when
-using MSVC or compilers that act like it, including Clang-Cl). With the
-former `ld` or `LD` should be the value to pass to the compiler's special
-argument (such as `-fuse-ld` with clang and gcc), with the latter it should
-be an exectuable, such as `lld-link.exe`.
+or in a cross or native file:
+
+```ini
+[binaries]
+c = 'clang'
+c_ld = 'lld'
+```
## Set default C/C++ language version
@@ -139,7 +151,7 @@ $ ninja coverage-html (or coverage-xml)
The coverage report can be found in the meson-logs subdirectory.
-Note: Currently, Meson does not support generating coverage reports
+Note: Currently, Meson does not support generating coverage reports
with Clang.
## Add some optimization to debug builds
diff --git a/docs/markdown/index.md b/docs/markdown/index.md
index e57cd69..ccd341f 100644
--- a/docs/markdown/index.md
+++ b/docs/markdown/index.md
@@ -24,6 +24,12 @@ code.
* built-in multiplatform dependency provider that works together with distro packages
* fun!
+## A full manual
+
+The documentation on this site is freely available for all. However
+there is also a full separate manual available for purchase [on this
+web page](https://meson-manual.com/).
+
## Community
There are two main methods of connecting with other Meson
@@ -37,7 +43,7 @@ The second way is via IRC. The channel to use is `#mesonbuild` at
Many projects out there are using Meson and their communities are also
a great resource for learning about what (and what not too!) do when
-trying to convert to using Meson.
+trying to convert to using Meson.
[A short list of Meson users can be found here](Users.md)
but there are many more. We would love to hear about your success
diff --git a/docs/markdown/snippets/message_warning_concat.md b/docs/markdown/snippets/message_warning_concat.md
new file mode 100644
index 0000000..39e9e6d
--- /dev/null
+++ b/docs/markdown/snippets/message_warning_concat.md
@@ -0,0 +1,4 @@
+## More than one argument to `message()` and `warning()`
+
+Arguments passed to `message()` and `warning()` will be printed separated by
+space.
diff --git a/docs/markdown/snippets/pkg_config_libdir.md b/docs/markdown/snippets/pkg_config_libdir.md
new file mode 100644
index 0000000..691f8c5
--- /dev/null
+++ b/docs/markdown/snippets/pkg_config_libdir.md
@@ -0,0 +1,3 @@
+## Added 'pkg_config_libdir' property
+Allows to define a list of folders used by pkg-config for a cross build
+and avoid a system directories use.
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index 5850cc3..157574d 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -108,7 +108,6 @@ index.md
Pkg-config-files.md
Playground.md
Porting-from-autotools.md
- Trial-conversions.md
Use-of-Python.md
Users.md
Using-multiple-build-directories.md