The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.1 KiB
91 lines
3.1 KiB
--- |
|
title: Release 0.42 |
|
short-description: Release notes for 0.42 (preliminary) |
|
... |
|
|
|
**Preliminary, 0.42.0 has not been released yet.** |
|
|
|
# New features |
|
|
|
## Distribution tarballs from Mercurial repositories |
|
|
|
Creating distribution tarballs can now be made out of projects based on |
|
Mercurial. As before, this remains possible only with the Ninja backend. |
|
|
|
## Keyword argument verification |
|
|
|
Meson will now check the keyword arguments used when calling any function |
|
and print a warning if any of the keyword arguments is not known. In the |
|
future this will become a hard error. |
|
|
|
## Add support for Genie to Vala compiler |
|
|
|
The Vala compiler has an alternative syntax, Genie, that uses the `.gs` |
|
file extension. Meson now recognises and uses Genie files. |
|
|
|
## Pkgconfig support for additional cflags |
|
|
|
The Pkgconfig module object can add arbitrary extra cflags to the Cflags |
|
value in the .pc file, using the "extra_cflags" keyword: |
|
```meson |
|
pkg.generate(libraries : libs, |
|
subdirs : h, |
|
version : '1.0', |
|
name : 'libsimple', |
|
filebase : 'simple', |
|
description : 'A simple demo library.', |
|
extra_cflags : '-Dfoo' ) |
|
``` |
|
|
|
## Base options accessible via get_option() |
|
|
|
Base options are now accessible via the get_option() function. |
|
```meson |
|
uses_lto = get_option('b_lto') |
|
``` |
|
|
|
## Allow crate type configuration for Rust compiler |
|
|
|
Rust targets now take an optional `rust_crate_type` keyword, allowing |
|
you to set the crate type of the resulting artifact. Valid crate types |
|
are `dylib` or `cdylib` for shared libraries, and `rlib` or |
|
`staticlib` for static libraries. For more, see |
|
Rust's [linkage reference][rust-linkage]. |
|
|
|
[rust-linkage]: https://doc.rust-lang.org/reference/linkage.html |
|
|
|
## Simultaneous use of Address- and Undefined Behavior Sanitizers |
|
|
|
Both the address- and undefined behavior sanitizers can now be used |
|
simultaneously by passing `-Db_sanitize=address,undefined` to Meson. |
|
|
|
## Unstable SIMD module |
|
|
|
A new experimental module to compile code with many different SIMD |
|
instruction sets and selecting the best one at runtime. This module |
|
is unstable, meaning its API is subject to change in later releases. |
|
It might also be removed altogether. |
|
|
|
|
|
## Import libraries for executables on Windows |
|
|
|
The new keyword `implib` to `executable()` allows generation of an import |
|
library for the executable. |
|
|
|
## Added build_rpath keyword argument |
|
|
|
You can specify `build_rpath : '/foo/bar'` in build targets and the |
|
given path will get added to the target's rpath in the build tree. It |
|
is removed during the install step. |
|
|
|
Meson will print a warning when the user tries to add an rpath linker |
|
flag manually, e.g. via `link_args` to a target. This is not |
|
recommended because having multiple rpath causes them to stomp on each |
|
other. This warning will become a hard error in some future release. |
|
|
|
## Disable implicit include directories |
|
|
|
By default Meson adds the current source and build directories to the |
|
header search path. On some rare occasions this is not desired. Setting |
|
the `implicit_include_directories` keyword argument to `false` these |
|
directories are not used.
|
|
|