-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Enable building prebuilts on linux hosts without docker. #8269
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
Conversation
Also removed the deletion of the stage directory so we can share it across docker invocations for each distro.
Now that we're not using the host toolchain, we need to be able to override the hostPlatform in our tests. Added this to the custom prebuilts manager and removed the custom host tuple we had added.
@swift-ci please test |
@swift-ci please test windows |
#elseif arch(x86_64) | ||
arch = .x86_64 | ||
#endif | ||
guard let arch else { |
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.
@dschaefer2, this recent change broke building SwiftPM 6.1 for all 32-bit platforms, including Android armv7 on my Android CI, which I just had to patch to get building again. Your change didn't affect trunk, only because this pull hasn't been merged there.
I don't expect you to add any functionality to download these prebuilt libraries for armv7, but it would be good to add a change like mine to simply keep SwiftPM building on armv7, both because I distribute an Android armv7 toolchain myself and there is a recent contributor who wants and is working to distribute a linux armv7 toolchain in the future.
If you'd like me to just submit a pull with my linked patch, let me know and I will.
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.
Sorry about that. I'm about to push another one so I'll make sure all of these have an #else condition.
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.
No need to be sorry, 32-bit toolchains are a tiny niche in Swift now. Just ping me on any fix and I will easily cross-compile it for armv7 and let you know if it works.
Made discovery of the Linux distro reusable for the build-prebuilts script. Changed it to use arch and os conditions instead of the host toolchain.
Added support for Ubuntu noble, Fedora and Debian.
Removed the deletion of the stage directory so we can share it across docker invocations for each distro. Fixed the Modules directory name which wasn't working on case sensitive file systems.