aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2021-06-30 13:03:54 -0700
committerDylan Baker <dylan@pnwbakers.com>2021-06-30 16:28:14 -0700
commitbc4201a7f1e93d6afb62caa8ce81bb1b0211b70c (patch)
treee630b202d1e35803a87cb1306517f79d91dbe0de /docs
parent4a0a6a80837af1b75db3b3b57a5b8f41386e5c0b (diff)
downloadmeson-bc4201a7f1e93d6afb62caa8ce81bb1b0211b70c.zip
meson-bc4201a7f1e93d6afb62caa8ce81bb1b0211b70c.tar.gz
meson-bc4201a7f1e93d6afb62caa8ce81bb1b0211b70c.tar.bz2
interpreter: add required and disabled to import
This is useful both from the perspective of optional functionality that requires a module, and also as I continue to progress with Meson++, which will probably not implement all of the modules that Meson itself does.
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Reference-manual.md20
-rw-r--r--docs/markdown/snippets/required_and_disabled_import.md5
2 files changed, 20 insertions, 5 deletions
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md
index 16fcbbf..e96a6fc 100644
--- a/docs/markdown/Reference-manual.md
+++ b/docs/markdown/Reference-manual.md
@@ -973,19 +973,21 @@ a non-existing variable will cause a fatal error.
### import()
-``` meson
- module_object import(module_name)
+```
+ module_object import(string, required : bool | feature, disabler : bool)
```
-Imports the given extension module. Returns an opaque object that can
-be used to call the methods of the module. Here's an example for a
-hypothetical `testmod` module.
+Imports the given extension module. Returns an object that can be used to call
+the methods of the module. Here's an example for a hypothetical `testmod`
+module.
```meson
tmod = import('testmod')
tmod.do_something()
```
+*Since 0.59.0* the required and disabler keyword arguments
+
### include_directories()
``` meson
@@ -2911,3 +2913,11 @@ sample piece of code with [`compiler.run()`](#compiler-object) or
- `returncode()`: the return code of executing the compiled binary
- `stderr()`: the standard error produced when the command was run
- `stdout()`: the standard out produced when the command was run
+
+### `module` object
+
+Modules provide their own specific implementation methods, but all modules
+proivide the following methods:
+
+- `bool found()`: returns True if the module was successfully imported,
+ otherwise false. *Since 0.59.0*
diff --git a/docs/markdown/snippets/required_and_disabled_import.md b/docs/markdown/snippets/required_and_disabled_import.md
new file mode 100644
index 0000000..39ca307
--- /dev/null
+++ b/docs/markdown/snippets/required_and_disabled_import.md
@@ -0,0 +1,5 @@
+## The `import()` function gains `required` and `disabler` arguments
+
+In addition, modules now have a `found()` method, like programs and
+dependencies. This allows them to be conditionally required, and used in most
+places that an object with a `found()` method can be.