Skip to content

Refactor multi-platform wheel builds for libuuu wrapper#487

Merged
nxpfrankli merged 4 commits intonxp-imx:masterfrom
tjaros:master
Aug 15, 2025
Merged

Refactor multi-platform wheel builds for libuuu wrapper#487
nxpfrankli merged 4 commits intonxp-imx:masterfrom
tjaros:master

Conversation

@tjaros
Copy link
Copy Markdown
Contributor

@tjaros tjaros commented Aug 14, 2025

Description

Refactors build system to properly generate platform-specific wheels for Linux (x86_64/aarch64), macOS (x86_64/arm64), and Windows (x86_64). Wheels now include only the specific dynamic library built for the exact platform and architecture.

Changes:

  • Add aarch64 support
  • Add platform-specific build scripts with vcpkg integration
  • Switch to cibuildwheel for proper wheel generation
  • Implement custom build backend to force platform wheels
  • Update library loading to use lib/// structure

@tjaros tjaros changed the title Refactor multi-platform wheel builds for libuuu wrapper Draft: Refactor multi-platform wheel builds for libuuu wrapper Aug 14, 2025
@tjaros tjaros changed the title Draft: Refactor multi-platform wheel builds for libuuu wrapper Refactor multi-platform wheel builds for libuuu wrapper Aug 14, 2025
Copy link
Copy Markdown
Contributor

@nxpfrankli nxpfrankli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need your signed-off-by tags for each commit message

Comment thread wrapper/libuuu/libuuu.py
Comment thread wrapper/tests/test_basic.py
Comment thread wrapper/CMakeLists.txt
Comment thread wrapper/MANIFEST.in
tjaros added 4 commits August 15, 2025 12:34
- added aarch64 linux support
- added platform specific build scripts with vcpkg integration

Signed-off-by: Tomas Jaros <tomas.jaros@nxp.com>
Signed-off-by: Tomas Jaros <tomas.jaros@nxp.com>
Signed-off-by: Tomas Jaros <tomas.jaros@nxp.com>
Originally, wheels were being built with all dynamic libs included
across all different platforms, which made size of the wheel large.
Now wheels are built only with the one platform compatible library.

Other changes:
- Removed setuptools-scm as a runtime dependency, as that's undesirable
- Added custom build backend to create py3-none wheels to be compatible
  with all versions of python

Signed-off-by: Tomas Jaros <tomas.jaros@nxp.com>
@tjaros
Copy link
Copy Markdown
Contributor Author

tjaros commented Aug 15, 2025

I've added commit sign-offs, and put cmake requirement change, tests, ci changes, and wrapper changes into separate patches.

@tjaros tjaros requested a review from nxpfrankli August 15, 2025 12:29
@nxpfrankli nxpfrankli merged commit 8d23c39 into nxp-imx:master Aug 15, 2025
18 of 20 checks passed
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.

2 participants