diff options
author | Brandon Fairchild <csbit32@gmail.com> | 2015-12-02 23:40:31 -0500 |
---|---|---|
committer | Brandon Fairchild <csbit32@gmail.com> | 2015-12-02 23:40:31 -0500 |
commit | ff853e0d4add97b78515c58d80c7c9b2f69056b8 (patch) | |
tree | e1422c582d167c2ff581001701b358e0e56a97ad /python/servo/build_commands.py | |
parent | 8f2a3a64f141f175e417e240766f9d7f06be0482 (diff) | |
download | servo-ff853e0d4add97b78515c58d80c7c9b2f69056b8.tar.gz servo-ff853e0d4add97b78515c58d80c7c9b2f69056b8.zip |
Allow `./mach build` to enable Servo's headless mode
As mentioned in #7512 and #7637, the environment variable SERVO_HEADLESS
enables building the OSMesa version of Servo when it is set to 1.
Instead, this should be a command line option to mach's build command.
Fixes #7637.
Diffstat (limited to 'python/servo/build_commands.py')
-rw-r--r-- | python/servo/build_commands.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index c2f7381e7ac..3e4237a52da 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -134,6 +134,10 @@ class MachCommands(CommandBase): @CommandArgument('--dev', '-d', action='store_true', help='Build in development mode') + @CommandArgument('--headless', + default=None, + action='store_true', + help='Enable headless mode (OSMesa)') @CommandArgument('--jobs', '-j', default=None, help='Number of jobs to run in parallel') @@ -155,7 +159,7 @@ class MachCommands(CommandBase): @CommandArgument('params', nargs='...', help="Command-line arguments to be passed through to Cargo") def build(self, target=None, release=False, dev=False, jobs=None, - features=None, android=None, verbose=False, debug_mozjs=False, params=None): + features=None, headless=False, android=None, verbose=False, debug_mozjs=False, params=None): if android is None: android = self.config["build"]["android"] features = features or [] @@ -203,9 +207,13 @@ class MachCommands(CommandBase): if debug_mozjs or self.config["build"]["debug-mozjs"]: features += ["script/debugmozjs"] - if is_headless_build(): - opts += ["--no-default-features"] - features += ["headless"] + if headless or is_headless_build(): + if sys.platform.startswith("linux"): + opts += ["--no-default-features"] + features += ["headless"] + else: + print("Headless mode (OSMesa) is not supported on your platform.") + print("Building without headless mode.") if android: features += ["android_glue"] |