2017-06-13 04:22:48 +08:00
|
|
|
---
|
|
|
|
title: Release 0.42
|
|
|
|
short-description: Release notes for 0.42 (preliminary)
|
|
|
|
...
|
|
|
|
|
|
|
|
**Preliminary, 0.42.0 has not been released yet.**
|
|
|
|
|
|
|
|
# New features
|
|
|
|
|
2017-06-09 17:22:40 +08:00
|
|
|
## 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.
|
2017-06-26 01:33:14 +08:00
|
|
|
|
|
|
|
## Keyword argument verification
|
|
|
|
|
|
|
|
Meson will now check the keyword arguments used when calling any function
|
2017-06-27 01:39:00 +08:00
|
|
|
and print a warning if any of the keyword arguments is not known. In the
|
|
|
|
future this will become a hard error.
|
|
|
|
|
2017-06-26 20:58:15 +08:00
|
|
|
## 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.
|
2017-06-28 00:01:00 +08:00
|
|
|
|
2017-06-27 00:15:24 +08:00
|
|
|
## 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' )
|
|
|
|
```
|
2017-07-01 04:15:25 +08:00
|
|
|
|
2017-07-08 10:53:26 +08:00
|
|
|
## Base options accessible via get_option()
|
|
|
|
|
|
|
|
Base options are now accessible via the get_option() function.
|
|
|
|
```meson
|
|
|
|
uses_lto = get_option('b_lto')
|
|
|
|
```
|
|
|
|
|
2017-07-01 04:15:25 +08:00
|
|
|
## 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
|
2017-07-03 05:11:17 +08:00
|
|
|
|
|
|
|
## 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.
|
2017-07-19 03:22:01 +08:00
|
|
|
|
|
|
|
## 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.
|
2017-07-21 04:08:52 +08:00
|
|
|
|
|
|
|
## Import libraries for executables on Windows
|
|
|
|
|
|
|
|
The new keyword `implib` to `executable()` allows generation of an import
|
|
|
|
library for the executable.
|