aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/command_base.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/servo/command_base.py')
-rw-r--r--python/servo/command_base.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/python/servo/command_base.py b/python/servo/command_base.py
index 3169e9c9d6a..34ce2bfc682 100644
--- a/python/servo/command_base.py
+++ b/python/servo/command_base.py
@@ -23,7 +23,7 @@ from mach.registrar import Registrar
import toml
from servo.packages import WINDOWS_MSVC as msvc_deps
-from servo.util import host_triple
+from servo.util import host_triple, host_platform
BIN_SUFFIX = ".exe" if sys.platform == "win32" else ""
@@ -258,15 +258,20 @@ class CommandBase(object):
self.config["tools"].setdefault("system-cargo", False)
self.config["tools"].setdefault("rust-root", "")
self.config["tools"].setdefault("cargo-root", "")
- self.set_use_stable_rust(False)
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", get_env_bool("SERVO_RUSTC_WITH_GOLD", True))
+ # https://github.com/rust-lang/rust/pull/39754
+ platforms_with_rustc_alt_builds = ["unknown-linux-gnu", "apple-darwin", "pc-windows-msvc"]
+ llvm_assertions_default = ("SERVO_RUSTC_LLVM_ASSERTIONS" in os.environ
+ or host_platform() not in platforms_with_rustc_alt_builds)
+
self.config.setdefault("build", {})
self.config["build"].setdefault("android", False)
self.config["build"].setdefault("mode", "")
+ self.config["build"].setdefault("llvm-assertions", llvm_assertions_default)
self.config["build"].setdefault("debug-mozjs", False)
self.config["build"].setdefault("ccache", "")
self.config["build"].setdefault("rustflags", "")
@@ -279,6 +284,8 @@ class CommandBase(object):
self.config["android"].setdefault("platform", "android-18")
self.config["android"].setdefault("target", "arm-linux-androideabi")
+ self.set_use_stable_rust(False)
+
_use_stable_rust = False
_rust_version = None
_rust_version_is_stable = False
@@ -297,13 +304,14 @@ class CommandBase(object):
version = self.rust_version()
if self._use_stable_rust:
return os.path.join(version, "rustc-%s-%s" % (version, host_triple()))
- else:
- return os.path.join(version, "rustc-nightly-%s" % (host_triple()))
+ if not self.config["build"]["llvm-assertions"]:
+ version += "-alt"
+ return os.path.join(version, "rustc-nightly-%s" % (host_triple()))
def rust_version(self):
if self._rust_version is None or self._use_stable_rust != self._rust_version_is_stable:
filename = path.join(self.context.topdir,
- "rust-stable-version" if self._use_stable_rust else "rust-nightly-date")
+ "rust-stable-version" if self._use_stable_rust else "rust-commit-hash")
with open(filename) as f:
self._rust_version = f.read().strip()
return self._rust_version