Fix unicode PATH the same way as mozilla-central does it for windows.
Also append extra PATHs instead of prepending, for some reason that broke ./mach run
- Add SERVO_USE_NIGHTLY_RUST env var to use the latest rust/cargo nightly snapshot
- Fix up looking for cargo binary (in cargo/bin/cargo, not bin/cargo)
- Fix up win32 executable checking (use .exe suffix)
- fix up win32 PATH handling (subprocess must use shell=True for PATH change to be honored)
Currently, ld.gold is always used for linking if found on the
system. There are some cases however when one may want to opt out
from using it. This patch adds the boolean field `rustc-with-gold`
to the `[tools]` section of `.servobuild`, which if set false,
disables the use of ld.gold.
The existing code for setting up the environment assumes that
the directory layout containing rust and cargo conforms to the
one used by rust-installer's tarballs. This makes overriding
the system root awkward for simple cases where I want to test
my own build directly from the rust build directory. This
patch just adds a second path to PATH and LD_LIBRARY_PATH
to accomodate both disk layouts.
Conflicts:
python/servo/command_base.py
This will be set in servo/saltfs to prevent our buildbot builders from re-downloading the build tools for every build.
r? @larsbergstrom or @metajack or @Manishearth
This eliminates the
Synchronizing submodule url for 'support/android-rs-glue'
Synchronizing submodule url for 'tests/wpt/web-platform-tests'
messages that appeared for every `mach build` command.
This avoids changing any directories outside the repo, which is better for
some automation scenarios.
The servobuild.example file has a "cache-dir" setting that restores the
previous default location of `~/.servo`, which is useful for developers
working with multiple clones on the same machine.
That way, whenever rust-snapshot-hash changes, mach will look for
the Rust snapshot in a different directory and re-boostrap as needed.
However, older rust version will be left behind never cleaned up.
This is good for git-bisect, but not for disk space:
the current snapshot is 618 MB.
In the future, we may want `mach clean` or some other comment
to remove unused Rust snapshots.
CC #3388