diff options
Diffstat (limited to 'docs/markdown/snippets')
20 files changed, 46 insertions, 112 deletions
diff --git a/docs/markdown/snippets/android-exe-type.md b/docs/markdown/snippets/android-exe-type.md deleted file mode 100644 index ce4d946..0000000 --- a/docs/markdown/snippets/android-exe-type.md +++ /dev/null @@ -1,10 +0,0 @@ -## New argument `android_exe_type` for executables - -Android application executables actually need to be linked -as a shared object, which is loaded from a pre-warmed JVM. -Meson projects can now specify a new argument `android_exe_type` -and set it to `application`, in order produce such a shared library -only on Android targets. - -This makes it possible to use the same `meson.build` file -for both Android and non-Android systems. diff --git a/docs/markdown/snippets/b_sanitizer_changes.md b/docs/markdown/snippets/b_sanitizer_changes.md deleted file mode 100644 index f726d70..0000000 --- a/docs/markdown/snippets/b_sanitizer_changes.md +++ /dev/null @@ -1,17 +0,0 @@ -## Changes to the b_sanitize option - -Before 1.8 the `b_sanitize` option was a combo option, which is an enumerated -set of values. In 1.8 this was changed to a free-form array of options where -available sanitizers are not hardcoded anymore but instead verified via a -compiler check. - -This solves a number of longstanding issues such as: - - - Sanitizers may be supported by a compiler, but not on a specific platform - (OpenBSD). - - New sanitizers are not recognized by Meson. - - Using sanitizers in previously-unsupported combinations. - -To not break backwards compatibility, calling `get_option('b_sanitize')` -continues to return the configured value as a string, with a guarantee that -`address,undefined` remains ordered. diff --git a/docs/markdown/snippets/c2y.md b/docs/markdown/snippets/c2y.md deleted file mode 100644 index 4b647f8..0000000 --- a/docs/markdown/snippets/c2y.md +++ /dev/null @@ -1,4 +0,0 @@ -## New C standard `c2y` (and `gnu2y`) - -The `c2y`` standard and its companion `gnu2y` are now supported -when using either Clang 19.0.0 or newer, or GCC 15.0.0 or newer. diff --git a/docs/markdown/snippets/eld-support.md b/docs/markdown/snippets/eld-support.md new file mode 100644 index 0000000..cc854fa --- /dev/null +++ b/docs/markdown/snippets/eld-support.md @@ -0,0 +1,6 @@ +## Added Qualcomm's embedded linker, eld + +Qualcomm recently open-sourced their embedded linker. +https://github.com/qualcomm/eld + +Meson users can now use this linker. diff --git a/docs/markdown/snippets/gnome-rsp-files-support.md b/docs/markdown/snippets/gnome-rsp-files-support.md new file mode 100644 index 0000000..29c9082 --- /dev/null +++ b/docs/markdown/snippets/gnome-rsp-files-support.md @@ -0,0 +1,8 @@ +## Support response files for custom targets + +When using the Ninja backend, Meson can now pass arguments to supported tools +through response files. + +In this release it's enabled only for the Gnome module, fixing calling +`gnome.mkenums()` with a large set of files on Windows (requires +Glib 2.59 or higher). diff --git a/docs/markdown/snippets/i18n_xgettext.md b/docs/markdown/snippets/i18n_xgettext.md deleted file mode 100644 index 0ad0a14..0000000 --- a/docs/markdown/snippets/i18n_xgettext.md +++ /dev/null @@ -1,12 +0,0 @@ -## i18n module xgettext - -There is a new `xgettext` function in `i18n` module that acts as a -wrapper around `xgettext`. It allows to extract strings to translate from -source files. - -This function is convenient, because: -- It can find the sources files from a build target; -- It will use an intermediate file when the number of source files is too - big to be handled directly from the command line; -- It is able to get strings to translate from the dependencies of the given - targets. diff --git a/docs/markdown/snippets/multiple_version_compare.md b/docs/markdown/snippets/multiple_version_compare.md deleted file mode 100644 index 5e8c758..0000000 --- a/docs/markdown/snippets/multiple_version_compare.md +++ /dev/null @@ -1,8 +0,0 @@ -## `version_compare` now accept multiple compare strings - -Is it now possible to compare version against multiple values, to check for -a range of version for instance. - -```meson -'1.5'.version_compare('>=1', '<2') -``` diff --git a/docs/markdown/snippets/objc-cpp.md b/docs/markdown/snippets/objc-cpp.md deleted file mode 100644 index 3d22ccb..0000000 --- a/docs/markdown/snippets/objc-cpp.md +++ /dev/null @@ -1,8 +0,0 @@ -## Improvements to Objective-C and Objective-C++ - -Meson does not assume anymore that gcc/g++ always support -Objective-C and Objective-C++, and instead checks that they -can actually do a basic compile. - -Furthermore, Objective-C and Objective-C++ now support the -same language standards as C and C++ respectively. diff --git a/docs/markdown/snippets/optionrefactor.md b/docs/markdown/snippets/optionrefactor.md deleted file mode 100644 index 53dbdbc..0000000 --- a/docs/markdown/snippets/optionrefactor.md +++ /dev/null @@ -1,19 +0,0 @@ -## Per project subproject options rewrite - -You can now define per-subproject values for all shared configuration -options. As an example you might want to enable optimizations on only -one subproject: - - meson configure -Dnumbercruncher:optimization=3 - -Subproject specific values can be removed with -U - - meson configure -Unumbercruncher:optimization - -This is a major change in how options are handled, and the -implementation will evolve over the next few releases of Meson. If -this change causes an error in your builds, please [report an issue on -GitHub](https://github.com/mesonbuild/meson/issues/new). - -We have tried to keep backwards compatibility as much as possible, but -this may lead to some build breakage. diff --git a/docs/markdown/snippets/pkgconfig-gen-license.md b/docs/markdown/snippets/pkgconfig-gen-license.md new file mode 100644 index 0000000..c2e6818 --- /dev/null +++ b/docs/markdown/snippets/pkgconfig-gen-license.md @@ -0,0 +1,3 @@ +## Added license keyword to pkgconfig.generate + +When specified, it will add a `License:` attribute to the generated .pc file. diff --git a/docs/markdown/snippets/rust-objects.md b/docs/markdown/snippets/rust-objects.md deleted file mode 100644 index 575e1f6..0000000 --- a/docs/markdown/snippets/rust-objects.md +++ /dev/null @@ -1,4 +0,0 @@ -## `objects` added correctly to Rust executables - -Any objects included in a Rust executable were previously ignored. They -are now added correctly. diff --git a/docs/markdown/snippets/rust-test-link-whole.md b/docs/markdown/snippets/rust-test-link-whole.md deleted file mode 100644 index f3d006d..0000000 --- a/docs/markdown/snippets/rust-test-link-whole.md +++ /dev/null @@ -1,4 +0,0 @@ -## `rust.test` now supports `link_whole` - -The `test` function in the `rust` module now supports the `link_whole` -keyword argument in addition to `link_with` and `dependencies`. diff --git a/docs/markdown/snippets/rustdoc.md b/docs/markdown/snippets/rustdoc.md deleted file mode 100644 index b0b64aa..0000000 --- a/docs/markdown/snippets/rustdoc.md +++ /dev/null @@ -1,6 +0,0 @@ -## Meson can run "rustdoc" on Rust projects - -Meson now defines a `rustdoc` target if the project -uses the Rust programming language. The target runs rustdoc on all Rust -sources, using the `rustdoc` program from the same Rust toolchain as the -`rustc` compiler. diff --git a/docs/markdown/snippets/stabilized-wayland.md b/docs/markdown/snippets/stabilized-wayland.md deleted file mode 100644 index 3b132e6..0000000 --- a/docs/markdown/snippets/stabilized-wayland.md +++ /dev/null @@ -1,4 +0,0 @@ -## The Wayland module is stable - -The Wayland module has been tested in several projects and had the -last breaking change in Meson 0.64.0; it is now marked as stable. diff --git a/docs/markdown/snippets/swift-pass-c-compiler-options.md b/docs/markdown/snippets/swift-pass-c-compiler-options.md new file mode 100644 index 0000000..3610a8e --- /dev/null +++ b/docs/markdown/snippets/swift-pass-c-compiler-options.md @@ -0,0 +1,8 @@ +## Swift compiler receives select C family compiler options + +Meson now passes select few C family (C/Obj-C) compiler options to the +Swift compiler, notably *-std=*, in order to improve the compatibility +of C code as interpreted by the C compiler and the Swift compiler. + +NB: This does not include any of the options set in the target's +c_flags. diff --git a/docs/markdown/snippets/swift-std.md b/docs/markdown/snippets/swift-std.md deleted file mode 100644 index 64fe70c..0000000 --- a/docs/markdown/snippets/swift-std.md +++ /dev/null @@ -1,4 +0,0 @@ -## New `swift_std` compiler option - -A new compiler option allows to set the language version that is passed -to swiftc (`none`, `4`, `4.2`, `5` or `6`). diff --git a/docs/markdown/snippets/swift_cxx_interoperability.md b/docs/markdown/snippets/swift_cxx_interoperability.md new file mode 100644 index 0000000..f18e114 --- /dev/null +++ b/docs/markdown/snippets/swift_cxx_interoperability.md @@ -0,0 +1,13 @@ +## Swift/C++ interoperability is now supported + +It is now possible to create Swift executables that can link to C++ or +Objective-C++ libraries. Only specifying a bridging header for the Swift +target is required. + +Swift 5.9 is required to use this feature. Xcode 15 is required if the +Xcode backend is used. + +```meson +lib = static_library('mylib', 'mylib.cpp') +exe = executable('prog', 'main.swift', 'mylib.h', link_with: lib) +``` diff --git a/docs/markdown/snippets/test-slicing.md b/docs/markdown/snippets/test-slicing.md deleted file mode 100644 index 180b9ac..0000000 --- a/docs/markdown/snippets/test-slicing.md +++ /dev/null @@ -1,6 +0,0 @@ -## New option to execute a slice of tests - -When tests take a long time to run a common strategy is to slice up the tests -into multiple sets, where each set is executed on a separate machine. You can -now use the `--slice i/n` argument for `meson test` to create `n` slices and -execute the `ith` slice. diff --git a/docs/markdown/snippets/valgrind_test.md b/docs/markdown/snippets/valgrind_test.md deleted file mode 100644 index 0787300..0000000 --- a/docs/markdown/snippets/valgrind_test.md +++ /dev/null @@ -1,6 +0,0 @@ -## Valgrind now fails tests if errors are found - -Valgrind does not reflect an error in its exit code by default, meaning -a test may silently pass despite memory errors. Meson now exports -`VALGRIND_OPTS` such that Valgrind will exit with status 1 to indicate -an error if `VALGRIND_OPTS` is not set in the environment. diff --git a/docs/markdown/snippets/vs2010-masm-support.md b/docs/markdown/snippets/vs2010-masm-support.md new file mode 100644 index 0000000..840cbf3 --- /dev/null +++ b/docs/markdown/snippets/vs2010-masm-support.md @@ -0,0 +1,8 @@ +## Support for MASM in Visual Studio backends + +Previously, assembling `.masm` files with Microsoft's Macro Assembler is only +available on the Ninja backend. This now also works on Visual Studio backends. + +Note that building ARM64EC code using `ml64.exe` is currently unimplemented in +both of the backends. If you need mixing x64 and Arm64 in your project, please +file an issue on GitHub. |