diff options
author | Jinank Jain <ug201210017@iitj.ac.in> | 2015-05-06 15:33:28 +0200 |
---|---|---|
committer | Matt Brubeck <mbrubeck@limpet.net> | 2015-05-13 09:25:43 -0700 |
commit | c98d55fe28596b2ea62a8b3dcc87ec306143cff2 (patch) | |
tree | 5412a47b567ecaff8298b98dd76addc203cb0acd | |
parent | b3b9deafa7ed87bd0649849f3aa729f21c4ff45d (diff) | |
download | servo-c98d55fe28596b2ea62a8b3dcc87ec306143cff2.tar.gz servo-c98d55fe28596b2ea62a8b3dcc87ec306143cff2.zip |
Add --dev option to mach build
Require either --dev or --release, unless a default build.mode is set
in .servobuild. Fixes #5933.
-rw-r--r-- | README.md | 9 | ||||
-rw-r--r-- | python/servo/build_commands.py | 14 | ||||
-rw-r--r-- | python/servo/command_base.py | 2 | ||||
-rw-r--r-- | servobuild.example | 3 |
4 files changed, 24 insertions, 4 deletions
diff --git a/README.md b/README.md index 12697350369..b395e17f6d5 100644 --- a/README.md +++ b/README.md @@ -74,15 +74,18 @@ Mach tools to orchestrate the build and other tasks. ### Normal build + +To build Servo in development mode. This is useful for development, but +the resulting binary is very slow. + ``` sh git clone https://github.com/servo/servo cd servo -./mach build +./mach build --dev ./mach run tests/html/about-mozilla.html ``` -By default, Servo builds in debug mode. This is useful for development, but -the resulting binary is very slow. For benchmarking, performance testing, or +For benchmarking, performance testing, or real-world use, add the `--release` flag to create an optimized build: ``` sh diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index 5d5da3298fe..b4b75b64c66 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -106,6 +106,20 @@ class MachCommands(CommandBase): opts = params or [] features = [] + if not (release or dev): + if self.config["build"]["mode"] == "dev": + dev = True + elif self.config["build"]["mode"] == "release": + release = True + else: + print("Please specify either --dev (-d) for a development") + print(" build, or --release (-r) for an optimized build.") + sys.exit(1) + + if release and dev: + print("Please specify either --dev or --release.") + sys.exit(1) + if release: opts += ["--release"] if target: diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 8047bf44179..a46fd21dfc1 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -93,7 +93,7 @@ class CommandBase(object): self.config.setdefault("build", {}) self.config["build"].setdefault("android", False) - + self.config["build"].setdefault("mode", "") self.config["build"].setdefault("debug-mozjs", False) self.config.setdefault("android", {}) diff --git a/servobuild.example b/servobuild.example index 1396c73126e..a29ec9aaf27 100644 --- a/servobuild.example +++ b/servobuild.example @@ -23,6 +23,9 @@ system-cargo = false cargo-root = "/path/to/cargo" [build] +# Set "mode = dev" or use `mach build --dev` to build the project with warning. +# or Set "mode = release" or use `mach build --release` for optimized build. +mode = "dev" # Set "android = true" or use `mach build --android` to build the Android app. android = false # Set "debug-mozjs" or use `mach build --debug-mozjs` to build a debug spidermonkey. |