From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 14 Feb 2019 18:06:25 +0100
Subject: [PATCH] Generate loaders.cache using a native tool when
 cross-compiling

Otherwise meson would attempt to run a target binary.

Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>

---
 gdk-pixbuf/meson.build | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
index 1995ffd..d692cb7 100644
--- a/gdk-pixbuf/meson.build
+++ b/gdk-pixbuf/meson.build
@@ -291,6 +291,7 @@ foreach bin: gdkpixbuf_bin
   set_variable(bin_name.underscorify(), bin)
 endforeach
 
+if not meson.is_cross_build()
 # The 'loaders.cache' used for testing, so we don't accidentally
 # load the installed cache; we always build it by default
 loaders_cache = custom_target('loaders.cache',
@@ -302,6 +303,18 @@ loaders_cache = custom_target('loaders.cache',
                               ],
                               build_by_default: true)
 loaders_dep = declare_dependency(sources: [ loaders_cache ])
+else
+loaders_cache = custom_target('loaders.cache',
+                              output: 'loaders.cache',
+                              capture: true,
+                              depends: [ dynamic_loaders_dep ],
+                              command: [
+                                'gdk-pixbuf-query-loaders',
+                                dynamic_loaders,
+                              ],
+                              build_by_default: true)
+loaders_dep = declare_dependency(sources: [ loaders_cache ])
+endif
 
 pkgconfig = import('pkgconfig')
 pkgconfig.generate(
