зеркало из https://github.com/mozilla/gecko-dev.git
87007ca0f2
Stable Rust currently has logic similar to the following for finding the linker on Windows: if VCINSTALLDIR in os.env: search for things in PATH if found, return, otherwise fallthrough look for MSVC installations of various kinds For our current MozillaBuild setup where we clear out PATH prior to invoking Cargo, this works: even though VCINSTALLDIR is set and we (unsuccessfully) search through an empty PATH, we'll still fallback to looking for MSVC installations. Beta Rust has altered this search strategy: if VCINSTALLDIR in os.env: search for things in PATH return the result of the search, regardless of success look for MSVC installations of various kinds Note that in the above logic, if VCINSTALLDIR is set, we are only going to try looking in PATH for an appropriate linker. Since PATH is empty in our current MozillaBuild setup, beta Rust will therefore fail to find the correct linker. This failure causes numerous problems. Since Firefox is already trying to "clean" the environment that Cargo is invoked in, we should work a little bit harder by unsetting VCINSTALLDIR entirely, and simply force Rust to search for known MSVC installations. Making this change makes stable and beta Rust behave identically. (We don't have to worry about this distinction in automation, because the "cleaning" code is only activated when we detect a MozillaBuild shell.) |
||
---|---|---|
.. | ||
Moz | ||
external | ||
faster | ||
makefiles | ||
tests | ||
Makefile.in | ||
MozZipFile.py | ||
android-common.mk | ||
autoconf-js.mk.in | ||
autoconf.mk.in | ||
baseconfig.mk | ||
check_js_msg_encoding.py | ||
check_js_opcode.py | ||
check_macroassembler_style.py | ||
check_source_count.py | ||
check_spidermonkey_style.py | ||
check_vanilla_allocations.py | ||
config.mk | ||
createprecomplete.py | ||
doxygen.cfg.in | ||
emptyvars-js.mk.in | ||
emptyvars.mk.in | ||
expandlibs.py | ||
expandlibs_config.py | ||
expandlibs_exec.py | ||
expandlibs_gen.py | ||
find_OOM_errors.py | ||
gcc-stl-wrapper.template.h | ||
gcc_hidden.h | ||
install.bat | ||
link.py | ||
make-stl-wrappers.py | ||
milestone.txt | ||
moz.build | ||
mozunit.py | ||
msvc-stl-wrapper.template.h | ||
nsinstall.c | ||
nsinstall.py | ||
pathsub.c | ||
pathsub.h | ||
printconfigsetting.py | ||
printprereleasesuffix.py | ||
pythonpath.py | ||
rebuild_check.py | ||
recurse.mk | ||
rules.mk | ||
static-checking-config.mk | ||
stl-headers | ||
string-format.js | ||
system-headers | ||
version.mk | ||
version_win.pl |