From 7ef372db76cf40b1ea3459c4c8ebd6d757b8cd96 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 11 Mar 2020 13:49:11 -0400 Subject: [PATCH] Meson: Fix useless reconfigure when plugins libs change This is a workaround for a Meson bug that incorrectly trigger reconfigure when files change in build directory. This commit can be reverted once GStreamer depends on Meson >=0.54.0. See https://github.com/mesonbuild/meson/pull/6770 Fixes: #85 --- meson.build | 3 +++ scripts/generate_init_static_plugins.py | 4 ++-- scripts/generate_plugins_path.py | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index 1209c8b148..4055415566 100644 --- a/meson.build +++ b/meson.build @@ -170,6 +170,9 @@ all_plugins_paths = [] foreach plugin: all_plugins all_plugins_paths += plugin.full_path() endforeach +# Work around meson bug: https://github.com/mesonbuild/meson/pull/6770 +pathsep = host_machine.system() == 'windows' ? ';' : ':' +all_plugins_paths = pathsep.join(all_plugins_paths) generate_plugins_paths = find_program('scripts/generate_plugins_path.py') configure_file( diff --git a/scripts/generate_init_static_plugins.py b/scripts/generate_init_static_plugins.py index d7a13e28ee..c2ed122512 100644 --- a/scripts/generate_init_static_plugins.py +++ b/scripts/generate_init_static_plugins.py @@ -19,12 +19,12 @@ gst_init_static_plugins (void) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument(dest="output", help="Output file") - parser.add_argument(dest="plugins", nargs=argparse.REMAINDER, help="The list of plugins") + parser.add_argument(dest="plugins", help="The list of plugins") options = parser.parse_args() names = set() - for plugin in options.plugins: + for plugin in options.plugins.split(os.pathsep): filename = os.path.basename(plugin) if filename.startswith('libgst') and filename.endswith('.a'): names.add(filename[len('libgst'):-len('.a')]) diff --git a/scripts/generate_plugins_path.py b/scripts/generate_plugins_path.py index 17a38f123b..d609639f94 100644 --- a/scripts/generate_plugins_path.py +++ b/scripts/generate_plugins_path.py @@ -7,12 +7,12 @@ import json if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument(dest="output", help="Output file") - parser.add_argument(dest="plugins", nargs=argparse.REMAINDER, help="The list of plugins") + parser.add_argument(dest="plugins", help="The list of plugins") options = parser.parse_args() all_paths = set() - for plugin in options.plugins: + for plugin in options.plugins.split(os.pathsep): all_paths.add(os.path.dirname(plugin)) with open(options.output, "w") as f: