summaryrefslogtreecommitdiff
path: root/gdk-pixbuf
diff options
context:
space:
mode:
authorFridrich Štrba <fridrich.strba@bluewin.ch>2010-09-12 00:21:10 +0200
committerFridrich Štrba <fridrich.strba@bluewin.ch>2010-09-12 00:21:10 +0200
commit98aee06e52878d291566d799d94039f729e304e6 (patch)
tree1b2b2933750b486072b2750c3128b6256d785f56 /gdk-pixbuf
parent747eca53374702f6c5d1bde037cbd0a3d4246d10 (diff)
downloadgdk-pixbuf-98aee06e52878d291566d799d94039f729e304e6.tar.gz
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.
Diffstat (limited to 'gdk-pixbuf')
-rw-r--r--gdk-pixbuf/Makefile.am19
1 files changed, 10 insertions, 9 deletions
diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am
index da7c7dd22..bdb91d7f5 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 = \