Update vcpkg triplets for static linking and release-only builds#53
Open
shauneccles wants to merge 31 commits intomainfrom
Open
Update vcpkg triplets for static linking and release-only builds#53shauneccles wants to merge 31 commits intomainfrom
shauneccles wants to merge 31 commits intomainfrom
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
Member
Author
|
@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 <21007065+shauneccles@users.noreply.github.com>
…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 <21007065+shauneccles@users.noreply.github.com>
Co-authored-by: shauneccles <21007065+shauneccles@users.noreply.github.com>
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 <21007065+shauneccles@users.noreply.github.com>
Fix Windows build: Remove rubberband due to static linking incompatibility
Member
Author
|
@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 <21007065+shauneccles@users.noreply.github.com>
Update Python README to reflect wheel features after static linking changes
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.
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.