Closed Bug 1350101 Opened 7 years ago Closed 7 years ago

When building, MozillaBuild should use the rust toolchain matching the shell

Categories

(Firefox Build System :: MozillaBuild, task)

x86_64
Windows
task
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: kats, Unassigned)

References

Details

See bug 1350001 comment 5 for backstory.

The upshot is that I believe Mozillabuild should be updated so that when you start the 32-bit shell, it forces use of the 32-bit rust toolchain, even on 64-bit machines. Likewise starting the 64-bit shell should force use of the 64-bit toolchain. Right now it appears to just use whatever toolchain is default (although it does try to set the *target* of the toolchain correctly). However given that rustc still produces 64-bit artifacts for build scripts in this configuration, it can cause linker errors and build failures. See bug 1350001 for more info.
Summary: MozillaBuild should use the correct rust toolchain when building → When building, MozillaBuild should use the rust toolchain matching the shell
I'm sympathetic to this issue, but I'm not sure there's much I can at the MozillaBuild level. Any thoughts, froydnj/rillian?
Flags: needinfo?(nfroyd)
Flags: needinfo?(giles)
Well, we could install both builds of the compiler and have start_shell set e.g. a different path for the 32-bit build. Seems like an unnecessary extra download though. I liked Alex's suggestion of stripping the MSVC location vars when invoking cargo so rustc's autodetection can find the correct linker for the host binaries.
Flags: needinfo?(giles)
Note that the start-shell-msvc* batch scripts do set a MOZ_MSVCBITS env var when launching that you could maybe make use of. Of course, given that the long-term desire is to eliminate the start-shell-msvc* scripts entirely, you should probably come up with a way of detecting things outside of env vars that happen to be set.
(In reply to Ralph Giles (:rillian) | needinfo me from comment #2)
>I liked Alex's suggestion of stripping the MSVC location
> vars when invoking cargo so rustc's autodetection can find the correct
> linker for the host binaries.

This is bug 1350001 comment 9, for reference.  This seems like the cleanest way to do things to me, too.
Flags: needinfo?(nfroyd)
Ok, I guess we can close this bug and do the work of stripping the vcvars stuff in bug 1350001.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Product: mozilla.org → Firefox Build System
You need to log in before you can comment on or make changes to this bug.