From 879126a31c77622f594e70f205fcefd4556d9865 Mon Sep 17 00:00:00 2001 From: Olivier Crete Date: Mon, 24 Aug 2020 13:17:32 -0700 Subject: [PATCH] Allow running gst-uninstalled when gst-build is a subproject Part-of: --- gst-env.py | 14 +++++++++++++- meson.build | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gst-env.py b/gst-env.py index 693d21b7c0..40d66e3572 100755 --- a/gst-env.py +++ b/gst-env.py @@ -367,7 +367,7 @@ def get_subprocess_env(options, gst_version): os.path.join(options.builddir, root), options.sysroot) - with open(os.path.join(options.builddir, 'GstPluginsPath.json')) as f: + with open(os.path.join(options.gstbuilddir, 'GstPluginsPath.json')) as f: for plugin_path in json.load(f): prepend_env_var(env, 'GST_PLUGIN_PATH', plugin_path, options.sysroot) @@ -465,6 +465,9 @@ if __name__ == "__main__": parser.add_argument("--builddir", default=DEFAULT_BUILDDIR, help="The meson build directory") + parser.add_argument("--gstbuilddir", + default=None, + help="The meson gst-build build directory (defaults to builddir)") parser.add_argument("--srcdir", default=SCRIPTDIR, help="The top level source directory") @@ -487,7 +490,16 @@ if __name__ == "__main__": print("GStreamer not built in %s\n\nBuild it and try again" % options.builddir) exit(1) + + if options.gstbuilddir and not os.path.exists(options.gstbuilddir): + print("gst-build is not built in %s\n\nBuild it and try again" % + options.gstbuilddir) + exit(1) + elif not options.gstbuilddir: + options.gstbuilddir = options.builddir + options.builddir = os.path.abspath(options.builddir) + options.gstbuilddir = os.path.abspath(options.gstbuilddir) if not os.path.exists(options.srcdir): print("The specified source dir does not exist" % diff --git a/meson.build b/meson.build index ae832740e1..91ff608db4 100644 --- a/meson.build +++ b/meson.build @@ -353,6 +353,7 @@ subdir('tests') setenv = find_program('gst-env.py') devenv_cmd = [setenv, '--builddir=@0@'.format(meson.build_root()), + '--gstbuilddir=@0@'.format(meson.current_build_dir()), '--srcdir=@0@'.format(meson.source_root())] if meson.has_exe_wrapper() and build_machine.system() == 'linux' and host_machine.system() == 'windows'