diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2015-03-06 23:19:37 +0530 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2015-03-08 01:34:38 +0530 |
commit | cfdad335bd2cdadb446f9e7a5fbd907506cdadbc (patch) | |
tree | ad20680f34b70345c8746370a1b69695a1488946 /python/servo/command_base.py | |
parent | 4f3feed2bea957de0910a136d33dff4fb3c07a22 (diff) | |
download | servo-cfdad335bd2cdadb446f9e7a5fbd907506cdadbc.tar.gz servo-cfdad335bd2cdadb446f9e7a5fbd907506cdadbc.zip |
Add support for $CARGO_HOME in servobuild
Diffstat (limited to 'python/servo/command_base.py')
-rw-r--r-- | python/servo/command_base.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 4bcae97c11b..b8474c85044 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -51,6 +51,13 @@ class CommandBase(object): def __init__(self, context): self.context = context + def resolverelative(category, key): + # Allow ~ + self.config[category][key] = path.expanduser(self.config[category][key]) + # Resolve relative paths + self.config[category][key] = path.join(context.topdir, + self.config[category][key]) + if not hasattr(self.context, "bootstrapped"): self.context.bootstrapped = False @@ -64,8 +71,13 @@ class CommandBase(object): self.config.setdefault("tools", {}) self.config["tools"].setdefault("cache-dir", path.join(context.topdir, ".servo")) - # Allow "~" in cache-dir - context.sharedir = path.expanduser(self.config["tools"]["cache-dir"]) + resolverelative("tools", "cache-dir") + + self.config["tools"].setdefault("cargo-home-dir", + path.join(context.topdir, ".cargo")) + resolverelative("tools", "cargo-home-dir") + + context.sharedir = self.config["tools"]["cache-dir"] self.config["tools"].setdefault("system-rust", False) self.config["tools"].setdefault("system-cargo", False) @@ -126,6 +138,10 @@ class CommandBase(object): if extra_path: env["PATH"] = "%s%s%s" % ( os.pathsep.join(extra_path), os.pathsep, env["PATH"]) + + if "CARGO_HOME" not in env: + env["CARGO_HOME"] = self.config["tools"]["cargo-home-dir"] + if extra_lib: if sys.platform == "darwin": env["DYLD_LIBRARY_PATH"] = "%s%s%s" % \ |