Default to the same Cargo features in all build commands

Fixes #8308 and #7327.
This commit is contained in:
Matt Brubeck 2016-05-24 10:56:22 -07:00
parent e4fe0db8fd
commit 8587ec4278
3 changed files with 17 additions and 2 deletions

View file

@ -147,7 +147,7 @@ class MachCommands(CommandBase):
features=None, android=None, verbose=False, debug_mozjs=False, params=None):
if android is None:
android = self.config["build"]["android"]
features = features or []
features = features or self.servo_features()
opts = params or []
@ -194,7 +194,7 @@ class MachCommands(CommandBase):
self.ensure_bootstrapped(target=target)
if debug_mozjs or self.config["build"]["debug-mozjs"]:
if debug_mozjs:
features += ["script/debugmozjs"]
if features:
@ -265,6 +265,10 @@ class MachCommands(CommandBase):
if release:
opts += ["--release"]
servo_features = self.servo_features()
if servo_features:
opts += ["--features", "%s" % ' '.join("servo/" + x for x in servo_features)]
build_start = time()
with cd(path.join("ports", "cef")):
ret = call(["cargo", "build"] + opts,

View file

@ -415,6 +415,13 @@ class CommandBase(object):
def servo_crate(self):
return path.join(self.context.topdir, "components", "servo")
def servo_features(self):
"""Return a list of optional features to enable for the Servo crate"""
features = []
if self.config["build"]["debug-mozjs"]:
features += ["script/debugmozjs"]
return features
def android_support_dir(self):
return path.join(self.context.topdir, "support", "android")

View file

@ -178,6 +178,10 @@ class MachCommands(CommandBase):
args += ["-p", "%s_tests" % crate]
args += test_patterns
features = self.servo_features()
if features:
args += ["--features", "%s" % ' '.join(features)]
env = self.build_env()
env["RUST_BACKTRACE"] = "1"