Only check the GStreamer installation when building

Instead of always checking whether GStreamer is installed in mach's
`build_env`, only do this when actually building. Also, use the instance
variable to find features and look for the "media-gstreamer" feature
instead of looking for !"media-dummy."

Fixes #29797.
This commit is contained in:
Martin Robinson 2023-05-27 08:24:27 +02:00
parent ae23298403
commit 3fcff73f4d
2 changed files with 5 additions and 4 deletions

View file

@ -113,7 +113,7 @@ class MachCommands(CommandBase):
if very_verbose:
opts += ["-vv"]
env = self.build_env(is_build=True, features=self.features)
env = self.build_env(is_build=True)
self.ensure_bootstrapped()
self.ensure_clobbered()

View file

@ -522,13 +522,14 @@ class CommandBase(object):
'vcdir': vcinstalldir,
}
def build_env(self, hosts_file_path=None, is_build=False, test_unit=False, features=None):
def build_env(self, hosts_file_path=None, is_build=False, test_unit=False):
"""Return an extended environment dictionary."""
env = os.environ.copy()
if not features or "media-dummy" not in features:
if "media-dummy" not in self.features:
servo.platform.get().set_gstreamer_environment_variables_if_necessary(
env, cross_compilation_target=self.cross_compile_target)
env, cross_compilation_target=self.cross_compile_target,
check_installation=is_build)
if sys.platform == "win32" and type(env['PATH']) == six.text_type:
# On win32, the virtualenv's activate_this.py script sometimes ends up