aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml5
-rw-r--r--etc/ci/buildbot_steps.yml1
-rw-r--r--ports/servo/non_android_main.rs3
-rw-r--r--python/servo/build_commands.py9
-rw-r--r--python/servo/command_base.py12
-rw-r--r--python/servo/devenv_commands.py2
6 files changed, 26 insertions, 6 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 069fd75fc96..bb452af5fa6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,11 +4,6 @@ members = [
"ports/libsimpleservo/",
"tests/unit/*",
]
-default-members = [
- "ports/servo",
- "ports/libsimpleservo/",
- "tests/unit/*",
-]
exclude = [".cargo"]
[profile.release]
diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml
index e1bbd254973..66d586c6caa 100644
--- a/etc/ci/buildbot_steps.yml
+++ b/etc/ci/buildbot_steps.yml
@@ -115,6 +115,7 @@ linux-dev:
- ./mach test-unit
- python ./etc/memory_reports_over_time.py --test
- ./mach package --dev
+ - ./mach build --libsimpleservo
- ./mach build --dev --no-default-features --features default-except-unstable -p servo
- bash ./etc/ci/lockfile_changed.sh
- bash ./etc/ci/check_no_panic.sh
diff --git a/ports/servo/non_android_main.rs b/ports/servo/non_android_main.rs
index 7fcc5f0df35..50ba92f2130 100644
--- a/ports/servo/non_android_main.rs
+++ b/ports/servo/non_android_main.rs
@@ -58,6 +58,9 @@ pub mod platform {
pub fn deinit() {}
}
+#[cfg(not(feature = "unstable"))]
+fn install_crash_handler() {}
+
#[cfg(feature = "unstable")]
fn install_crash_handler() {
use backtrace::Backtrace;
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index 12287a0c8dc..da74a201aa4 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -184,9 +184,14 @@ class MachCommands(CommandBase):
default=None,
action='store_true',
help='Enable debug assertions in release')
+ @CommandArgument('--libsimpleservo',
+ default=None,
+ action='store_true',
+ help='Build the libsimpleservo library instead of the servo executable')
def build(self, target=None, release=False, dev=False, jobs=None,
features=None, android=None, no_package=False, verbose=False, very_verbose=False,
- debug_mozjs=False, params=None, with_debug_assertions=False):
+ debug_mozjs=False, params=None, with_debug_assertions=False,
+ libsimpleservo=False):
opts = params or []
@@ -254,6 +259,8 @@ class MachCommands(CommandBase):
self.ensure_bootstrapped(target=target)
self.ensure_clobbered()
+ self.add_manifest_path(opts, android, libsimpleservo)
+
if debug_mozjs:
features += ["debugmozjs"]
diff --git a/python/servo/command_base.py b/python/servo/command_base.py
index b335dcd69eb..b6faa53a5e1 100644
--- a/python/servo/command_base.py
+++ b/python/servo/command_base.py
@@ -670,9 +670,21 @@ install them, let us know by filing a bug!")
def ports_servo_crate(self):
return path.join(self.context.topdir, "ports", "servo")
+ def add_manifest_path(self, args, android=False, libsimpleservo=False):
+ if "--manifest-path" not in args:
+ if libsimpleservo or android:
+ manifest = self.ports_libsimpleservo_manifest()
+ else:
+ manifest = self.ports_servo_manifest()
+ args.append("--manifest-path")
+ args.append(manifest)
+
def ports_servo_manifest(self):
return path.join(self.context.topdir, "ports", "servo", "Cargo.toml")
+ def ports_libsimpleservo_manifest(self):
+ return path.join(self.context.topdir, "ports", "libsimpleservo", "Cargo.toml")
+
def servo_features(self):
"""Return a list of optional features to enable for the Servo crate"""
features = []
diff --git a/python/servo/devenv_commands.py b/python/servo/devenv_commands.py
index 2a8d3c9f2b3..a357efa9a96 100644
--- a/python/servo/devenv_commands.py
+++ b/python/servo/devenv_commands.py
@@ -42,6 +42,8 @@ class MachCommands(CommandBase):
if check:
params = ['check'] + params
+ self.add_manifest_path(params)
+
build_start = time()
status = self.call_rustup_run(["cargo"] + params, env=env)
elapsed = time() - build_start