From 101b43f4a38904ee21070a3e2eb5ba03dfe17647 Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <eva@gentoo.org>
Date: Tue, 1 Nov 2016 15:24:22 +0100
Subject: [PATCH] Always use external gtk-update-icon-cache

Check for gtk-update-icon-cache to install demos, otherwise it is not
used when building.
---
 configure.ac                     |  2 ++
 demos/gtk-demo/Makefile.am       |  2 +-
 demos/widget-factory/Makefile.am |  2 +-
 docs/reference/gtk/Makefile.am   |  1 -
 gtk/Makefile.am                  | 44 ----------------------------------------
 5 files changed, 4 insertions(+), 47 deletions(-)

diff --git a/configure.ac b/configure.ac
index 4f9f183..ecf99dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -999,6 +999,8 @@ dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
 
 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
 
+AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, [gtk-update-icon-cache], [no])
+
 ########################################
 # Windowing system checks
 ########################################
diff --git a/demos/gtk-demo/Makefile.am b/demos/gtk-demo/Makefile.am
index 8c15e16..5d774d2 100644
--- a/demos/gtk-demo/Makefile.am
+++ b/demos/gtk-demo/Makefile.am
@@ -171,7 +171,7 @@ dist_appsicon32_DATA = data/32x32/gtk3-demo.png data/32x32/gtk3-demo-symbolic.sy
 dist_appsicon48_DATA = data/48x48/gtk3-demo.png data/48x48/gtk3-demo-symbolic.symbolic.png
 dist_appsicon256_DATA = data/256x256/gtk3-demo.png data/256x256/gtk3-demo-symbolic.symbolic.png
 
-update_icon_cache = $(top_builddir)/gtk/gtk-update-icon-cache$(EXEEXT) --ignore-theme-index --force
+update_icon_cache = $(GTK_UPDATE_ICON_CACHE) --ignore-theme-index --force
 
 install-data-hook: install-update-icon-cache
 uninstall-hook: uninstall-update-icon-cache
diff --git a/demos/widget-factory/Makefile.am b/demos/widget-factory/Makefile.am
index a6bfbdc..28a3be2 100644
--- a/demos/widget-factory/Makefile.am
+++ b/demos/widget-factory/Makefile.am
@@ -47,7 +47,7 @@ dist_appsicon32_DATA = data/32x32/gtk3-widget-factory.png data/32x32/gtk3-widget
 dist_appsicon48_DATA = data/48x48/gtk3-widget-factory.png data/48x48/gtk3-widget-factory-symbolic.symbolic.png
 dist_appsicon256_DATA = data/256x256/gtk3-widget-factory.png data/256x256/gtk3-widget-factory-symbolic.symbolic.png
 
-update_icon_cache = $(top_builddir)/gtk/gtk-update-icon-cache$(EXEEXT) --ignore-theme-index --force
+update_icon_cache = $(GTK_UPDATE_ICON_CACHE) --ignore-theme-index --force
 
 install-data-hook: install-update-icon-cache
 uninstall-hook: uninstall-update-icon-cache
diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am
index 5a88a12..b51f3ac 100644
--- a/docs/reference/gtk/Makefile.am
+++ b/docs/reference/gtk/Makefile.am
@@ -504,7 +504,6 @@ EXTRA_DIST += version.xml.in gtk3.types.in
 
 man_MANS = 				\
 	gtk-query-immodules-3.0.1	\
-	gtk-update-icon-cache.1		\
 	gtk-encode-symbolic-svg.1	\
 	gtk-launch.1			\
 	gtk3-demo.1			\
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 3b76b82..d4c5681 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -1581,7 +1581,6 @@ endif
 #
 bin_PROGRAMS = \
 	gtk-query-immodules-3.0	\
-	gtk-update-icon-cache \
 	gtk-encode-symbolic-svg \
 	gtk-builder-tool \
 	gtk-query-settings \
@@ -1594,9 +1593,6 @@ gtk_query_immodules_3_0_LDADD = 		\
 	$(GMODULE_LIBS)				\
 	$(GTK_DEP_LIBS)
 
-gtk_update_icon_cache_SOURCES = updateiconcache.c
-gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS)
-
 gtk_encode_symbolic_svg_SOURCES = encodesymbolic.c
 gtk_encode_symbolic_svg_LDADD =			\
 	$(GDK_PIXBUF_LIBS)			\
@@ -1621,46 +1617,6 @@ gtk_launch_LDADD =				\
 	$(top_builddir)/gdk/libgdk-3.la		\
 	$(GTK_DEP_LIBS)
 
-if OS_WIN32
-
-# Workaround for UAC silliness: programs with "update" in their name
-# are believed to be installers and require elevated privileges to be
-# used... Embed a manifest file into executable to tell Windows that
-# gtk-update-icon-cache.exe doesn't require any special privileges.
-
-GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
-GTK_UPDATE_ICON_CACHE_RC = gtk-update-icon-cache.rc
-GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT = gtk-update-icon-cache_manifest.o
-
-$(GTK_UPDATE_ICON_CACHE_MANIFEST):
-	(echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
-	 echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
-	 echo '  <assemblyIdentity version="1.0.0.0"' ; \
-	 echo '     processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
-	 echo '     name="gtk-update-icon-cache.exe"' ; \
-	 echo '     type="win32"/>' ; \
-	 echo '  <!-- Identify the application security requirements. -->' ; \
-	 echo '  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
-	 echo '    <security>' ; \
-	 echo '      <requestedPrivileges>' ; \
-	 echo '        <requestedExecutionLevel' ; \
-	 echo '          level="asInvoker"' ; \
-	 echo '          uiAccess="false"/>' ; \
-	 echo '        </requestedPrivileges>' ; \
-	 echo '       </security>' ; \
-	 echo '  </trustInfo>' ; \
-	 echo '</assembly>' ) >$@
-
-$(GTK_UPDATE_ICON_CACHE_RC):
-	(echo 'CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST '$(GTK_UPDATE_ICON_CACHE_MANIFEST)) >$@
-
-$(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT): $(GTK_UPDATE_ICON_CACHE_RC) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
-	$(WINDRES) --input $< --output $@ --output-format=coff
-
-gtk_update_icon_cache_LDADD += $(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT)
-
-endif
-
 .PHONY: files
 
 files:
-- 
2.10.1