aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Builtin-options.md20
-rw-r--r--docs/markdown/CMake-module.md1
-rw-r--r--docs/markdown/Wayland-module.md64
-rw-r--r--docs/markdown/_Sidebar.md1
-rw-r--r--docs/markdown/snippets/cmake_configure_package_config_dict.md5
-rw-r--r--docs/markdown/snippets/python_module_env.md9
-rw-r--r--docs/markdown/snippets/wayland-module.md4
-rw-r--r--docs/sitemap.txt1
-rw-r--r--docs/theme/extra/templates/navbar_links.html1
-rw-r--r--docs/yaml/functions/summary.yaml33
10 files changed, 130 insertions, 9 deletions
diff --git a/docs/markdown/Builtin-options.md b/docs/markdown/Builtin-options.md
index db3c3e8..c8e98dd 100644
--- a/docs/markdown/Builtin-options.md
+++ b/docs/markdown/Builtin-options.md
@@ -271,10 +271,11 @@ name with the module name: `-D<module>.<option>=<value>` (e.g. `-Dpython.platlib
### Python module
-| Option | Default value | Possible values | Description |
-| ------ | ------------- | --------------- | ----------- |
-| platlibdir | | Directory path | Directory for site-specific, platform-specific files (Since 0.60.0) |
-| purelibdir | | Directory path | Directory for site-specific, non-platform-specific files (Since 0.60.0) |
+| Option | Default value | Possible values | Description |
+| ------ | ------------- | ----------------- | ----------- |
+| install_env | prefix | {auto,prefix,system,venv} | Which python environment to install to (Since 0.62.0) |
+| platlibdir | | Directory path | Directory for site-specific, platform-specific files (Since 0.60.0) |
+| purelibdir | | Directory path | Directory for site-specific, non-platform-specific files (Since 0.60.0) |
*Since 0.60.0* `python.platlibdir` and `python.purelibdir` options are used by
python module methods `python.install_sources()` and `python.get_install_dir()`.
@@ -283,3 +284,14 @@ relative to the installation `prefix`, which will often result in installed pyth
modules to not be found by the interpreter unless `prefix` is `/usr` on Linux,
or for example `C:\Python39` on Windows. These options can be absolute paths
outside of `prefix`.
+
+*Since 0.62.0* The `python.install_env` option is used to detect the correct
+installation path. Setting to `system` will avoid making the paths relative to
+`prefix` and instead use the global site-packages of the selected python
+interpreter directly, even if it is a venv. Setting to `venv` will instead use
+the paths for the virtualenv the python found installation comes from (or fail
+if it is not a virtualenv). Setting to `auto` will check if the found
+installation is a virtualenv, and use `venv` or `system` as appropriate (but
+never `prefix`). This option is mutually exclusive with the `platlibdir`/`purelibdir`.
+
+For backwards compatibility purposes, the default `install_env` is `prefix`.
diff --git a/docs/markdown/CMake-module.md b/docs/markdown/CMake-module.md
index 8e6c4e9..a5c0c7e 100644
--- a/docs/markdown/CMake-module.md
+++ b/docs/markdown/CMake-module.md
@@ -262,6 +262,7 @@ the `configuration` parameter.
* `input`: the template file where that will be treated for variable substitutions contained in `configuration`.
* `install_dir`: optional installation directory, it defaults to `$(libdir)/cmake/$(name)`.
* `configuration`: a `configuration_data` object that will be used for variable substitution in the template file.
+ *Since 0.62.0* it can take a dictionary instead.
Example:
diff --git a/docs/markdown/Wayland-module.md b/docs/markdown/Wayland-module.md
new file mode 100644
index 0000000..d30627c
--- /dev/null
+++ b/docs/markdown/Wayland-module.md
@@ -0,0 +1,64 @@
+# Unstable Wayland Module
+
+This module is available since version 0.62.0.
+
+This module provides helper functions to find wayland protocol
+xmls and to generate .c and .h files using wayland-scanner
+
+**Note**: this module is unstable. It is only provided as a technology
+preview. Its API may change in arbitrary ways between releases or it
+might be removed from Meson altogether.
+
+## Quick Usage
+
+```meson
+project('hello-wayland', 'c')
+
+wl_dep = dependency('wayland-client')
+wl_mod = import('unstable-wayland')
+
+xml = wl_mod.find_protocol('xdg-shell')
+xdg_shell = wl_mod.scan_xml(xml)
+
+executable('hw', 'main.c', xdg_shell, dependencies : wl_dep)
+```
+
+## Methods
+
+### find_protocol
+
+```meson
+xml = wl_mod.find_protocol(
+ 'xdg-decoration',
+ state : 'unstable',
+ version : 1,
+)
+```
+This function requires one positional argument: the protocol base name.
+- `state` Optional arg that specifies the current state of the protocol.
+Either stable, staging, or unstable.
+The default is stable.
+- `version` The backwards incompatible version number.
+Required for staging or unstable. An error is raised for stable.
+
+### scan_xml
+```meson
+generated = wl_mod.scan_xml(
+ 'my-protocol.xml',
+ side : 'client',
+ scope : 'private',
+)
+```
+This function accepts one or more arguments of either string or file type.
+
+- `side` Optional arg that specifies if client or server side code is generated.
+The default is client side.
+- `scope` Optional arg that specifies the scope of the generated code.
+Either public or private.
+The default is private.
+
+
+## Links
+- [Official Wayland Documentation](https://wayland.freedesktop.org/docs/html/)
+- [Wayland GitLab](https://gitlab.freedesktop.org/wayland)
+- [Wayland Book](https://wayland-book.com/)
diff --git a/docs/markdown/_Sidebar.md b/docs/markdown/_Sidebar.md
index 0ca1762..ce73d5a 100644
--- a/docs/markdown/_Sidebar.md
+++ b/docs/markdown/_Sidebar.md
@@ -13,3 +13,4 @@
* [i18n](i18n-module.md)
* [pkgconfig](Pkgconfig-module.md)
* [rust](Rust-module.md)
+* [wayland](Wayland-module.md)
diff --git a/docs/markdown/snippets/cmake_configure_package_config_dict.md b/docs/markdown/snippets/cmake_configure_package_config_dict.md
new file mode 100644
index 0000000..253a887
--- /dev/null
+++ b/docs/markdown/snippets/cmake_configure_package_config_dict.md
@@ -0,0 +1,5 @@
+## cmake.configure_package_config_file can now take a dict
+
+The `configuration` kwarg of the `configure_package_config_file()` function
+from the `cmake` module can now take a dict object, just like the regular
+`configure_file()` function.
diff --git a/docs/markdown/snippets/python_module_env.md b/docs/markdown/snippets/python_module_env.md
new file mode 100644
index 0000000..87a156d
--- /dev/null
+++ b/docs/markdown/snippets/python_module_env.md
@@ -0,0 +1,9 @@
+## New option to choose python installation environment
+
+It is now possible to specify `-Dpython.install_env` and choose how python modules are installed.
+
+- `venv`: assume that a virtualenv is active and install to that
+- `system`: install to the global site-packages of the selected interpreter
+ (the one that the venv module calls --system-site-packages)
+- `prefix`: preserve existing behavior
+- `auto`: autodetect whether to use venv or system
diff --git a/docs/markdown/snippets/wayland-module.md b/docs/markdown/snippets/wayland-module.md
new file mode 100644
index 0000000..cd5e5dc
--- /dev/null
+++ b/docs/markdown/snippets/wayland-module.md
@@ -0,0 +1,4 @@
+## New unstable wayland module
+
+This module can search for protocol xml files from the wayland-protocols
+package, and generate .c and .h files using wayland-scanner.
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index 82e0a7b..11b64e0 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -58,6 +58,7 @@ index.md
SourceSet-module.md
Windows-module.md
i18n-module.md
+ Wayland-module.md
Java.md
Vala.md
D.md
diff --git a/docs/theme/extra/templates/navbar_links.html b/docs/theme/extra/templates/navbar_links.html
index c518de5..65a21a2 100644
--- a/docs/theme/extra/templates/navbar_links.html
+++ b/docs/theme/extra/templates/navbar_links.html
@@ -26,6 +26,7 @@
("Rust-module.html","Rust"), \
("Simd-module.html","Simd"), \
("SourceSet-module.html","SourceSet"), \
+ ("Wayland-module.html","Wayland"), \
("Windows-module.html","Windows")]:
<li>
<a href="@tup[0]">@tup[1]</a>
diff --git a/docs/yaml/functions/summary.yaml b/docs/yaml/functions/summary.yaml
index 3e7d463..29bff0b 100644
--- a/docs/yaml/functions/summary.yaml
+++ b/docs/yaml/functions/summary.yaml
@@ -10,7 +10,7 @@ description: |
the section keyword argument is omitted, those key/value pairs are
implicitly grouped into a section with no title. key/value pairs can
optionally be grouped into a dictionary, but keep in mind that
- dictionaries does not guarantee ordering. `key` must be string,
+ dictionaries do not guarantee ordering. `key` must be string,
`value` can be:
- an integer, boolean or string
@@ -62,10 +62,33 @@ example: |
```
posargs:
- key:
- type: str
- description: The name of the new entry
+ key_or_dict:
+ type: str | dict[str | bool | int | dep | external_program | list[str | bool | int | dep | external_program]]
+ description: |
+ The name of the new entry, or a dict containing multiple entries. If a
+ dict is passed it is equivalent to calling summary() once for each
+ key-value pair. Keep in mind that dictionaries do not guarantee
+ ordering.
+optargs:
value:
type: str | bool | int | dep | external_program | list[str | bool | int | dep | external_program]
- description: The value to print for the `key`
+ description: |
+ The value to print for the `key`. Only valid if `key_or_dict` is a str.
+
+kwargs:
+ bool_yn:
+ type: bool
+ default: false
+ description: Convert bool values to yes and no
+ section:
+ type: str
+ description: The section to put this summary information under. If the
+ section keyword argument is omitted, key/value pairs are implicitly
+ grouped into a section with no title.
+ list_sep:
+ type: str
+ since: 0.54.0
+ description: |
+ The separator to use when printing list values in this summary. If no
+ separator is given, each list item will be printed on its own line.