aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml3
-rw-r--r--python/servo/build_commands.py3
-rw-r--r--python/servo/command_base.py1
-rw-r--r--servobuild.example2
4 files changed, 9 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index 2572ae3ddfd..81f6dc4aba8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,6 +15,8 @@ matrix:
directories:
- .cargo
- .servo
+ - $HOME/.ccache
+ env: CCACHE=/usr/bin/ccache
addons:
apt:
packages:
@@ -24,6 +26,7 @@ matrix:
- libosmesa6-dev
- python-virtualenv
- xorg-dev
+ - ccache
branches:
only:
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index ad901ba0fd4..c2f7381e7ac 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -232,6 +232,9 @@ class MachCommands(CommandBase):
env['OPENSSL_INCLUDE_DIR'] = path.join(openssl_dir, "include")
env['OPENSSL_STATIC'] = 'TRUE'
+ if not (self.config["build"]["ccache"] == ""):
+ env['CCACHE'] = self.config["build"]["ccache"]
+
status = call(
["cargo", "build"] + opts,
env=env, cwd=self.servo_crate(), verbose=verbose)
diff --git a/python/servo/command_base.py b/python/servo/command_base.py
index 14f8dff0c6f..4ceb5c629f4 100644
--- a/python/servo/command_base.py
+++ b/python/servo/command_base.py
@@ -107,6 +107,7 @@ class CommandBase(object):
self.config["build"].setdefault("android", False)
self.config["build"].setdefault("mode", "")
self.config["build"].setdefault("debug-mozjs", False)
+ self.config["build"].setdefault("ccache", "")
self.config.setdefault("android", {})
self.config["android"].setdefault("sdk", "")
diff --git a/servobuild.example b/servobuild.example
index 8d57d659e9b..8157de5b88b 100644
--- a/servobuild.example
+++ b/servobuild.example
@@ -36,6 +36,8 @@ rustc-with-gold = true
android = false
# Set "debug-mozjs" or use `mach build --debug-mozjs` to build a debug spidermonkey.
debug-mozjs = false
+# Set to the path to your ccache binary to enable caching of compiler outputs
+#ccache = "/usr/local/bin/ccache"
# Android information
[android]