--- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -801,6 +801,13 @@ class GnomeModule(ExtensionModule): scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_source_dir(), self.interpreter.subproject_dir, state.subproject)] scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_build_dir(), self.interpreter.subproject_dir, state.subproject)] + if len(set([girtarget.get_custom_install_dir()[0] for girtarget in girtargets])) > 1: + raise MesonException('generate_gir tries to build multiple libraries with different install_dir at once: {}'.format(','.join([str(girtarget) for girtarget in girtargets]))) + + fallback_libpath = girtargets[0].get_custom_install_dir()[0] + if fallback_libpath is not None and isinstance(fallback_libpath, str) and len(fallback_libpath) > 0 and fallback_libpath[0] == "/": + scan_command += ['--fallback-library-path=' + fallback_libpath] + scan_target = self._make_gir_target(state, girfile, scan_command, depends, kwargs) typelib_output = '%s-%s.typelib' % (ns, nsversion)