aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
blob: e59795486aa8fc7ef308b1a7e278c9cbf86b0b8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
--- 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)