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

How would I compile the thumbsv7a-windows target? #109030

Closed
RetroSoftwareRepository opened this issue Mar 11, 2023 · 4 comments
Closed

How would I compile the thumbsv7a-windows target? #109030

RetroSoftwareRepository opened this issue Mar 11, 2023 · 4 comments
Labels
O-Arm Target: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state O-windows-msvc Toolchain: MSVC, Operating system: Windows

Comments

@RetroSoftwareRepository

Documentation is severely lacking. I'd like to port Firefox to Windows 10, build 15035 at the very least on my Surface RT... which seems way more doable than you think. Edge is growing increasingly unusable as the years pass so that's why I want to get answers about this and why precompiled binaries aren't provided for this target.

@workingjubilee
Copy link
Member

workingjubilee commented Mar 11, 2023

I assume this is about one of:

  • thumbv7a-pc-windows-msvc
  • thumbv7a-uwp-windows-msvc

And the answer for why there's no precompiled binary is fairly simple: No one has put in the effort to add support to the standard library to the pc target and sign up to maintain it, or to confirm the existing support for the uwp target works well (and... sign up to maintain it). Precompiled binaries are for tier 2 targets, and we don't allow the build for them to break, so if the build would break on these targets we need to know someone will answer how to fix it, and thumbv7a-windows experts aren't in abundant supply. Further explanation can be found in the Target Tier Policy.

You may compile the standard library for this target by either building rustc with that support from source, or by using cargo -Zbuild-std with a currently-installed Rust. You will need to use a nightly compiler to achieve this in either case. We would be happy to accept a patch improving support for Windows 10 for these targets if they need work.

@workingjubilee workingjubilee added O-Arm Target: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state O-windows-msvc Toolchain: MSVC, Operating system: Windows labels Mar 11, 2023
@ChrisDenton
Copy link
Member

To be clear, with a nightly compiler and cargo you can do something like this:

cargo +nightly build --release -Z build-std=core,alloc,panic_abort,std --target thumbv7a-pc-windows-msvc

Though you're very much in unsupported land here. Both the Surface RT and Windows 10 15035 are no longer supported by the vendor. And, as workingjubilee says, Rust itself is currently only offering tier 3 support due to the fact that there's no one actively working on it. So it might work. Or it might require a fair amount of effort to get working.

@RetroSoftwareRepository
Copy link
Author

To be clear, with a nightly compiler and cargo you can do something like this:


cargo +nightly build --release -Z build-std=core,alloc,panic_abort,std --target thumbv7a-pc-windows-msvc

Though you're very much in unsupported land here. Both the Surface RT and Windows 10 15035 are no longer supported by the vendor. And, as workingjubilee says, Rust itself is currently only offering tier 3 support due to the fact that there's no one actively working on it. So it might work. Or it might require a fair amount of effort to get working.

Thanks... that actually might be what I need to get rust compiled so I can move forward with porting Firefox at the very least to the RT running said unofficial build of Windows 10. There's currently only an early build of Otter Browser for said device, which is newer than even the build of Edge (40.X) but is crash happy on certain websites. Porting Firefox will restore usability to such devices abandoned by Microsoft because of their stupidity of limiting it to running Internet Explorer (and the old, pre-Chromium Microsoft Edge in the case of Windows 10, 15035)

@jyn514
Copy link
Member

jyn514 commented Mar 13, 2023

The issue tracker is not a support forum. For future questions please ask in one of these places:

https://discord.gg/rust-lang/
https://discord.gg/rust-lang-community/
https://users.rust-lang.org/
https://rust-lang.zulipchat.com/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O-Arm Target: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state O-windows-msvc Toolchain: MSVC, Operating system: Windows
Projects
None yet
Development

No branches or pull requests

4 participants