changeset 96:3abad2c825ed

new version: fontconfig
author Volker Grabsch <vog@notjusthosting.com>
date Sat, 22 Dec 2007 22:26:32 +0100
parents 237bb47a9f54
children e7a3b250fbff
files build_mingw_cross_env.sh fontconfig-2.5.0-crosscompile.patch
diffstat 2 files changed, 154 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/build_mingw_cross_env.sh	Thu Dec 20 03:08:40 2007 +0100
+++ b/build_mingw_cross_env.sh	Sat Dec 22 22:26:32 2007 +0100
@@ -125,7 +125,7 @@
 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 @@
     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 @@
     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"
     ;;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fontconfig-2.5.0-crosscompile.patch	Sat Dec 22 22:26:32 2007 +0100
@@ -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_ */