Skip to content

Init a new branch to update to meson v1.11#27

Draft
seiko2plus wants to merge 25 commits into
numpy:main-numpymeson-1.11from
seiko2plus:module_feature_1_11
Draft

Init a new branch to update to meson v1.11#27
seiko2plus wants to merge 25 commits into
numpy:main-numpymeson-1.11from
seiko2plus:module_feature_1_11

Conversation

@seiko2plus

@seiko2plus seiko2plus commented Jun 13, 2026

Copy link
Copy Markdown
Member

seiko2plus and others added 18 commits June 13, 2026 23:55
  This module aims to provide a more dynamic way to control common
  features between compilers that would generally require special
  headers, arguments, or compile-time test cases, quite ideal
  to manage CPU features and solve compatibility issues.
  and brings X86 CPU features
  - Removes CPU features implmentation and move them NumPy meson scripts

  - Removes attr 'header', since it can be handeled within
    a configuration file
  - re-implment method test, make it more simple

  - Implment method `multi_targets`
    Handels multi_targets via meson script was pretty anoyning
    from python make it much simpler
  - Improve multi_targets() method:

    * rename multi_target() to multi_targets() use plural to indicates handling more than one CPU target
    * Split the function into multiple smaller functions for better organization.
    * Modify the function to return a single library array instead of a list of libraries.
    * Avoid returning the result of testing the enabled features to keep it
    * simple.
    * Enhance debugging capabilities by printing the test results of enabled targets.
    * Avoid returns static_lib instead wraps it with another object
      to reduce the number of final generated objects also
      to sort the all objects based on lowest interest
    * validate the sort of dispatch features

  - fix mypy
  - init the module doc
  - allow disables the cache
  - fix method `features.new` name during trigger arguments errors
  - generate config files inside the builddir instead
  - add test cases
  - cache tests within coredata
  - fix duplicate baseline build
  - refactor module name from `feature` to `features`
  - fix python typying
- Attributes without match were never actually added to the list
- Only the last conflict actually had an effect, earlier results were
  discarded
rgommers and others added 7 commits June 14, 2026 04:34
…dependencies

Also a bit of refactoring and improvements to OpenBLAS and MKL logic
to reduce the amount of unnecessary checks.
The two things fixed here:
- `xcrun` isn't available on very old versions (MacPorts still supports
  10.5/10.6)
- Version comparison is done correctly now with
  `mesonlib.version_compare`

See numpy/numpy#25406 for the bug report.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants