Meson 相容性

meson-python 與 Meson 緊密整合,以產生 Python wheel 和 sdist。因此,正確的操作取決於 Meson 實作的功能。meson-python 努力維持與盡可能舊的 Meson 版本的相容性。然而,某些功能僅在較新的 Meson 版本中可用。

0.64.0

Meson 0.64.0 是最低要求的版本。

1.1.0

需要 Meson 1.1.0 或更高版本才能支援 Meson install_subdir() 和類似的安裝函式的 exclude_filesexclude_directories 參數。在較舊的 Meson 版本中,這些參數沒有效果。

1.2.0

需要 Meson 1.2.0 或更高版本才能支援可以傳遞給 meson install--skip-subprojects 選項,以不包含 Python wheel 中某些或所有子專案安裝的檔案。

1.2.3

需要 Meson 1.2.3 或更高版本才能支援 Python 3.12 或更高版本。自 1.2.3 版起,Meson 不再依賴 distutils 模組,該模組已從 Python 3.12 的標準函式庫中移除。當安裝在 Python 3.12 上時,meson-python 依賴 Meson 1.2.3 或更高版本。

1.3.0

需要 Meson 1.3.0 或更高版本才能編譯以 Python 有限 API 為目標的擴充模組。

建置前端預設在隔離的 Python 環境中建置套件,其中安裝了建置相依性。大多數情況下,除非套件或其建置相依性明確宣告版本限制,否則會安裝最新版本的建置相依性。但是,如果套件使用僅與特定 Meson 版本結合實作的功能,建議在 pyproject.toml 中明確宣告版本需求。例如

[build-system]
build-backend = 'mesonpy'
requires = [
  'meson-python',
  'meson >= 1.1.0',
]