[gtk+] Embed manifest into gtk-update-icon-cache.exe



commit 7fd90804fb346cd9818bdea949c033dc04fa3e79
Author: Руслан Ижбулатов <lrn1986 gmail com>
Date:   Thu Jul 31 10:05:29 2014 +0000

    Embed manifest into gtk-update-icon-cache.exe
    
    This way it doesn't need to be installed alongside it.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=705054

 gtk/Makefile.am |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 4f74c15..0570b82 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -1639,12 +1639,12 @@ 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... Use a manifest file to tell Windows that
+# 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
-
-bin_SCRIPTS = $(GTK_UPDATE_ICON_CACHE_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"?>' ; \
@@ -1665,6 +1665,12 @@ $(GTK_UPDATE_ICON_CACHE_MANIFEST):
         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
+
 endif
 endif
 
@@ -1673,7 +1679,8 @@ gtk_query_immodules_3_0_LDADD = $(LDADDS) $(GMODULE_LIBS)
 gtk_query_immodules_3_0_SOURCES = queryimmodules.c
 
 if BUILD_ICON_CACHE
-gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS)
+gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS) $(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT)
+gtk_update_icon_cache_DEPENDENCIES = $(GTK_UPDATE_ICON_CACHE_MANIFEST_OBJECT)
 gtk_update_icon_cache_SOURCES = updateiconcache.c
 endif
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]