From e6a3f85383bbc4ce711d26d250604e4916f0bd2b Mon Sep 17 00:00:00 2001 From: edunham Date: Tue, 22 Mar 2016 13:10:37 -0700 Subject: Read SERVO_RUSTC_WITH_GOLD if no .servobuild The build system needs to disable gold on arm64 slaves. Other configuration is done through environment variables, and buildbot hosts currently don't use a .servobuild file at all. This change adds the `get_env_bool` function to cast an environment variable's string contents into a Python boolean, and uses it to retrieve the optional SERVO_RUSTC_WITH_GOLD setting. --- python/servo/command_base.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'python/servo/command_base.py') diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 9efad3a19c2..2c980c276aa 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -111,6 +111,12 @@ class CommandBase(object): def __init__(self, context): self.context = context + def get_env_bool(var, default): + # Contents of env vars are strings by default. This returns the + # boolean value of the specified environment variable, or the + # speciried default if the var doesn't contain True or False + return {'True': True, 'False': False}.get(os.environ.get(var), default) + def resolverelative(category, key): # Allow ~ self.config[category][key] = path.expanduser(self.config[category][key]) @@ -151,7 +157,7 @@ class CommandBase(object): if not self.config["tools"]["system-cargo"]: self.config["tools"]["cargo-root"] = path.join( context.sharedir, "cargo", self.cargo_build_id()) - self.config["tools"].setdefault("rustc-with-gold", True) + self.config["tools"].setdefault("rustc-with-gold", get_env_bool("SERVO_RUSTC_WITH_GOLD", True)) self.config.setdefault("build", {}) self.config["build"].setdefault("android", False) -- cgit v1.2.3