diff mbox series

[v2] ref-manual: document meson class and variables

Message ID 20230217103740.4074267-1-michael.opdenacker@bootlin.com
State New
Headers show
Series [v2] ref-manual: document meson class and variables | expand

Commit Message

Michael Opdenacker Feb. 17, 2023, 10:37 a.m. UTC
From: Michael Opdenacker <michael.opdenacker@bootlin.com>

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>

---

Changes in V2:
- Fix typo
- Document the MESON_BUILDTYPE variable too
Thanks to feedback from Peter Kjellerstedt
---
 documentation/ref-manual/classes.rst   | 10 ++++++++++
 documentation/ref-manual/variables.rst | 25 +++++++++++++++++++++++++
 2 files changed, 35 insertions(+)
diff mbox series

Patch

diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index b5443c0d0a..75dbe97299 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -1648,6 +1648,16 @@  messages for various BitBake severity levels (i.e. ``bbplain``,
 This class is enabled by default since it is inherited by the :ref:`ref-classes-base`
 class.
 
+.. _ref-classes-meson:
+
+``meson``
+=========
+
+The :ref:`ref-classes-meson` class allows to create recipes that build software
+using the `Meson <https://mesonbuild.com/>`__ build system. You can use
+the :term:`MESON_BUILDTYPE` and :term:`EXTRA_OEMESON` variables to specify
+additional configuration options to be passed using the ``meson`` command line.
+
 .. _ref-classes-metadata_scm:
 
 ``metadata_scm``
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 62176f7ee8..f4de3b5658 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -2528,6 +2528,20 @@  system and gives an overview of their function and contents.
       variable specifies additional configuration options you want to pass
       to the ``scons`` command line.
 
+   :term:`EXTRA_OEMESON`
+      Additional `Meson <https://mesonbuild.com/>`__ options. See the
+      :ref:`ref-classes-meson` class for additional information.
+
+      In addition to standard Meson options, such options correspond to
+      `Meson build options <https://mesonbuild.com/Build-options.html>`__
+      defined in the ``meson_options.txt`` file in the sources to build.
+      Here is an example::
+
+         EXTRA_OEMESON = "-Dpython=disabled -Dvalgrind=disabled"
+
+      Note that any custom value for the Meson ``--buildtype`` option
+      should be set through the :term:`MESON_BUILDTYPE` variable.
+
    :term:`EXTRA_USERS_PARAMS`
       When inheriting the :ref:`ref-classes-extrausers`
       class, this variable provides image level user and group operations.
@@ -5138,6 +5152,17 @@  system and gives an overview of their function and contents.
    :term:`MAINTAINER`
       The email address of the distribution maintainer.
 
+   :term:`MESON_BUILDTYPE`
+      Value of the Meson ``--buildtype`` argument used by the
+      :ref:`ref-classes-meson` class. It defaults to ``debug`` if
+      :term:`DEBUG_BUILD` is set to "1", and ``plain`` otherwise.
+
+      See `Meson build options <https://mesonbuild.com/Builtin-options.html>`__
+      for the values you could set in a recipe. Values such as ``plain``,
+      ``debug``, ``debugoptimized``, ``release`` and ``minsize`` allow
+      you to specify the inclusion of debugging symbols and the compiler
+      optimizations (none, performance or size).
+
    :term:`METADATA_BRANCH`
       The branch currently checked out for the OpenEmbedded-Core layer (path
       determined by :term:`COREBASE`).