parent
5dd3413b71
commit
a6d088ba3d
11 changed files with 86 additions and 68 deletions
@ -0,0 +1,85 @@ |
||||
--- |
||||
title: Release 1.0.0 |
||||
short-description: Release notes for 1.0.0 |
||||
... |
||||
|
||||
# New features |
||||
|
||||
Meson 1.0.0 was released on 23 December 2022 |
||||
## Compiler check functions `prefix` kwargs accepts arrays |
||||
|
||||
The `prefix` kwarg that most compiler check functions support |
||||
now accepts an array in addition to a string. The elements of the |
||||
array will be concatenated separated by a newline. |
||||
|
||||
This makes it more readable to write checks that need multiple headers |
||||
to be included: |
||||
|
||||
```meson |
||||
cc.check_header('GL/wglew.h', prefix : ['#include <windows.h>', '#include <GL/glew.h>']) |
||||
``` |
||||
|
||||
instead of |
||||
|
||||
```meson |
||||
cc.check_header('GL/wglew.h', prefix : '#include <windows.h>\n#include <GL/glew.h>']) |
||||
``` |
||||
|
||||
## Flags removed from cpp/objcpp warning level 1 |
||||
|
||||
`-Wnon-virtual-dtor` is no longer implied by `meson setup -Dwarning_level=1`. |
||||
|
||||
## Developer environment improvements |
||||
|
||||
When cross compiling, the developer environment now sets all environment |
||||
variables for the HOST machine. It now also sets `QEMU_LD_PREFIX` to the |
||||
`sys_root` value from cross file if property is defined. That means that cross |
||||
compiled executables can often be run transparently on the build machine, for |
||||
example when cross compiling for aarch64 linux from x86_64 linux. |
||||
|
||||
A new argument `--workdir` has been added, by default it is set to build |
||||
directory. For example, `meson devenv -C builddir --workdir .` can be used to |
||||
remain in the current dir (often source dir) instead. |
||||
|
||||
`--dump` now prints shell commands like `FOO="/prepend/path:$FOO:/append/path"`, |
||||
using the literal `$FOO` instead of current value of `FOO` from environment. |
||||
This makes easier to evaluate those expressions in a different environment. |
||||
|
||||
## Deprecate `java.generate_native_headers`, rename to `java.native_headers` |
||||
|
||||
The functions operate in the exact same way. The new name matches more with |
||||
Meson function name styling. |
||||
|
||||
## rust.bindgen accepts a dependency argument |
||||
|
||||
The `bindgen` method of the `rust` module now accepts a dependencies argument. |
||||
Any include paths in these dependencies will be passed to the underlying call to |
||||
`clang`, and the call to `bindgen` will correctly depend on any generatd sources. |
||||
|
||||
## String arguments to the rust.bindgen include_directories argument |
||||
|
||||
Most other cases of include_directories accept strings as well as |
||||
`IncludeDirectory` objects, so lets do that here too for consistency. |
||||
|
||||
## The Rust module is stable |
||||
|
||||
Mesa is using the rust module in production, so it's time to mark it as stable. |
||||
|
||||
## `in` operator for strings |
||||
|
||||
`in` and `not in` operators now works on strings, in addition to arrays and |
||||
dictionaries. |
||||
|
||||
``` |
||||
fs = import('fs') |
||||
if 'something' in fs.read('somefile') |
||||
# True |
||||
endif |
||||
``` |
||||
|
||||
## `warning-level=everything` option |
||||
|
||||
The new `everything` value for the built-in `warning_level` enables roughly all applicable compiler warnings. |
||||
For clang and MSVC, this simply enables `-Weverything` or `/Wall`, respectively. |
||||
For GCC, meson enables warnings approximately equivalent to `-Weverything` from clang. |
||||
|
@ -1,18 +0,0 @@ |
||||
## Compiler check functions `prefix` kwargs accepts arrays |
||||
|
||||
The `prefix` kwarg that most compiler check functions support |
||||
now accepts an array in addition to a string. The elements of the |
||||
array will be concatenated separated by a newline. |
||||
|
||||
This makes it more readable to write checks that need multiple headers |
||||
to be included: |
||||
|
||||
```meson |
||||
cc.check_header('GL/wglew.h', prefix : ['#include <windows.h>', '#include <GL/glew.h>']) |
||||
``` |
||||
|
||||
instead of |
||||
|
||||
```meson |
||||
cc.check_header('GL/wglew.h', prefix : '#include <windows.h>\n#include <GL/glew.h>']) |
||||
``` |
@ -1,3 +0,0 @@ |
||||
## Flags removed from cpp/objcpp warning level 1 |
||||
|
||||
`-Wnon-virtual-dtor` is no longer implied by `meson setup -Dwarning_level=1`. |
@ -1,15 +0,0 @@ |
||||
## Developer environment improvements |
||||
|
||||
When cross compiling, the developer environment now sets all environment |
||||
variables for the HOST machine. It now also sets `QEMU_LD_PREFIX` to the |
||||
`sys_root` value from cross file if property is defined. That means that cross |
||||
compiled executables can often be run transparently on the build machine, for |
||||
example when cross compiling for aarch64 linux from x86_64 linux. |
||||
|
||||
A new argument `--workdir` has been added, by default it is set to build |
||||
directory. For example, `meson devenv -C builddir --workdir .` can be used to |
||||
remain in the current dir (often source dir) instead. |
||||
|
||||
`--dump` now prints shell commands like `FOO="/prepend/path:$FOO:/append/path"`, |
||||
using the literal `$FOO` instead of current value of `FOO` from environment. |
||||
This makes easier to evaluate those expressions in a different environment. |
@ -1,4 +0,0 @@ |
||||
## Deprecate `java.generate_native_headers`, rename to `java.native_headers` |
||||
|
||||
The functions operate in the exact same way. The new name matches more with |
||||
Meson function name styling. |
@ -1,5 +0,0 @@ |
||||
## rust.bindgen accepts a dependency argument |
||||
|
||||
The `bindgen` method of the `rust` module now accepts a dependencies argument. |
||||
Any include paths in these dependencies will be passed to the underlying call to |
||||
`clang`, and the call to `bindgen` will correctly depend on any generatd sources. |
@ -1,4 +0,0 @@ |
||||
## String arguments to the rust.bindgen include_directories argument |
||||
|
||||
Most other cases of include_directories accept strings as well as |
||||
`IncludeDirectory` objects, so lets do that here too for consistency. |
@ -1,3 +0,0 @@ |
||||
## The Rust module is stable |
||||
|
||||
Mesa is using the rust module in production, so it's time to mark it as stable. |
@ -1,11 +0,0 @@ |
||||
## `in` operator for strings |
||||
|
||||
`in` and `not in` operators now works on strings, in addition to arrays and |
||||
dictionaries. |
||||
|
||||
``` |
||||
fs = import('fs') |
||||
if 'something' in fs.read('somefile') |
||||
# True |
||||
endif |
||||
``` |
@ -1,5 +0,0 @@ |
||||
## `warning-level=everything` option |
||||
|
||||
The new `everything` value for the built-in `warning_level` enables roughly all applicable compiler warnings. |
||||
For clang and MSVC, this simply enables `-Weverything` or `/Wall`, respectively. |
||||
For GCC, meson enables warnings approximately equivalent to `-Weverything` from clang. |
Loading…
Reference in new issue