Skip to content
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

Support llvm-mingw ARM/ARM64 targets in Rust #15

Merged
merged 1 commit into from
Sep 28, 2020
Merged

Support llvm-mingw ARM/ARM64 targets in Rust #15

merged 1 commit into from
Sep 28, 2020

Conversation

kleisauke
Copy link
Member

This PR adds support for building librsvg for the llvm-mingw ARM/ARM64 targets by compiling the nightly version of Rust and using the build-std feature to compile the standard library itself. This approach makes us independent of the prebuilt binaries provided by Rust and allows us to safely use UCRT as default CRT library (instead than MSVCRT).

A small amount of patches against Rust makes this possible, some of them are incompatible with the GCC targets that Rust provides. For example, it removes the need of linking against libgcc, libgcc_eh and libgcc_s and it forces the entry point to DllMainCRTStartup (or _DllMainCRTStartup for i686) located in MinGW. This works for our use-case, but might break when building Rust executables our using LLD in combination with GCC.

Resolves: #12.
Stacked on top of: #14.

kleisauke referenced this pull request Sep 27, 2020
- MinGW-w64 CRT needs to be linked with LLD.
- Build and bundle llvm-mingw tests.
- Compile gettext with --disable-libasprintf.
- Update LLVM to 10.0.0.
- Update MinGW-w64 to the latest master version.
- Build Rust within MXE instead of using the Rust Docker image.
- Fix librsvg build with latest MinGW-w64.
@kleisauke kleisauke changed the base branch from exclude-hevc-deps to master September 28, 2020 12:01
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.

Please add build for Windows 10 arm64
1 participant