[gdk-pixbuf] Fix linking of static gdi loaders on windows Ensure that the reference to gdiplus.dll comes after th
- From: Fridrich Strba <strba src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdk-pixbuf] Fix linking of static gdi loaders on windows Ensure that the reference to gdiplus.dll comes after th
- Date: Sat, 11 Sep 2010 22:26:13 +0000 (UTC)
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]