mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
44 lines
No EOL
1.3 KiB
Python
44 lines
No EOL
1.3 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import subprocess
|
|
import os
|
|
import sys
|
|
import shutil
|
|
|
|
def accept_command(commands):
|
|
"""Search @commands and returns the first found absolute path."""
|
|
for command in commands:
|
|
command = shutil.which(command)
|
|
if command:
|
|
return command
|
|
|
|
return None
|
|
|
|
if __name__ == "__main__":
|
|
ninja = accept_command(["ninja", "ninja-build"])
|
|
buildroot = os.environ["MESON_BUILD_ROOT"]
|
|
|
|
bindinate = False
|
|
if len(sys.argv) > 1 and sys.argv[1] == "bindinate":
|
|
bindinate = True
|
|
|
|
if 'gstreamer-sharp' in os.environ['MESON_SUBDIR']:
|
|
subproject_prefix = 'gstreamer-sharp@@'
|
|
else:
|
|
subproject_prefix = ''
|
|
|
|
if bindinate:
|
|
print("Bindinate GStreamer")
|
|
subprocess.check_call([ninja, "-C", buildroot, subproject_prefix + "bindinate_gstreamer"])
|
|
|
|
print("Update GStreamer bindings")
|
|
subprocess.check_call([ninja, "-C", buildroot, subproject_prefix + "update_gstreamer_code"])
|
|
|
|
if bindinate:
|
|
print("Bindinate GES")
|
|
subprocess.check_call([ninja, "-C", buildroot, subproject_prefix + "bindinate_ges"])
|
|
print("Update GES bindings")
|
|
subprocess.check_call([ninja, "-C", buildroot, subproject_prefix + "update_ges_code"])
|
|
|
|
print("Building all code")
|
|
subprocess.check_call([ninja, "-C", buildroot]) |