summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <thibault.saunier@osg.samsung.com>2016-09-05 14:47:50 -0300
committerThibault Saunier <thibault.saunier@osg.samsung.com>2016-09-09 08:30:01 -0300
commit5903bbc0a3bb4eadb3cb4240fb7d8defcc9c9434 (patch)
tree71a8c6f8bdab0a2b44bca6d09eebc64a9803970d
parentbf1aa16608a181e67869adf46fa532fc4a7ce9f6 (diff)
Set GST_VALIDATE_APPS_DIR GES validate app path
-rwxr-xr-xconfigure99
-rwxr-xr-xgst-uninstalled.py2
-rw-r--r--subprojects/gst-python.wrap4
3 files changed, 105 insertions, 0 deletions
diff --git a/configure b/configure
new file mode 100755
index 0000000..be47955
--- /dev/null
+++ b/configure
@@ -0,0 +1,99 @@
+#!/usr/bin/env python3
+"""Script for generating the Makefiles."""
+
+import argparse
+import os
+import sys
+import shutil
+import subprocess
+
+
+PROJECTNAME = "GStreamer 'all'"
+
+ROOTDIR = os.path.abspath(os.path.dirname(__file__))
+MAKEFILE_TMPL = """all:
+%(tab)scd %(build_dir)s && %(ninja)s -k 100; %(ninja)s
+
+install:
+%(tab)scd %(build_dir)s && DESTDIR="${DESTDIR}" %(ninja)s install
+
+check:
+%(tab)scd %(build_dir)s && %(ninja)s test
+
+uninstalled:
+%(tab)scd %(build_dir)s && %(ninja)s uninstalled
+
+clean:
+%(tab)srm -Rf %(build_dir)s
+%(tab)srm Makefile
+"""
+
+
+def accept_command(commands):
+ """Checks if @command --version works."""
+ for command in commands:
+ try:
+ subprocess.check_output([command, "--version"])
+ return command
+ except FileNotFoundError:
+ pass
+
+ return None
+
+
+def get_configs(meson):
+ meson_version = subprocess.check_output([meson, '--version']).decode().strip()
+ if meson_version <= '0.33.0':
+ print("Disabling the introspection as support for the introspection with subproject was introduced in 0.34")
+ return ['-Dgstreamer:disable_introspection=true',
+ '-Dgst-editing-services:disable_introspection=true',
+ '-Dgst-devtools:disable_introspection=true']
+
+ return []
+
+
+def configure_meson(args):
+ """Configures meson and generate the Makefile."""
+ meson = accept_command(["meson", "meson.py"])
+ if not meson:
+ print("Install mesonbuild to build %s: http://mesonbuild.com/\n"
+ "You can simply install it with:\n"
+ " $ sudo pip3 install meson" % PROJECTNAME)
+ exit(1)
+
+ ninja = accept_command(["ninja", "ninja-build"])
+ if not ninja:
+ print("Install ninja-build to build %s: https://ninja-build.org/"
+ % PROJECTNAME)
+ exit(1)
+
+ build_dir = os.path.join(ROOTDIR, "build")
+ shutil.rmtree(build_dir, True)
+ os.mkdir(build_dir)
+ os.chdir(build_dir)
+
+ try:
+ subprocess.check_call([meson, "../"] + args + get_configs(meson))
+ except subprocess.CalledProcessError:
+ exit(1)
+
+ with open(os.path.join(ROOTDIR, "Makefile"), "w") as makefile:
+ makefile.write(MAKEFILE_TMPL %
+ {"build_dir": build_dir,
+ "ninja": ninja,
+ "tab": " "})
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description='Process some integers.')
+ parser.add_argument("--no-reconfigure", action='store_true',
+ default=False, help='Avoid removing the build dir'
+ ' if not necessary.')
+ options, args = parser.parse_known_args()
+ if options.no_reconfigure:
+ if os.path.exists(
+ ROOTDIR + "/build/build.ninja") and os.path.exists(
+ ROOTDIR + "/Makefile"):
+ print("Not reconfiguring")
+ exit(0)
+
+ configure_meson(args)
diff --git a/gst-uninstalled.py b/gst-uninstalled.py
index 94a99ba..91b1c01 100755
--- a/gst-uninstalled.py
+++ b/gst-uninstalled.py
@@ -61,6 +61,8 @@ def get_subprocess_env(options):
"%s/subprojects/gst-devtools/validate/data/scenarios" % SCRIPTDIR)
env["GST_VALIDATE_PLUGIN_PATH"] = os.path.normpath(
"%s/subprojects/gst-devtools/validate/plugins" % options.builddir)
+ env["GST_VALIDATE_APPS_DIR"] = os.path.normpath(
+ "%s/subprojects/gst-editing-services/tests/validate" % SCRIPTDIR)
prepend_env_var(env, "PATH", os.path.normpath(
"%s/subprojects/gst-devtools/validate/tools" % options.builddir))
env["PATH"] += os.pathsep + PATH
diff --git a/subprojects/gst-python.wrap b/subprojects/gst-python.wrap
new file mode 100644
index 0000000..167c514
--- /dev/null
+++ b/subprojects/gst-python.wrap
@@ -0,0 +1,4 @@
+[wrap-git]
+directory=gst-python
+url=git://anongit.freedesktop.org/gstreamer/gst-python
+revision=master