Skip to content
Permalink
Browse files

Support a system root with correct on-disk directory layout

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
  • Loading branch information
brson committed Jun 2, 2015
1 parent 2fb8d31 commit 68d977c5f0d7fd8347cd4e3a3229a84a9c66c631
Showing with 9 additions and 0 deletions.
  1. +9 −0 python/servo/command_base.py
@@ -167,12 +167,21 @@ def build_env(self, gonk=False, hosts_file_path=None):
if not self.config["tools"]["system-rust"] \
or self.config["tools"]["rust-root"]:
env["RUST_ROOT"] = self.config["tools"]["rust-root"]
# These paths are for when rust-root points to an unpacked installer
extra_path += [path.join(self.config["tools"]["rust-root"], "rustc", "bin")]
extra_lib += [path.join(self.config["tools"]["rust-root"], "rustc", "lib")]
# These paths are for when rust-root points to a rustc sysroot
extra_path += [path.join(self.config["tools"]["rust-root"], "bin")]
extra_lib += [path.join(self.config["tools"]["rust-root"], "lib")]

if not self.config["tools"]["system-cargo"] \
or self.config["tools"]["cargo-root"]:
# This path is for when rust-root points to an unpacked installer
extra_path += [
path.join(self.config["tools"]["cargo-root"], "cargo", "bin")]
# This path is for when rust-root points to a rustc sysroot
extra_path += [
path.join(self.config["tools"]["cargo-root"], "bin")]

if extra_path:
env["PATH"] = "%s%s%s" % (

0 comments on commit 68d977c

Please sign in to comment.
You can’t perform that action at this time.