[gdk-pixbuf] Fix linking of static gdi loaders on windows Ensure that the reference to gdiplus.dll comes after th



commit 98aee06e52878d291566d799d94039f729e304e6
Author: Fridrich Å trba <fridrich strba bluewin ch>
Date:   Sun Sep 12 00:21:10 2010 +0200

    Fix linking of static gdi loaders on windows
    Ensure that the reference to gdiplus.dll comes after the objects that
    link with it. Put -L$(top_builddir)/gdk-pixbuf to gdiplus_ldflag and
    -lgdiplus to gdiplus_libadd.
    Nevertheless the most clever way to fix this would be to create a fake
    libtool library libgdiplus.la like it used to be done here http://git.gnome.org/browse/evolution/tree/win32?h=gnome-2-28 and then link with that libtool libary the way one links with any other libtool library.

 gdk-pixbuf/Makefile.am |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)
---
diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am
index da7c7dd..bdb91d7 100644
--- a/gdk-pixbuf/Makefile.am
+++ b/gdk-pixbuf/Makefile.am
@@ -203,7 +203,8 @@ if BUILD_GDIPLUS_LOADERS
 # create a partial one that's enough for our use.
 
 libgdiplus = libgdiplus.dll.a
-gdiplus_ldflag = -Wl,$(libgdiplus)
+gdiplus_ldflag = -L$(top_builddir)/gdk-pixbuf
+gdiplus_libadd = -lgdiplus
 
 libgdiplus.dll.a: gdiplus.def
 	$(DLLTOOL) --kill-at --dllname gdiplus.dll --input-def gdiplus.def --output-lib $@
@@ -269,7 +270,7 @@ libpixbufloader_gdip_ico_la_SOURCES = 	\
 	io-gdip-animation.c		\
 	io-gdip-animation.h		\
 	io-gdip-ico.c
-libpixbufloader_gdip_ico_la_LIBADD = $(module_libs) $(libole32)
+libpixbufloader_gdip_ico_la_LIBADD = $(module_libs) $(libole32) $(gdiplus_libadd)
 
 libpixbufloader_gdip_wmf_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
 libpixbufloader_gdip_wmf_la_SOURCES = 	\
@@ -280,7 +281,7 @@ libpixbufloader_gdip_wmf_la_SOURCES = 	\
 	io-gdip-animation.c		\
 	io-gdip-animation.h		\
 	io-gdip-wmf.c
-libpixbufloader_gdip_wmf_la_LIBADD = $(module_libs) $(libole32)
+libpixbufloader_gdip_wmf_la_LIBADD = $(module_libs) $(libole32) $(gdiplus_libadd)
 
 libpixbufloader_gdip_emf_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
 libpixbufloader_gdip_emf_la_SOURCES = 	\
@@ -291,7 +292,7 @@ libpixbufloader_gdip_emf_la_SOURCES = 	\
 	io-gdip-animation.c		\
 	io-gdip-animation.h		\
 	io-gdip-emf.c
-libpixbufloader_gdip_emf_la_LIBADD = $(module_libs) $(libole32)
+libpixbufloader_gdip_emf_la_LIBADD = $(module_libs) $(libole32) $(gdiplus_libadd)
 
 libpixbufloader_gdip_bmp_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
 libpixbufloader_gdip_bmp_la_SOURCES = 	\
@@ -302,7 +303,7 @@ libpixbufloader_gdip_bmp_la_SOURCES = 	\
 	io-gdip-animation.c		\
 	io-gdip-animation.h		\
 	io-gdip-bmp.c
-libpixbufloader_gdip_bmp_la_LIBADD = $(module_libs) $(libole32)
+libpixbufloader_gdip_bmp_la_LIBADD = $(module_libs) $(libole32) $(gdiplus_libadd)
 
 libpixbufloader_gdip_gif_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
 libpixbufloader_gdip_gif_la_SOURCES = 	\
@@ -313,7 +314,7 @@ libpixbufloader_gdip_gif_la_SOURCES = 	\
 	io-gdip-animation.c		\
 	io-gdip-animation.h		\
 	io-gdip-gif.c
-libpixbufloader_gdip_gif_la_LIBADD = $(module_libs) $(libole32)
+libpixbufloader_gdip_gif_la_LIBADD = $(module_libs) $(libole32) $(gdiplus_libadd)
 
 libpixbufloader_gdip_jpeg_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
 libpixbufloader_gdip_jpeg_la_SOURCES = 	\
@@ -324,7 +325,7 @@ libpixbufloader_gdip_jpeg_la_SOURCES = 	\
 	io-gdip-animation.c		\
 	io-gdip-animation.h		\
 	io-gdip-jpeg.c
-libpixbufloader_gdip_jpeg_la_LIBADD = $(module_libs) $(libole32)
+libpixbufloader_gdip_jpeg_la_LIBADD = $(module_libs) $(libole32) $(gdiplus_libadd)
 
 libpixbufloader_gdip_tiff_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
 libpixbufloader_gdip_tiff_la_SOURCES = 	\
@@ -335,7 +336,7 @@ libpixbufloader_gdip_tiff_la_SOURCES = 	\
 	io-gdip-animation.c		\
 	io-gdip-animation.h		\
 	io-gdip-tiff.c
-libpixbufloader_gdip_tiff_la_LIBADD = $(module_libs) $(libole32)
+libpixbufloader_gdip_tiff_la_LIBADD = $(module_libs) $(libole32) $(gdiplus_libadd)
 
 endif
 
@@ -564,7 +565,7 @@ libgdk_pixbuf_2_0_la_LDFLAGS = \
 	$(gdiplus_ldflag)
 
 
-libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(GDK_PIXBUF_DEP_LIBS) $(libole32)
+libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(GDK_PIXBUF_DEP_LIBS) $(libole32) $(gdiplus_libadd)
 libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32_res) $(libgdiplus)
 
 gdk_pixbuf_headers = 			\



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