aboutsummaryrefslogtreecommitdiffstats
path: root/meson/docs/markdown/Release-notes-for-0.42.0.md
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/docs/markdown/Release-notes-for-0.42.0.md
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/docs/markdown/Release-notes-for-0.42.0.md')
-rw-r--r--meson/docs/markdown/Release-notes-for-0.42.0.md148
1 files changed, 148 insertions, 0 deletions
diff --git a/meson/docs/markdown/Release-notes-for-0.42.0.md b/meson/docs/markdown/Release-notes-for-0.42.0.md
new file mode 100644
index 000000000..585380b1a
--- /dev/null
+++ b/meson/docs/markdown/Release-notes-for-0.42.0.md
@@ -0,0 +1,148 @@
+---
+title: Release 0.42
+short-description: Release notes for 0.42
+...
+
+# 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.
+
+## Vulkan dependency module
+
+Vulkan can now be used as native dependency. The dependency module
+will detect the VULKAN_SDK environment variable or otherwise try to
+receive the vulkan library and header via pkgconfig or from the
+system.
+
+## Limiting the maximum number of linker processes
+
+With the Ninja backend it is now possible to limit the maximum number of
+concurrent linker processes. This is usually only needed for projects
+that have many large link steps that cause the system to run out of
+memory if they are run in parallel. This limit can be set with the
+new `backend_max_links` option.
+
+## 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.
+
+## Support for MPI dependency
+
+MPI is now supported as a dependency. Because dependencies are
+language-specific, you must specify the requested language with the
+`language` keyword, i.e., `dependency('mpi', language='c')` will
+request the C MPI headers and libraries. See [the MPI
+dependency](Dependencies.md#mpi) for more information.
+
+## Allow excluding files or directories from `install_subdir`
+
+The [`install_subdir`](Reference-manual.md#install_subdir) command
+accepts the new `exclude_files` and `exclude_directories` keyword
+arguments that allow specified files or directories to be excluded
+from the installed subdirectory.
+
+## Make all Meson functionality invokable via the main executable
+
+Previously Meson had multiple executables such as `mesonintrospect`
+and `mesontest`. They are now invokable via the main Meson executable
+like this:
+
+ meson configure <arguments> # equivalent to mesonconf <options>
+ meson test <arguments> # equivalent to mesontest <arguments>
+
+The old commands are still available but they are deprecated
+and will be removed in some future release.
+
+## Pcap dependency detector
+
+Meson will automatically obtain dependency information for pcap
+using the `pcap-config` tool. It is used like any other dependency:
+
+```meson
+pcap_dep = dependency('pcap', version : '>=1.0')
+```
+
+## GNOME module mkenums_simple() addition
+
+Most libraries and applications use the same standard templates for
+glib-mkenums. There is now a new `mkenums_simple()` convenience method
+that passes those default templates to glib-mkenums and allows some tweaks
+such as optional function decorators or leading underscores.