Move build system to meson-python#174
Merged
Merged
Conversation
ndgrigorian
requested review from
antonwolfy,
jharlow-intel and
xaleryb
as code owners
April 8, 2026 02:34
ndgrigorian
marked this pull request as draft
April 8, 2026 03:59
ndgrigorian
force-pushed
the
use-meson-build
branch
4 times, most recently
from
April 8, 2026 06:35
1f7006a to
e209e46
Compare
ndgrigorian
marked this pull request as ready for review
April 8, 2026 06:51
ndgrigorian
force-pushed
the
use-meson-build
branch
from
April 8, 2026 18:20
e209e46 to
dfc8f4c
Compare
There was a problem hiding this comment.
Pull request overview
This PR migrates mkl-service from a setuptools/setup.py-driven build to a meson-python build, updating conda recipes and CI workflows accordingly, and adding an mkl runtime dependency.
Changes:
- Remove
setup.pyand define extension builds/install layout inmeson.build(C + Cython extensions, Python sources, tests). - Switch
pyproject.tomlbuild backend tomesonpyand addmklto runtime dependencies. - Update conda recipes and GitHub Actions workflows to build/install via
pip/python -m buildinstead ofsetup.py.
Reviewed changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Removed legacy setuptools build script. |
| pyproject.toml | Switched build backend to mesonpy, updated build requirements and runtime deps. |
| meson.build | Added Meson build definition for C/Cython extensions and installation layout. |
| mkl/_py_mkl_service.pyx | Added/introduced Cython wrapper implementation used by the public API. |
| conda-recipe/meta.yaml | Updated conda build requirements for Meson-based builds. |
| conda-recipe/build.sh | Updated wheel build/install flow (no setup.py). |
| conda-recipe/bld.bat | Removed setup.py clean step and MKLROOT usage. |
| conda-recipe-cf/meta.yaml | Updated conda-forge recipe host requirements for Meson-based builds. |
| conda-recipe-cf/build.sh | Switched to pip install . build/install flow. |
| conda-recipe-cf/bld.bat | Switched to pip install . build/install flow. |
| .github/workflows/build-with-standard-clang.yml | New CI job building with system clang. |
| .github/workflows/build-with-clang.yml | Updated IntelLLVM clang CI job to Meson-based install. |
| .github/workflows/build_pip.yml | New CI job testing editable install + (pre-)release NumPy in conda env. |
ndgrigorian
force-pushed
the
use-meson-build
branch
3 times, most recently
from
April 11, 2026 03:05
b3cd7c9 to
3fb7aff
Compare
antonwolfy
reviewed
Apr 24, 2026
antonwolfy
reviewed
Apr 24, 2026
antonwolfy
reviewed
Apr 24, 2026
antonwolfy
reviewed
Apr 24, 2026
antonwolfy
reviewed
Apr 24, 2026
antonwolfy
reviewed
Apr 24, 2026
ndgrigorian
force-pushed
the
use-meson-build
branch
from
May 10, 2026 01:12
ef09add to
ac6e9fc
Compare
ndgrigorian
force-pushed
the
use-meson-build
branch
from
May 15, 2026 20:08
ac6e9fc to
b39b64b
Compare
antonwolfy
reviewed
Jun 24, 2026
antonwolfy
reviewed
Jul 9, 2026
jharlow-intel
requested changes
Jul 10, 2026
jharlow-intel
left a comment
Collaborator
There was a problem hiding this comment.
Everything is good, but small README change request
Collaborator
|
@jharlow-intel, please let me know if you have more comments |
|
No more comments from my side |
jharlow-intel
approved these changes
Jul 20, 2026
jharlow-intel
left a comment
Collaborator
There was a problem hiding this comment.
This looks good to me! Only question is to keep python 3.10 support in or not but it'll be easy to pluck out later if we have to
…er than `install_rpath`. Meson rewrites `install_rpath` at install time (and the value is further mangled by conda-build relocation), which leaves published wheels without a working `$ORIGIN` entry. Passing `-Wl,-rpath,...` directly writes the RPATH into the binary verbatim -- matching the legacy setuptools behaviour -- so the wheel locates the MKL runtime without any post-build tooling.
…ntentionally doesn't emit a standalone wheel (conda-forge distributes conda packages, not wheels)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR proposes moving from
setuptoolstomeson-pythonas themkl-servicebuild systemmeson-pythonis already used by NumPy and allowssetup.pyto be removed (with its logic moved into themeson.buildscript)