New features (in development)

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.

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).

Added license keyword to pkgconfig.generate

When specified, it will add a License: attribute to the generated .pc file.

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.

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.

lib = static_library('mylib', 'mylib.cpp')
exe = executable('prog', 'main.swift', 'mylib.h', link_with: lib)

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.

The results of the search are