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