summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Grabsch <vog@notjusthosting.com>2007-12-22 21:26:32 (GMT)
committerVolker Grabsch <vog@notjusthosting.com>2007-12-22 21:26:32 (GMT)
commit6cccbc9ca351e4f16be814231fa353fbeb0a69cb (patch)
treeba2797955fdc622769536699d6ddffbd959156b6
parent21424c298127ee39664099a8d588e7d175701ad1 (diff)
downloadmxe-6cccbc9ca351e4f16be814231fa353fbeb0a69cb.zip
mxe-6cccbc9ca351e4f16be814231fa353fbeb0a69cb.tar.gz
mxe-6cccbc9ca351e4f16be814231fa353fbeb0a69cb.tar.bz2
new version: fontconfig
-rwxr-xr-xbuild_mingw_cross_env.sh12
-rw-r--r--fontconfig-2.5.0-crosscompile.patch146
2 files changed, 154 insertions, 4 deletions
diff --git a/build_mingw_cross_env.sh b/build_mingw_cross_env.sh
index 0ee92d4..db9dca3 100755
--- a/build_mingw_cross_env.sh
+++ b/build_mingw_cross_env.sh
@@ -125,7 +125,7 @@ VERSION_jpeg=6b
VERSION_tiff=3.8.2
VERSION_giflib=4.1.6
VERSION_freetype=2.3.5
-VERSION_fontconfig=2.4.2
+VERSION_fontconfig=2.5.0
VERSION_libmikmod=3.2.0-beta2
VERSION_ogg=1.1.3
VERSION_vorbis=1.2.0
@@ -174,6 +174,7 @@ case "$1" in
rm -rf "mingw_cross_env-$VERSION"
mkdir "mingw_cross_env-$VERSION"
cp "$0" README ChangeLog "mingw_cross_env-$VERSION/"
+ cp fontconfig-2.5.0-crosscompile.patch "mingw_cross_env-$VERSION/"
tar cfv - "mingw_cross_env-$VERSION" | gzip -9 >"mingw_cross_env-$VERSION.tar.gz"
rm -rf "mingw_cross_env-$VERSION"
exit 0
@@ -1325,18 +1326,21 @@ case "$1" in
cd "$SOURCE"
tar xfvz "$DOWNLOAD/fontconfig-$VERSION_fontconfig.tar.gz"
cd "fontconfig-$VERSION_fontconfig"
+ # apply a portability patch
+ patch -p1 <"$ROOT/fontconfig-2.5.0-crosscompile.patch"
+ # ensure there is no (buggy) attempt to install the *.dll.a file
+ # (remove this line of you want to link dynamically)
$SED 's,^install-data-local:.*,install-data-local:,' -i src/Makefile.in
./configure \
--host="$TARGET" \
--disable-shared \
--prefix="$PREFIX/$TARGET" \
- --with-arch="" \
+ --with-arch="$TARGET" \
--with-freetype-config="$PREFIX/$TARGET/bin/freetype-config" \
--enable-libxml2 \
LIBXML2_CFLAGS="`$PREFIX/$TARGET/bin/xml2-config --cflags`" \
LIBXML2_LIBS="`$PREFIX/$TARGET/bin/xml2-config --libs`"
- $MAKE install -C src
- $MAKE install -C fontconfig
+ $MAKE install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
cd "$SOURCE"
rm -rfv "fontconfig-$VERSION_fontconfig"
;;
diff --git a/fontconfig-2.5.0-crosscompile.patch b/fontconfig-2.5.0-crosscompile.patch
new file mode 100644
index 0000000..cc88f2c
--- /dev/null
+++ b/fontconfig-2.5.0-crosscompile.patch
@@ -0,0 +1,146 @@
+URL: http://www.profv.de/fontconfig-crosscompile-patch/
+File: fontconfig-2.5.0-crosscompile.patch
+
+When cross compiling fontconfig, the code generators of fontconfig
+depend on freetype. This is a big problem, because the FREETYPE_*
+variables (as determined by ./configure) point to the cross-compiled
+freetype instead of the native freetype. Luckily, the code generators
+don't really have this dependency. It is merely introduced as a side
+effect by "fcint.h".
+
+The simplest solution is not to include FREETYPE_CFLAGS in the
+Makefile.am/in of fc-case, fc-arch, etc. and to define a symbol
+NOFREETYPE instead. Then "fcint.h" just needs to exclude any
+freetype dependent code if NOFREETYPE is defined.
+
+This patch for fontconfig-2.5.0 does exactly that.
+
+ -- Volker Grabsch <vog@notjusthosting.com>
+
+
+diff -ruN fontconfig-2.5.0.orig/fc-arch/Makefile.am fontconfig-2.5.0/fc-arch/Makefile.am
+--- fontconfig-2.5.0.orig/fc-arch/Makefile.am 2007-10-25 04:39:14.000000000 +0000
++++ fontconfig-2.5.0/fc-arch/Makefile.am 2007-12-22 20:48:08.000000000 +0000
+@@ -26,7 +26,7 @@
+ EXEEXT = @EXEEXT_FOR_BUILD@
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
+-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
++INCLUDES=-I${top_srcdir}/src -I${top_srcdir} -DNOFREETYPE $(WARN_CFLAGS)
+
+ TMPL=fcarch.tmpl.h
+ STMPL=${top_srcdir}/fc-arch/fcarch.tmpl.h
+diff -ruN fontconfig-2.5.0.orig/fc-arch/Makefile.in fontconfig-2.5.0/fc-arch/Makefile.in
+--- fontconfig-2.5.0.orig/fc-arch/Makefile.in 2007-11-14 02:57:07.000000000 +0000
++++ fontconfig-2.5.0/fc-arch/Makefile.in 2007-12-22 20:48:08.000000000 +0000
+@@ -240,7 +240,7 @@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-INCLUDES = -I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
++INCLUDES = -I${top_srcdir}/src -I${top_srcdir} -DNOFREETYPE $(WARN_CFLAGS)
+ TMPL = fcarch.tmpl.h
+ STMPL = ${top_srcdir}/fc-arch/fcarch.tmpl.h
+ TARG = fcarch.h
+diff -ruN fontconfig-2.5.0.orig/fc-case/Makefile.am fontconfig-2.5.0/fc-case/Makefile.am
+--- fontconfig-2.5.0.orig/fc-case/Makefile.am 2007-10-25 04:42:36.000000000 +0000
++++ fontconfig-2.5.0/fc-case/Makefile.am 2007-12-22 20:48:08.000000000 +0000
+@@ -26,7 +26,7 @@
+ EXEEXT = @EXEEXT_FOR_BUILD@
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
+-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
++INCLUDES=-I${top_srcdir}/src -I${top_srcdir} -DNOFREETYPE $(WARN_CFLAGS)
+
+ TMPL=fccase.tmpl.h
+ STMPL=${top_srcdir}/fc-case/${TMPL}
+diff -ruN fontconfig-2.5.0.orig/fc-case/Makefile.in fontconfig-2.5.0/fc-case/Makefile.in
+--- fontconfig-2.5.0.orig/fc-case/Makefile.in 2007-11-14 02:57:07.000000000 +0000
++++ fontconfig-2.5.0/fc-case/Makefile.in 2007-12-22 20:48:08.000000000 +0000
+@@ -240,7 +240,7 @@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-INCLUDES = -I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
++INCLUDES = -I${top_srcdir}/src -I${top_srcdir} -DNOFREETYPE $(WARN_CFLAGS)
+ TMPL = fccase.tmpl.h
+ STMPL = ${top_srcdir}/fc-case/${TMPL}
+ TARG = fccase.h
+diff -ruN fontconfig-2.5.0.orig/fc-glyphname/Makefile.am fontconfig-2.5.0/fc-glyphname/Makefile.am
+--- fontconfig-2.5.0.orig/fc-glyphname/Makefile.am 2007-10-25 04:40:17.000000000 +0000
++++ fontconfig-2.5.0/fc-glyphname/Makefile.am 2007-12-22 20:48:08.000000000 +0000
+@@ -26,7 +26,7 @@
+ EXEEXT = @EXEEXT_FOR_BUILD@
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
+-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
++INCLUDES=-I${top_srcdir}/src -I${top_srcdir} -DNOFREETYPE $(WARN_CFLAGS)
+
+ TMPL=fcglyphname.tmpl.h
+ STMPL=${top_srcdir}/fc-glyphname/${TMPL}
+diff -ruN fontconfig-2.5.0.orig/fc-glyphname/Makefile.in fontconfig-2.5.0/fc-glyphname/Makefile.in
+--- fontconfig-2.5.0.orig/fc-glyphname/Makefile.in 2007-11-14 02:57:07.000000000 +0000
++++ fontconfig-2.5.0/fc-glyphname/Makefile.in 2007-12-22 20:48:08.000000000 +0000
+@@ -240,7 +240,7 @@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-INCLUDES = -I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
++INCLUDES = -I${top_srcdir}/src -I${top_srcdir} -DNOFREETYPE $(WARN_CFLAGS)
+ TMPL = fcglyphname.tmpl.h
+ STMPL = ${top_srcdir}/fc-glyphname/${TMPL}
+ TARG = fcglyphname.h
+diff -ruN fontconfig-2.5.0.orig/fc-lang/Makefile.am fontconfig-2.5.0/fc-lang/Makefile.am
+--- fontconfig-2.5.0.orig/fc-lang/Makefile.am 2007-10-25 04:40:39.000000000 +0000
++++ fontconfig-2.5.0/fc-lang/Makefile.am 2007-12-22 20:48:08.000000000 +0000
+@@ -26,7 +26,7 @@
+ EXEEXT = @EXEEXT_FOR_BUILD@
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
+-INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
++INCLUDES=-I${top_srcdir}/src -I${top_srcdir} -DNOFREETYPE $(WARN_CFLAGS)
+
+ TMPL=fclang.tmpl.h
+ STMPL=${top_srcdir}/fc-lang/fclang.tmpl.h
+diff -ruN fontconfig-2.5.0.orig/fc-lang/Makefile.in fontconfig-2.5.0/fc-lang/Makefile.in
+--- fontconfig-2.5.0.orig/fc-lang/Makefile.in 2007-11-14 02:57:08.000000000 +0000
++++ fontconfig-2.5.0/fc-lang/Makefile.in 2007-12-22 20:48:08.000000000 +0000
+@@ -240,7 +240,7 @@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-INCLUDES = -I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS)
++INCLUDES = -I${top_srcdir}/src -I${top_srcdir} -DNOFREETYPE $(WARN_CFLAGS)
+ TMPL = fclang.tmpl.h
+ STMPL = ${top_srcdir}/fc-lang/fclang.tmpl.h
+ TARG = fclang.h
+diff -ruN fontconfig-2.5.0.orig/src/fcint.h fontconfig-2.5.0/src/fcint.h
+--- fontconfig-2.5.0.orig/src/fcint.h 2007-11-13 23:23:39.000000000 +0000
++++ fontconfig-2.5.0/src/fcint.h 2007-12-22 21:08:01.000000000 +0000
+@@ -47,7 +47,9 @@
+ #include <time.h>
+ #include <fontconfig/fontconfig.h>
+ #include <fontconfig/fcprivate.h>
++#ifndef NOFREETYPE
+ #include <fontconfig/fcfreetype.h>
++#endif
+ #include "fcdeprecate.h"
+
+ #ifndef FC_CONFIG_PATH
+@@ -718,8 +720,10 @@
+ FcPrivate FcChar32
+ FcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map);
+
++#ifndef NOFREETYPE
+ FcPrivate const FcCharMap *
+ FcFreeTypeGetPrivateMap (FT_Encoding encoding);
++#endif
+
+ /* fcfs.c */
+
+@@ -1049,4 +1053,4 @@
+ FcPrivate FcChar8 *
+ FcStrSerialize (FcSerialize *serialize, const FcChar8 *str);
+
+-#endif /* _FC_INT_H_ */
++#endif /* _FCINT_H_ */