From ba73bb0f3d2023839bc3b681c49b7ec1192cceb4 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Sat, 8 May 2021 21:58:54 +0200
Subject: [PATCH] Add use_prebuilt_tools option

This allows using the gdk-pixbuf tools from the host to
build and install tests in a cross-compile scenarion.

Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/119]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>

---
 gdk-pixbuf/meson.build  | 11 +++++++++--
 meson.build             |  6 +++---
 meson_options.txt       |  4 ++++
 tests/meson.build       | 16 ++++++++--------
 thumbnailer/meson.build | 24 ++++++++++++++++++------
 5 files changed, 42 insertions(+), 19 deletions(-)

diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build
index 8b0590b..7331491 100644
--- a/gdk-pixbuf/meson.build
+++ b/gdk-pixbuf/meson.build
@@ -342,13 +342,20 @@ foreach bin: gdkpixbuf_bin
                    include_directories: [ root_inc, gdk_pixbuf_inc ],
                    c_args: common_cflags + gdk_pixbuf_cflags,
                    install: true)
-  meson.override_find_program(bin_name, bin)
+  if not get_option('use_prebuilt_tools')
+      meson.override_find_program(bin_name, bin)
+  endif
 
   # Used in tests
   set_variable(bin_name.underscorify(), bin)
 endforeach
 
-if not meson.is_cross_build()
+if get_option('use_prebuilt_tools')
+    gdk_pixbuf_query_loaders = find_program('gdk-pixbuf-query-loaders', required: true)
+    gdk_pixbuf_pixdata = find_program('gdk-pixbuf-pixdata', required: true)
+endif
+
+if not meson.is_cross_build() or get_option('use_prebuilt_tools')
   # 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',
diff --git a/meson.build b/meson.build
index 7a1409b..0bc73eb 100644
--- a/meson.build
+++ b/meson.build
@@ -403,16 +403,16 @@ subdir('gdk-pixbuf')
 # i18n
 subdir('po')
 
-if not meson.is_cross_build()
+if not meson.is_cross_build() or get_option('use_prebuilt_tools')
   subdir('tests')
-  subdir('thumbnailer')
 endif
+subdir('thumbnailer')
 
 # Documentation
 build_docs = get_option('gtk_doc') or get_option('docs')
 subdir('docs')
 
-if not meson.is_cross_build()
+if not meson.is_cross_build() or get_option('use_prebuilt_tools')
   meson.add_install_script('build-aux/post-install.py',
     gdk_pixbuf_bindir,
     gdk_pixbuf_libdir,
diff --git a/meson_options.txt b/meson_options.txt
index 0ee6718..cc29855 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -49,4 +49,8 @@ option('gio_sniffing',
        description: 'Perform file type detection using GIO (Unused on MacOS and Windows)',
        type: 'boolean',
        value: true)
+option('use_prebuilt_tools',
+       description: 'Use prebuilt gdk-pixbuf tools from the host for cross-compilation',
+       type: 'boolean',
+       value: false)
 
diff --git a/tests/meson.build b/tests/meson.build
index 7c6cb11..1029e6a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -5,6 +5,12 @@
 # $PATH. Ideally we should use gnome.compile_resources() and let Meson deal with
 # this problem: See https://github.com/mesonbuild/meson/issues/8266.
 if enabled_loaders.contains('png') and host_system != 'windows'
+
+  resources_deps = [loaders_cache,]
+  if not get_option('use_prebuilt_tools')
+    resources_deps += [gdk_pixbuf_pixdata,]
+  endif
+
   # Resources; we cannot use gnome.compile_resources() here, because we need to
   # override the environment in order to use the utilities we just built instead
   # of the system ones
@@ -21,10 +27,7 @@ if enabled_loaders.contains('png') and host_system != 'windows'
       '@INPUT@',
       '@OUTPUT@',
     ],
-    depends: [
-      gdk_pixbuf_pixdata,
-      loaders_cache,
-    ],
+    depends: resources_deps,
   )
 
   resources_h = custom_target('resources.h',
@@ -40,10 +43,7 @@ if enabled_loaders.contains('png') and host_system != 'windows'
       '@INPUT@',
       '@OUTPUT@',
     ],
-    depends: [
-      gdk_pixbuf_pixdata,
-      loaders_cache,
-    ],
+    depends: resources_deps,
   )
   no_resources = false
 else
diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
index b6a206d..9336c21 100644
--- a/thumbnailer/meson.build
+++ b/thumbnailer/meson.build
@@ -6,13 +6,29 @@ bin = executable('gdk-pixbuf-thumbnailer',
            ],
            dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ],
            install: true)
-meson.override_find_program('gdk-pixbuf-thumbnailer', bin)
+if not get_option('use_prebuilt_tools')
+    meson.override_find_program('gdk-pixbuf-thumbnailer', bin)
+endif
 
 gdk_pixbuf_print_mime_types = executable('gdk-pixbuf-print-mime-types',
                                          'gdk-pixbuf-print-mime-types.c',
+                                         install: true,
                                          c_args: common_cflags,
                                          dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ])
 
+if get_option('use_prebuilt_tools')
+    gdk_pixbuf_print_mime_types = find_program('gdk-pixbuf-print-mime-types', required: true)
+endif
+
+thumbnailer_deps = [loaders_cache,]
+
+if not get_option('use_prebuilt_tools')
+    thumbnailer_deps += [
+        gdk_pixbuf_print_mime_types,
+        gdk_pixbuf_pixdata,
+    ]
+endif
+
 custom_target('thumbnailer',
               input: 'gdk-pixbuf-thumbnailer.thumbnailer.in',
               output: 'gdk-pixbuf-thumbnailer.thumbnailer',
@@ -25,10 +41,6 @@ custom_target('thumbnailer',
                 '@INPUT@',
                 '@OUTPUT@',
               ],
-              depends: [
-                gdk_pixbuf_print_mime_types,
-                gdk_pixbuf_pixdata,
-                loaders_cache,
-              ],
+              depends: thumbnailer_deps,
               install: true,
               install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers'))
