aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/tools/build-managers/meson/gir-fallback-path.patch
blob: 0c924bacf73f532bdad002470315583f5d8f1137 (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
@@ -807,6 +807,13 @@ class GnomeModule(ExtensionModule):
         if fatal_warnings:
             scan_command.append('--warn-error')
 
+        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)