-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
[boost-modular-build-helper] Support boost architecture arm+x86 (#25294) #25299
[boost-modular-build-helper] Support boost architecture arm+x86 (#25294) #25299
Conversation
I'd like @ras0219-msft to review this changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change LGTM, however I want to note here:
VCPKG_TARGET_ARCHITECTURE
as a list is not currently an officially supported, 1st class feature of vcpkg. We have and will continue to accept PRs improving support around the edges because it does work for users today for a substantial subset of ports.
However we are very concerned about its long-term sustainability for the broader ecosystem. Many libraries (especially older ones) cannot be reasonably retrofitted to handle it due to things like inline assembly, compile tests, or even simple #ifdef
s. It is also generally a large edge case -- it makes OSX extremely weird compared to other platforms which expect to be able to have a simple STREQUAL
chain.
We are searching for a more complete and less "special" solution; for example by running the full install tree for x64-osx and arm64-osx and then using lipo
to merge the binaries together to produce the unified packages. This would cleanly solve the problem separately from the underlying ports and buildsystems, enabling them to be much simpler, more uniform, and (importantly) more tested.
As mentioned above we still haven't come to a full conclusion on what we want the long-term solution to be so we're still happy to accept these PRs that solve real problems for real people today.
Describe the pull request
What does your PR fix?
Fixes #25294, , allowing boost libraries to be built when VCPKG_TARGET_ARCHITECTURE is a list of architectures arm64 and x86_64.
Which triplets are supported/not supported? Have you updated the CI baseline?
Needed to support triplet arm64-x64-osx that builds unified libraries. Not yet contributed to vcpkg proper.
I have not updated the ci baseline.
Does your PR follow the maintainer guide?
Yes
If you have added/updated a port: Have you run
./vcpkg x-add-version --all
and committed the result?Yes