diff options
author | Thibault Saunier <thibault.saunier@osg.samsung.com> | 2016-09-05 14:47:50 -0300 |
---|---|---|
committer | Thibault Saunier <thibault.saunier@osg.samsung.com> | 2016-09-09 08:30:01 -0300 |
commit | 5903bbc0a3bb4eadb3cb4240fb7d8defcc9c9434 (patch) | |
tree | 71a8c6f8bdab0a2b44bca6d09eebc64a9803970d | |
parent | bf1aa16608a181e67869adf46fa532fc4a7ce9f6 (diff) |
Set GST_VALIDATE_APPS_DIR GES validate app path
-rwxr-xr-x | configure | 99 | ||||
-rwxr-xr-x | gst-uninstalled.py | 2 | ||||
-rw-r--r-- | subprojects/gst-python.wrap | 4 |
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 |