-
Notifications
You must be signed in to change notification settings - Fork 2
Update vcpkg triplets for static linking and release-only builds #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…ds on Windows; update comments for clarity and remove unnecessary lines.
…raries; adjust includes in strutils.c for compatibility
… C++ stdlib linking for Windows
Fix numpy include Update docs uv lock
…on Windows; remove MinGW triplets for improved compatibility and build efficiency Platform specific test commands to allow local cibw testing
…ion and clarify CMake settings
…ncies and enhance CI handling
…let handling and enhance CI/CD support
…e vcpkg dependency setup for static linking
…or static linking and clarify vcpkg dependency installation
… and adjust compiler settings for static linking
…ildwheel and install delvewheel for DLL bundling
…ion and update before-build step for cibuildwheel compatibility
…r static linking and update dependencies for rubberband support
…static libraries and Python extension linking
|
@copilot Please review the GitHub action build logs for windows and identify the issues with building in CI. Once you have identified all of the issues please fix them. |
|
@shauneccles I've opened a new pull request, #54, to work on those changes. Once the pull request is ready, I'll request review from you. |
- Add sleefdft library detection in meson.build for rubberband FFT support - Fix python/meson.build to properly include platform-specific system libraries - Initialize pyaubio_extra_deps and include it in pyaubio_deps - Windows: Add ws2_32, secur32, bcrypt, mfuuid, strmiids, ole32 - Linux: Add pthread and libstdc++ Co-authored-by: shauneccles <[email protected]>
…bility Root cause: vcpkg's rubberband package on Windows expects SLEEF as DLL (import library with __imp_ symbols), not static library. This is a vcpkg packaging limitation that prevents true static linking of rubberband. Changes: - Update vcpkg.json: Change rubberband and sleef platform from "!linux" to "osx" - Windows builds will use dummy timestretch/pitchshift implementations - macOS retains full rubberband support - Documented decision in WINDOWS_RUBBERBAND_REMOVAL.md Impact: Windows users lose rubberband time-stretch/pitch-shift features, but core aubio functionality (onset, pitch, tempo, MFCC) remains fully functional. Co-authored-by: shauneccles <[email protected]>
Co-authored-by: shauneccles <[email protected]>
The SLEEF DFT library detection was added in f234ec3 to try to fix rubberband linking on Windows. Since we've removed rubberband from Windows builds (now macOS-only), this detection is no longer needed. The base SLEEF library detection remains for macOS rubberband support. Kept python/meson.build changes as they fix a bug where platform-specific libraries were being added to the wrong 'dependencies' variable instead of 'pyaubio_deps'. Windows libraries (ws2_32, etc.) are still needed for FFmpeg static linking. Co-authored-by: shauneccles <[email protected]>
Fix Windows build: Remove rubberband due to static linking incompatibility
|
@copilot Update the readme in the python bindings to accurately reflect the wheels features given the changes in this PR. |
|
@shauneccles I've opened a new pull request, #55, to work on those changes. Once the pull request is ready, I'll request review from you. |
…hanges Co-authored-by: shauneccles <[email protected]>
Update Python README to reflect wheel features after static linking changes
Refactor vcpkg triplet files to support static linking and release-only builds across Windows, Linux, and macOS. Adjust meson-python settings for compatibility and optimize build times by adding new triplets. Update installation commands to accommodate unsupported builds and ensure proper C++ stdlib linking on Windows.