aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown/snippets')
-rw-r--r--docs/markdown/snippets/array-flatten.md5
-rw-r--r--docs/markdown/snippets/clang-tidy-improvement.md5
-rw-r--r--docs/markdown/snippets/eld-support.md6
-rw-r--r--docs/markdown/snippets/fs_suffix.md4
-rw-r--r--docs/markdown/snippets/gnome-rsp-files-support.md8
-rw-r--r--docs/markdown/snippets/meson-format-stdin-editorconfig.md5
-rw-r--r--docs/markdown/snippets/pkgconfig-gen-license.md3
-rw-r--r--docs/markdown/snippets/rust-dynamic-std.md7
-rw-r--r--docs/markdown/snippets/rust-mixed.md5
-rw-r--r--docs/markdown/snippets/swift-module-name.md9
-rw-r--r--docs/markdown/snippets/swift-parse-as-library.md8
-rw-r--r--docs/markdown/snippets/swift-pass-c-compiler-options.md9
-rw-r--r--docs/markdown/snippets/swift_cxx_interoperability.md23
-rw-r--r--docs/markdown/snippets/vs2010-masm-support.md8
-rw-r--r--docs/markdown/snippets/wrapdbv1.md5
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.