diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 4f74c1507e..0570b82864 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 '' ; \ @@ -1665,6 +1665,12 @@ $(GTK_UPDATE_ICON_CACHE_MANIFEST): echo ' ' ; \ echo '' ) >$@ +$(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