Meson compatibility¶
meson-python tightly integrates with Meson to produce Python
wheels and sdists. Therefore, correct operation depends on
functionality implemented by Meson. meson-python strives to
maintain compatibility with as old as possible Meson releases.
However, some functionality is available only with more recent Meson
versions.
- 0.64.0¶
Meson is 0.64.0 is the minimum required version.
- 1.1.0¶
Meson 1.1.0 or later is required to support the
exclude_filesandexclude_directoriesarguments to Mesoninstall_subdir()and similar installation functions. On older Meson versions, these arguments have no effect.
- 1.2.0¶
Meson 1.2.0 or later is required to support the
--skip-subprojectsoption that can be passed tomeson installto not include files installed by some or all subprojects in the Python wheel.
- 1.2.3¶
Meson 1.2.3 or later is required to support Python 3.12 or later. Since version 1.2.3, Meson does not rely anymore on the
distutilsmodule, which was removed from the standard library in Python 3.12. When installed on Python 3.12,meson-pythondepends on Meson 1.2.3 or later.
- 1.3.0¶
Meson 1.3.0 or later is required for compiling extension modules targeting the Python limited API.
- 1.6.0¶
Meson 1.6.0 or later is required to support
licenseandlicense-filesdynamic fields inpyproject.tomland to populate the package license and license files from the ones declared via theproject()call inmeson.build.
- 1.9.0¶
Meson 1.9.0 or later is required to support building for iOS.
Build front-ends by default build packages in an isolated Python
environment where build dependencies are installed. Most often, unless
a package or its build dependencies declare explicitly a version
constraint, this results in the most recent version of the build
dependencies to be installed. However, if a package uses
functionalities implemented only in combination with a specific Meson
version, it is recommended to explicitly declare a version
requirement in pyproject.toml. For example:
[build-system]
build-backend = 'mesonpy'
requires = [
'meson-python',
'meson >= 1.1.0',
]