Meson has a selection of modules to make common requirements easy to use.
Modules can be thought of like the standard library of a programming language.
Currently Meson provides the following modules.

* [Gnome](Gnome-module.md)
* [i18n](i18n-module.md)
* [Qt4](Qt4-module.md)
* [Qt5](Qt5-module.md)
* [Pkgconfig](Pkgconfig-module.md)
* [Python3](Python-3-module.md)
* [RPM](RPM-module.md)
* [Windows](Windows-module.md)

In addition there are unstable modules. These are meant for testing new
functionality but note that they do *not* provide a stable API. It can
change in arbitrary ways between releases. The modules might also be removed
without warning in future releases.

 * [SIMD](Simd-module.md)
 