diff options
Diffstat (limited to 'docs/markdown/snippets')
-rw-r--r-- | docs/markdown/snippets/array-flatten.md | 5 | ||||
-rw-r--r-- | docs/markdown/snippets/clang-tidy-improvement.md | 5 | ||||
-rw-r--r-- | docs/markdown/snippets/eld-support.md | 6 | ||||
-rw-r--r-- | docs/markdown/snippets/fs_suffix.md | 4 | ||||
-rw-r--r-- | docs/markdown/snippets/gnome-rsp-files-support.md | 8 | ||||
-rw-r--r-- | docs/markdown/snippets/meson-format-stdin-editorconfig.md | 5 | ||||
-rw-r--r-- | docs/markdown/snippets/pkgconfig-gen-license.md | 3 | ||||
-rw-r--r-- | docs/markdown/snippets/rust-dynamic-std.md | 7 | ||||
-rw-r--r-- | docs/markdown/snippets/rust-mixed.md | 5 | ||||
-rw-r--r-- | docs/markdown/snippets/swift-module-name.md | 9 | ||||
-rw-r--r-- | docs/markdown/snippets/swift-parse-as-library.md | 8 | ||||
-rw-r--r-- | docs/markdown/snippets/swift-pass-c-compiler-options.md | 9 | ||||
-rw-r--r-- | docs/markdown/snippets/swift_cxx_interoperability.md | 23 | ||||
-rw-r--r-- | docs/markdown/snippets/vs2010-masm-support.md | 8 | ||||
-rw-r--r-- | docs/markdown/snippets/wrapdbv1.md | 5 |
15 files changed, 110 insertions, 0 deletions
diff --git a/docs/markdown/snippets/array-flatten.md b/docs/markdown/snippets/array-flatten.md new file mode 100644 index 0000000..eaab19c --- /dev/null +++ b/docs/markdown/snippets/array-flatten.md @@ -0,0 +1,5 @@ +## Array `.flatten()` method + +Arrays now have a `.flatten()` method, which turns nested arrays into a single +flat array. This provides the same effect that Meson often does to arrays +internally, such as when passed to most function arguments. diff --git a/docs/markdown/snippets/clang-tidy-improvement.md b/docs/markdown/snippets/clang-tidy-improvement.md new file mode 100644 index 0000000..f79463e --- /dev/null +++ b/docs/markdown/snippets/clang-tidy-improvement.md @@ -0,0 +1,5 @@ +## `clang-tidy`'s auto-generated targets correctly select source files + +In previous versions, the target would run `clang-tidy` on _every_ C-like source files (.c, .h, .cpp, .hpp). It did not work correctly because some files, especially headers, are not intended to be consumed as is. + +It will now run only on source files participating in targets. 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/fs_suffix.md b/docs/markdown/snippets/fs_suffix.md new file mode 100644 index 0000000..7059008 --- /dev/null +++ b/docs/markdown/snippets/fs_suffix.md @@ -0,0 +1,4 @@ +## Added suffix function to the FS module + +The basename and stem were already available. For completeness, expose also the +suffix. 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/meson-format-stdin-editorconfig.md b/docs/markdown/snippets/meson-format-stdin-editorconfig.md new file mode 100644 index 0000000..4a848b7 --- /dev/null +++ b/docs/markdown/snippets/meson-format-stdin-editorconfig.md @@ -0,0 +1,5 @@ +## meson format now has a --source-file-path argument when reading from stdin + +This argument is mandatory to mix stdin reading with the use of editor config. +It allows to know where to look for the .editorconfig, and to use the right +section of .editorconfig based on the parsed file name. 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-dynamic-std.md b/docs/markdown/snippets/rust-dynamic-std.md new file mode 100644 index 0000000..ac4e8a7 --- /dev/null +++ b/docs/markdown/snippets/rust-dynamic-std.md @@ -0,0 +1,7 @@ +## New experimental option `rust_dynamic_std` + +A new option `rust_dynamic_std` can be used to link Rust programs so +that they use a dynamic library for the Rust `libstd`. + +Right now, `staticlib` crates cannot be produced if `rust_dynamic_std` is +true, but this may change in the future. diff --git a/docs/markdown/snippets/rust-mixed.md b/docs/markdown/snippets/rust-mixed.md new file mode 100644 index 0000000..d42ab90 --- /dev/null +++ b/docs/markdown/snippets/rust-mixed.md @@ -0,0 +1,5 @@ +## Rust and non-Rust sources in the same target + +Meson now supports creating a single target with Rust and non Rust +sources mixed together. In this case, if specified, `link_language` +must be set to `rust`. diff --git a/docs/markdown/snippets/swift-module-name.md b/docs/markdown/snippets/swift-module-name.md new file mode 100644 index 0000000..689dd84 --- /dev/null +++ b/docs/markdown/snippets/swift-module-name.md @@ -0,0 +1,9 @@ +## Explicitly setting Swift module name is now supported + +It is now possible to set the Swift module name for a target via the +*swift_module_name* target kwarg, overriding the default inferred from the +target name. + +```meson +lib = library('foo', 'foo.swift', swift_module_name: 'Foo') +``` diff --git a/docs/markdown/snippets/swift-parse-as-library.md b/docs/markdown/snippets/swift-parse-as-library.md new file mode 100644 index 0000000..5208899 --- /dev/null +++ b/docs/markdown/snippets/swift-parse-as-library.md @@ -0,0 +1,8 @@ +## Top-level statement handling in Swift libraries + +The Swift compiler normally treats modules with a single source +file (and files named main.swift) to run top-level code at program +start. This emits a main symbol which is usually undesirable in a +library target. Meson now automatically passes the *-parse-as-library* +flag to the Swift compiler in case of single-file library targets to +disable this behavior unless the source file is called main.swift. 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..90904b9 --- /dev/null +++ b/docs/markdown/snippets/swift-pass-c-compiler-options.md @@ -0,0 +1,9 @@ +## Swift compiler receives select C family compiler options + +Meson now passes select few C family (C/C++/Obj-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_cxx_interoperability.md b/docs/markdown/snippets/swift_cxx_interoperability.md new file mode 100644 index 0000000..9e324f9 --- /dev/null +++ b/docs/markdown/snippets/swift_cxx_interoperability.md @@ -0,0 +1,23 @@ +## Swift/C++ interoperability is now supported + +It is now possible to create Swift executables that can link to C++ or +Objective-C++ libraries. To enable this feature, set the target kwarg +_swift\_interoperability\_mode_ to 'cpp'. + +To import C++ code, specify a bridging header in the Swift target's +sources, or use another way such as adding a directory containing a +Clang module map to its include path. + +Note: Enabling C++ interoperability in a library target is a breaking +change. Swift libraries that enable it need their consumers to enable +it as well, as per [the Swift documentation][1]. + +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, swift_interoperability_mode: 'cpp') +``` + +[1]: https://www.swift.org/documentation/cxx-interop/project-build-setup/#vending-packages-that-enable-c-interoperability 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. diff --git a/docs/markdown/snippets/wrapdbv1.md b/docs/markdown/snippets/wrapdbv1.md new file mode 100644 index 0000000..4f0c847 --- /dev/null +++ b/docs/markdown/snippets/wrapdbv1.md @@ -0,0 +1,5 @@ +## Limited support for WrapDB v1 + +WrapDB v1 has been discontinued for several years, Meson will now print a +deprecation warning if a v1 URL is still being used. Wraps can be updated to +latest version using `meson wrap update` command. |