aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorAlan Jeffrey <ajeffrey@mozilla.com>2019-05-17 14:50:08 -0500
committerTuncer Ayaz <tuncer.ayaz@gmail.com>2019-11-21 20:08:01 +0000
commit4e3f164f7bd020b1aed453ec11586cafd84e1a5d (patch)
tree69cdf3c8171c965b4c867ab74fd4cce4efc9d5d8 /python
parent91b612f8dfd5b97f7f89e96f2412f2a14cab373e (diff)
downloadservo-4e3f164f7bd020b1aed453ec11586cafd84e1a5d.tar.gz
servo-4e3f164f7bd020b1aed453ec11586cafd84e1a5d.zip
Allow mach build to explicitly set the media stack
You can select the media backend by building as follows: $ ./mach build -d --media-stack=dummy or $ ./mach build -d --media-stack=gstreamer
Diffstat (limited to 'python')
-rw-r--r--python/servo/build_commands.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index d4ac8d98b68..fc5cf912a52 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -155,6 +155,10 @@ class MachCommands(CommandBase):
@CommandArgument('--jobs', '-j',
default=None,
help='Number of jobs to run in parallel')
+ @CommandArgument('--media-stack',
+ default=None,
+ choices=["gstreamer", "dummy"],
+ help='Which media stack to use')
@CommandArgument('--no-package',
action='store_true',
help='For Android, disable packaging into a .apk after building')
@@ -171,7 +175,7 @@ class MachCommands(CommandBase):
@CommandArgument('params', nargs='...',
help="Command-line arguments to be passed through to Cargo")
@CommandBase.build_like_command_arguments
- def build(self, release=False, dev=False, jobs=None, params=None,
+ def build(self, release=False, dev=False, jobs=None, params=None, media_stack=None,
no_package=False, verbose=False, very_verbose=False,
target=None, android=False, magicleap=False, libsimpleservo=False,
features=None, uwp=False, win_arm64=False, **kwargs):
@@ -191,6 +195,19 @@ class MachCommands(CommandBase):
if not uwp:
uwp = target and 'uwp' in target
+ # A guess about which platforms should use the gstreamer media stack
+ if not(media_stack):
+ if (
+ not(target) or
+ ("armv7" in target and "android" in target) or
+ ("x86_64" in target)
+ ):
+ media_stack = "gstreamer"
+ else:
+ media_stack = "dummy"
+
+ features += ["media-" + media_stack]
+
target_path = base_path = self.get_target_dir()
if android:
target_path = path.join(target_path, "android")