diff options
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.md | 84 |
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`. |