[mingw-cairo] Re-added the delay-load changes now that we've got mingw-w64-tools in Fedora
epienbro
epienbro at fedoraproject.org
Sat Mar 17 15:13:26 UTC 2012
commit 90dd92a100b0669933329dcd24d496681f797dc1
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date: Sat Mar 17 16:12:50 2012 +0100
Re-added the delay-load changes now that we've got mingw-w64-tools in Fedora
mingw-cairo.spec | 44 +++++++++++++++++++++++++++++++++++++++++---
1 files changed, 41 insertions(+), 3 deletions(-)
---
diff --git a/mingw-cairo.spec b/mingw-cairo.spec
index 7529141..1be4c69 100644
--- a/mingw-cairo.spec
+++ b/mingw-cairo.spec
@@ -5,7 +5,7 @@
Name: mingw-cairo
Version: 1.10.2
-Release: 11%{?dist}
+Release: 12%{?dist}
Summary: MinGW Windows Cairo library
License: LGPLv2 or MPLv1.1
@@ -51,6 +51,7 @@ BuildRequires: mingw64-win-iconv
BuildRequires: mingw64-zlib
BuildRequires: mingw64-glib2
+BuildRequires: mingw-w64-tools
BuildRequires: autoconf automake libtool
BuildRequires: pkgconfig
@@ -105,7 +106,27 @@ Static version of the MinGW Windows Cairo library.
NOCONFIGURE=1 ./autogen.sh
%build
-%mingw_configure \
+# Function to generate an import library for delay-loading
+gen_delay_lib()
+{
+ local DLL="$1"
+ local OUT_IMPLIB="$2"
+
+ gendef - "%{mingw32_bindir}/$DLL" > build_win32/delay_load.def
+ %{mingw32_dlltool} --def build_win32/delay_load.def --kill-at --output-delaylib "build_win32/$OUT_IMPLIB"
+
+ gendef - "%{mingw64_bindir}/$DLL" > build_win64/delay_load.def
+ %{mingw64_dlltool} --def build_win64/delay_load.def --kill-at --output-delaylib "build_win64/$OUT_IMPLIB"
+}
+
+mkdir build_win32
+mkdir build_win64
+
+# Generate import libs for delay-loading fontconfig and freetype
+gen_delay_lib libfontconfig-1.dll libfontconfig-delayed.dll.a
+gen_delay_lib libfreetype-6.dll libfreetype-delayed.dll.a
+
+MINGW_CONFIGURE_ARGS=" \
--disable-pthread \
--disable-xlib \
--disable-xcb \
@@ -115,7 +136,21 @@ NOCONFIGURE=1 ./autogen.sh
--enable-png \
--enable-static \
--enable-gobject \
- --enable-tee
+ --enable-tee"
+
+# The regular %%mingw_configure macro can't be used here as we need to inject custom
+# environment variables which are different between the win32 and win64 build
+pushd build_win32
+ %mingw32_configure \
+ FONTCONFIG_LIBS="-L`pwd` -lfontconfig-delayed" \
+ FREETYPE_LIBS="-L`pwd` -lfreetype-delayed"
+popd
+
+pushd build_win64
+ %mingw64_configure \
+ FONTCONFIG_LIBS="-L`pwd` -lfontconfig-delayed" \
+ FREETYPE_LIBS="-L`pwd` -lfreetype-delayed"
+popd
%mingw_make %{?_smp_mflags}
@@ -189,6 +224,9 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
%changelog
+* Sat Mar 17 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 1.10.2-12
+- Make freetype/fontconfig an optional runtime dependency (delay-load)
+
* Sun Mar 11 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 1.10.2-11
- Added win64 support
- Enable tee support
More information about the scm-commits
mailing list