aboutsummaryrefslogtreecommitdiffstats
path: root/meson/docs/markdown/Release-notes-for-0.41.0.md
diff options
context:
space:
mode:
Diffstat (limited to 'meson/docs/markdown/Release-notes-for-0.41.0.md')
-rw-r--r--meson/docs/markdown/Release-notes-for-0.41.0.md84
1 files changed, 84 insertions, 0 deletions
diff --git a/meson/docs/markdown/Release-notes-for-0.41.0.md b/meson/docs/markdown/Release-notes-for-0.41.0.md
new file mode 100644
index 000000000..8ce181a71
--- /dev/null
+++ b/meson/docs/markdown/Release-notes-for-0.41.0.md
@@ -0,0 +1,84 @@
+---
+title: Release 0.41
+short-description: Release notes for 0.41
+...
+
+# New features
+
+## Dependency Handler for LLVM
+
+Native support for linking against LLVM using the `dependency` function.
+
+## vcs_tag keyword fallback is now optional
+
+The `fallback` keyword in `vcs_tag()` is now optional. If not given,
+its value defaults to the return value of `meson.project_version()`.
+
+## Better quoting of special characters in ninja command invocations
+
+The ninja backend now quotes special characters that may be
+interpreted by ninja itself, providing better interoperability with
+custom commands. This support may not be perfect; please report any
+issues found with special characters to the issue tracker.
+
+## Pkgconfig support for custom variables
+
+The Pkgconfig module object can add arbitrary variables to the generated .pc
+file with the new `variables` keyword:
+```meson
+pkg.generate(libraries : libs,
+ subdirs : h,
+ version : '1.0',
+ name : 'libsimple',
+ filebase : 'simple',
+ description : 'A simple demo library.',
+ variables : ['datadir=${prefix}/data'])
+```
+
+## A target for creating tarballs
+
+Creating distribution tarballs is simple:
+
+ ninja dist
+
+This will create a `.tar.xz` archive of the source code including
+submodules without any revision control information. This command also
+verifies that the resulting archive can be built, tested and
+installed. This is roughly equivalent to the `distcheck` target in
+other build systems. Currently this only works for projects using Git
+and only with the Ninja backend.
+
+## Support for passing arguments to Rust compiler
+
+Targets for building rust now take a `rust_args` keyword.
+
+## Code coverage export for tests
+
+Code coverage can be generated for tests by passing the `--cov` argument to
+the `run_tests.py` test runner. Note, since multiple processes are used,
+coverage must be combined before producing a report (`coverage3 combine`).
+
+## Reproducible builds
+
+All known issues have been fixed and Meson can now build reproducible Debian
+packages out of the box.
+
+## Extended template substitution in configure_file
+
+The output argument of `configure_file()` is parsed for @BASENAME@ and
+@PLAINNAME@ substitutions.
+
+## Cross-config property for overriding whether an exe wrapper is needed
+
+The new `needs_exe_wrapper` property allows overriding auto-detection for
+cases where `build_machine` appears to be compatible with `host_machine`,
+but actually isn't. For example when:
+- `build_machine` is macOS and `host_machine` is the iOS Simulator
+- the `build_machine`'s libc is glibc but the `host_machine` libc is uClibc
+- code relies on kernel features not available on the `build_machine`
+
+## Support for capturing stdout of a command in configure_file
+
+`configure_file()` now supports a new keyword - `capture`. When this argument
+is set to true, Meson captures `stdout` of the `command` and writes it to
+the target file specified as `output`.