aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo
diff options
context:
space:
mode:
authoredunham <edunham@mozilla.com>2016-03-22 13:10:37 -0700
committeredunham <edunham@mozilla.com>2016-03-22 13:10:37 -0700
commite6a3f85383bbc4ce711d26d250604e4916f0bd2b (patch)
tree3764d9ffb4ed774c0580b34f3bcce1d6edc0b64b /python/servo
parent50193e9119c567c2c511a53749ff188b9c7ec49e (diff)
downloadservo-e6a3f85383bbc4ce711d26d250604e4916f0bd2b.tar.gz
servo-e6a3f85383bbc4ce711d26d250604e4916f0bd2b.zip
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.
Diffstat (limited to 'python/servo')
-rw-r--r--python/servo/command_base.py8
1 files changed, 7 insertions, 1 deletions
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)