[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libxfont: Changes to 'upstream-experimental'



 COPYING                         |   54 ++
 Makefile.am                     |    7 
 README                          |   25 
 configure.ac                    |   59 +-
 include/X11/fonts/bitmap.h      |    7 
 include/X11/fonts/bufio.h       |    5 
 include/X11/fonts/fntfil.h      |    4 
 include/X11/fonts/fontconf.h.in |    2 
 include/X11/fonts/pcf.h         |    2 
 src/FreeType/Makefile.am        |    4 
 src/FreeType/ft.h               |    1 
 src/FreeType/ftenc.c            |    4 
 src/FreeType/ftfuncs.c          |    1 
 src/FreeType/ftsystem.c         |  331 ------------
 src/FreeType/fttools.c          |   54 --
 src/FreeType/xttcap.c           |  400 ++++++---------
 src/FreeType/xttcap.h           |    5 
 src/Makefile.am                 |   13 
 src/Speedo/Makefile.am          |    2 
 src/Speedo/do_char.c            |  207 --------
 src/Speedo/do_trns.c            |   14 
 src/Speedo/out_scrn.c           |  172 +++---
 src/Speedo/out_util.c           |  196 +++----
 src/Speedo/reset.c              |    2 
 src/Speedo/set_spcs.c           |   10 
 src/Speedo/set_trns.c           |  234 ++-------
 src/Speedo/spdo_prv.h           |  161 ------
 src/Speedo/speedo.h             |   16 
 src/Speedo/spglyph.c            |    2 
 src/Speedo/spint.h              |    2 
 src/Type1/Makefile.am           |    3 
 src/Type1/arith.c               |  276 ----------
 src/Type1/arith.h               |    6 
 src/Type1/digit.h               |    2 
 src/Type1/fontfcn.c             |   11 
 src/Type1/fontfcn.h             |    2 
 src/Type1/lines.c               |   69 +-
 src/Type1/lines.h               |    2 
 src/Type1/objects.c             |  267 ++--------
 src/Type1/objects.h             |   39 -
 src/Type1/paths.c               |  662 -------------------------
 src/Type1/paths.h               |   34 -
 src/Type1/regions.c             |  423 +---------------
 src/Type1/regions.h             |   26 -
 src/Type1/scanfont.c            |    2 
 src/Type1/spaces.c              |  221 +++-----
 src/Type1/spaces.h              |   21 
 src/Type1/t1funcs.c             |   50 -
 src/Type1/t1info.c              |    5 
 src/Type1/t1intf.h              |    1 
 src/Type1/t1malloc.c            |    4 
 src/Type1/t1stub.c              |   56 --
 src/Type1/util.h                |    1 
 src/bitmap/Makefile.am          |    2 
 src/bitmap/bdfread.c            |   11 
 src/bitmap/bitmapfunc.c         |  137 +++--
 src/bitmap/bitscale.c           |   27 -
 src/bitmap/pcfread.c            |    6 
 src/bitmap/snfread.c            |    2 
 src/bitmap/snfstr.h             |    1 
 src/builtins/Makefile.am        |    2 
 src/builtins/builtin.h          |    8 
 src/builtins/dir.c              |  159 ++++++
 src/builtins/file.c             |   22 
 src/builtins/fonts.c            |   14 
 src/builtins/fpe.c              |   23 
 src/builtins/render.c           |   35 -
 src/fc/Makefile.am              |    2 
 src/fc/fsconvert.c              |   40 -
 src/fc/fserve.c                 |   85 +--
 src/fc/fserve.h                 |    3 
 src/fc/fservestr.h              |    9 
 src/fc/fsio.c                   |   64 --
 src/fc/fsio.h                   |    7 
 src/fc/fstrans.c                |    2 
 src/fontcache/.gitignore        |    6 
 src/fontcache/Makefile.am       |    8 
 src/fontcache/fcqueue.h         |  133 -----
 src/fontcache/fontcache.c       | 1022 ----------------------------------------
 src/fontcache/fontcache.h       |  121 ----
 src/fontfile/Makefile.am        |    9 
 src/fontfile/bufio.c            |   22 
 src/fontfile/bunzip2.c          |  179 +++++++
 src/fontfile/catalogue.c        |  478 ++++++++++++++++++
 src/fontfile/dirfile.c          |    6 
 src/fontfile/ffcheck.c          |   60 +-
 src/fontfile/fileio.c           |    9 
 src/fontfile/fontdir.c          |   14 
 src/fontfile/fontfile.c         |   41 -
 src/fontfile/register.c         |   61 +-
 src/stubs/Makefile.am           |    3 
 src/stubs/cauthgen.c            |    4 
 src/stubs/csignal.c             |    4 
 src/stubs/delfntcid.c           |    4 
 src/stubs/errorf.c              |    4 
 src/stubs/fatalerror.c          |    4 
 src/stubs/findoldfnt.c          |    4 
 src/stubs/fontmod.c             |   14 
 src/stubs/getcres.c             |    4 
 src/stubs/getdefptsize.c        |    4 
 src/stubs/getnewfntcid.c        |    4 
 src/stubs/gettime.c             |    4 
 src/stubs/initfshdl.c           |    4 
 src/stubs/regfpefunc.c          |    4 
 src/stubs/rmfshdl.c             |    4 
 src/stubs/servclient.c          |    4 
 src/stubs/setfntauth.c          |    4 
 src/stubs/stfntcfnt.c           |    4 
 src/stubs/xpstubs.c             |    5 
 src/util/Makefile.am            |    2 
 src/util/atom.c                 |   12 
 src/util/miscutil.c             |   14 
 112 files changed, 2088 insertions(+), 5035 deletions(-)

New commits:
commit 282ac4226195d58e3818e7ac97093e396aa78086
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Fri Dec 19 15:07:21 2008 -0800

    Version bump: 1.3.4

diff --git a/configure.ac b/configure.ac
index f199743..4a6c1e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ dnl Process this file with autoconf to create configure.
 AC_PREREQ([2.57])
 
 AC_INIT([libXfont],
-	1.3.3,
+	1.3.4,
 	[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
 	libXfont)
 dnl

commit 5c631ad798fcdea4f2b7d0b012ac94182fad4184
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Fri Dec 19 14:01:28 2008 -0800

    miscutil.c:108: warning: old-style parameter declaration

diff --git a/src/util/miscutil.c b/src/util/miscutil.c
index 43473b7..c44527a 100644
--- a/src/util/miscutil.c
+++ b/src/util/miscutil.c
@@ -104,6 +104,6 @@ CopyISOLatin1Lowered (char *dst, char *src, int len)
 }
 
 weak void
-register_fpe_functions ()
+register_fpe_functions (void)
 {
 }

commit d21d6c5b23a23f120f32b483ec6b86cf88cb3a98
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Fri Dec 19 13:47:48 2008 -0800

    Add simple README with pointers to bugzilla/git/mailing list

diff --git a/README b/README
new file mode 100644
index 0000000..97a9e8a
--- /dev/null
+++ b/README
@@ -0,0 +1,25 @@
+libXfont provides the core of the legacy X11 font system, handling the
+index files (fonts.dir, fonts.alias, fonts.scale), the various font file
+formats, and rasterizing them.   It is used by the X servers, the
+X Font Server (xfs), and some font utilities (bdftopcf for instance),
+but should not be used by normal X11 clients.  X11 clients access fonts
+via either the new API's in libXft, or the legacy API's in libX11.
+
+Please submit bugs & patches to the Xorg bugzilla:
+
+	https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+	http://lists.freedesktop.org/mailman/listinfo/xorg
+
+The master development code repository can be found at:
+
+	git://anongit.freedesktop.org/git/xorg/lib/libXfont
+
+	http://cgit.freedesktop.org/xorg/lib/libXfont
+
+For more information on the git code manager, see:
+
+	http://wiki.x.org/wiki/GitPage

commit d3be1261d29b7d8eda124add3497a93ebe34712c
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Fri Dec 19 13:47:27 2008 -0800

    Update COPYING file with additional copyrights/licenses

diff --git a/COPYING b/COPYING
index 1cd3635..dc48a0f 100644
--- a/COPYING
+++ b/COPYING
@@ -1,5 +1,10 @@
 Copyright (c) 1997 by Mark Leisher
 Copyright (c) 1998-2003 by Juliusz Chroboczek
+Copyright (c) 1998 Go Watanabe, All rights reserved.
+Copyright (c) 1998 Kazushi (Jam) Marukawa, All rights reserved.
+Copyright (c) 1998 Takuya SHIOZAKI, All rights reserved.
+Copyright (c) 1998 X-TrueType Server Project, All rights reserved.
+Copyright (c) 2003-2004 After X-TT Project, All rights reserved.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -233,3 +238,52 @@ Except as contained in this notice, the name of The XFree86 Project
 Inc. shall not be used in advertising or otherwise to promote the
 sale, use or other dealings in this Software without prior written
 authorization from The XFree86 Project Inc..
+
+Copyright � 2007 Red Hat, Inc
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, and/or sell copies of the Software, and to permit persons
+to whom the Software is furnished to do so, provided that the above
+copyright notice(s) and this permission notice appear in all copies of
+the Software and that both the above copyright notice(s) and this
+permission notice appear in supporting documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+of the copyright holder.
+

commit b5cc4a10c0fe365b40be19613777f192a1ada0db
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Fri Dec 19 13:05:32 2008 -0800

    Use XORG_CWARNFLAGS & XORG_CHANGELOG macros from xorg-macros 1.2

diff --git a/Makefile.am b/Makefile.am
index f5e9c4e..bb908c2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -44,13 +44,12 @@ nodist_libXfontinclude_HEADERS = \
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = xfont.pc
 
-EXTRA_DIST = xfont.pc.in autogen.sh include/X11/fonts/fontconf.h.in ChangeLog
+EXTRA_DIST = xfont.pc.in autogen.sh include/X11/fonts/fontconf.h.in
 
 .PHONY: ChangeLog
 
-CLEANFILES = ChangeLog
 ChangeLog:
-	(GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+	$(CHANGELOG_CMD)
 
 dist-hook: ChangeLog
 
diff --git a/configure.ac b/configure.ac
index eaa1821..f199743 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,6 +36,10 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
 AM_CONFIG_HEADER(config.h)
 AC_CONFIG_HEADERS([include/X11/fonts/fontconf.h])
 
+# Require xorg-macros version >= 1.2.0 for XORG_CWARNFLAGS & XORG_CHANGELOG
+m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.2)
+
 # Check for progs
 AC_PROG_CC
 AC_PROG_LIBTOOL
@@ -208,12 +212,7 @@ PKG_CHECK_MODULES(XFONT, xproto xtrans fontsproto fontenc)
 # Transport selection macro from xtrans.m4
 XTRANS_CONNECTION_FLAGS
 
-if test "x$GCC" = "xyes"; then
-	CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
-	-Wmissing-prototypes -Wmissing-declarations \
-	-Wnested-externs -fno-strict-aliasing"
-fi
-AC_SUBST([CWARNFLAGS])
+XORG_CWARNFLAGS
 
 case $host_os in
     linux*)
@@ -229,6 +228,7 @@ esac
 AC_SUBST([OS_CFLAGS])
 
 XORG_RELEASE_VERSION
+XORG_CHANGELOG
 
 AC_OUTPUT([Makefile
 	   src/Makefile

commit 377584bb71ccb2cc380c3a8f71f0acd7e755ad33
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Thu Dec 18 21:22:31 2008 -0800

    Always scan catalogue dirs at startup, even if their mtime < 0
    
    Works around bug in VMWare that caused the Solaris kernel to fail to read
    the time-of-day chip on boot, and start with a time < 0 (i.e. back to the
    1960's) - when the system was then installed from this mode, Xorg wouldn't
    start after reboot, since the mtime would be < 0 and the catalogue dir was
    then skipped as not changed since reading at the 0 initially set in the
    cat->mtime.
    
    Fixes OpenSolaris bug #4780
       <http://defect.opensolaris.org/bz/show_bug.cgi?id=4780>

diff --git a/src/fontfile/catalogue.c b/src/fontfile/catalogue.c
index c0d90f8..d494236 100644
--- a/src/fontfile/catalogue.c
+++ b/src/fontfile/catalogue.c
@@ -123,8 +123,10 @@ CatalogueUnrefFPEs (FontPathElementPtr fpe)
     cat->fpeCount = 0;
 }
 
+/* Rescan catalogue directory if modified timestamp has changed or
+ * the forceScan argument says to do it anyway (like on first load). */
 static int
-CatalogueRescan (FontPathElementPtr fpe)
+CatalogueRescan (FontPathElementPtr fpe, Bool forceScan)
 {
     CataloguePtr	cat = fpe->private;
     char		link[MAXFONTFILENAMELEN];
@@ -142,7 +144,7 @@ CatalogueRescan (FontPathElementPtr fpe)
     if (stat(path, &statbuf) < 0 || !S_ISDIR(statbuf.st_mode))
 	return BadFontPath;
 
-    if (statbuf.st_mtime <= cat->mtime)
+    if ((forceScan == FALSE) && (statbuf.st_mtime <= cat->mtime))
 	return Successful;
 
     dir = opendir(path);
@@ -243,7 +245,7 @@ CatalogueInitFPE (FontPathElementPtr fpe)
     cat->fpeList = NULL;
     cat->mtime = 0;
 
-    return CatalogueRescan (fpe);
+    return CatalogueRescan (fpe, TRUE);
 }
 
 static int
@@ -287,7 +289,7 @@ CatalogueOpenFont (pointer client, FontPathElementPtr fpe, Mask flags,
     FontDirectoryPtr dir;
     int i, status;
 
-    CatalogueRescan (fpe);
+    CatalogueRescan (fpe, FALSE);
 
     for (i = 0; i < cat->fpeCount; i++)
     {
@@ -321,7 +323,7 @@ CatalogueListFonts (pointer client, FontPathElementPtr fpe, char *pat,
     FontDirectoryPtr dir;
     int i;
 
-    CatalogueRescan (fpe);
+    CatalogueRescan (fpe, FALSE);
 
     for (i = 0; i < cat->fpeCount; i++)
     {
@@ -352,7 +354,7 @@ CatalogueStartListFonts(pointer client, FontPathElementPtr fpe,
     LFWIDataPtr		data;
     int			ret, i, j;
 
-    CatalogueRescan (fpe);
+    CatalogueRescan (fpe, FALSE);
 
     data = (LFWIDataPtr) xalloc (sizeof *data +
 				 sizeof data->privates[0] * cat->fpeCount);

commit 9ad7f24fafe876851b89190732034da6fb640788
Author: Benjamin Close <Benjamin.Close@clearchain.com>
Date:   Thu Dec 11 15:26:13 2008 +1030

    Make sure font names/font alias names are null terminated
    
    This fixes a crash upon server restart where the saved fonts were
    being restored however strlen(font_name) was incorrect hence memory
    was being clobbered.

diff --git a/src/builtins/dir.c b/src/builtins/dir.c
index 1f7f547..dd2ea1a 100644
--- a/src/builtins/dir.c
+++ b/src/builtins/dir.c
@@ -45,10 +45,10 @@ BuiltinDirsDup (const BuiltinDirPtr a_dirs,
 
     for (i=0; i < a_dirs_len; i++) {
         int len = strlen (a_dirs[i].file_name) ;
-        dirs[i].file_name = xcalloc (1, len) ;
+        dirs[i].file_name = xcalloc (1, len+1) ;
         memmove (dirs[i].file_name, a_dirs[i].file_name, len);
         len = strlen (a_dirs[i].font_name) ;
-        dirs[i].font_name = xcalloc (1, len) ;
+        dirs[i].font_name = xcalloc (1, len+1) ;
         memmove (dirs[i].font_name, a_dirs[i].font_name, len);
     }
     return dirs ;
@@ -110,7 +110,7 @@ BuiltinAliasesDup (const BuiltinAliasPtr a_aliases,
 
     for (i=0; i < a_aliases_len; i++) {
         int len = strlen (a_aliases[i].font_name) ;
-        aliases[i].font_name = xcalloc (1, len) ;
+        aliases[i].font_name = xcalloc (1, len+1) ;
         memmove (aliases[i].font_name, a_aliases[i].font_name, len);
     }
     return aliases ;

commit d93cc906d4a2f42d11629e245fb13a2d08cf2a61
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date:   Thu Dec 4 16:56:56 2008 -0800

    Pad CreateAC packets with 0 auths to workaround xfs bug
    
    Versions of xfs before commit 3fe28a31a2974287acc182c7c9bfd68d94ea6292
    will reject CreateAC packets with 0 auths unless they claim to have at
    least 4 bytes of authentication data that isn't actually read.

diff --git a/src/fc/fserve.c b/src/fc/fserve.c
index fd1bd53..07ada34 100644
--- a/src/fc/fserve.c
+++ b/src/fc/fserve.c
@@ -2602,6 +2602,7 @@ _fs_client_access (FSFpePtr conn, pointer client, Bool sync)
     char		    *authorizations;
     int			    authlen;
     Bool		    new_cur = FALSE;
+    char		    padding[4] = { 0, 0, 0, 0 };
 
 #ifdef DEBUG
     if (conn->blockState & (FS_RECONNECTING|FS_BROKEN_CONNECTION))
@@ -2647,7 +2648,14 @@ _fs_client_access (FSFpePtr conn, pointer client, Bool sync)
 	crac.reqType = FS_CreateAC;
 	crac.num_auths = set_font_authorizations(&authorizations, &authlen,
 						 client);
-	authlen = crac.num_auths ? (authlen + 3) & ~0x3 : 0;
+	/* Work around bug in xfs versions up through modular release 1.0.8
+	   which rejects CreateAC packets with num_auths = 0 & authlen < 4 */
+	if (crac.num_auths == 0) {
+	    authorizations = padding;
+	    authlen = 4;
+	} else {
+	    authlen = (authlen + 3) & ~0x3;
+	}
 	crac.length = (sizeof (fsCreateACReq) + authlen) >> 2;
 	crac.acid = cur->acid;
 	_fs_add_req_log(conn, FS_CreateAC);

commit f859a76b0f325b07952ad1c5c818318307c589b0
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Nov 4 19:24:29 2008 +0100

    Don't clobber CFLAGS in configure
    
    This lets the user set CFLAGS when running make.

diff --git a/configure.ac b/configure.ac
index aa689a4..eaa1821 100644
--- a/configure.ac
+++ b/configure.ac
@@ -209,11 +209,11 @@ PKG_CHECK_MODULES(XFONT, xproto xtrans fontsproto fontenc)
 XTRANS_CONNECTION_FLAGS
 
 if test "x$GCC" = "xyes"; then
-	GCC_WARNINGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+	CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
 	-Wmissing-prototypes -Wmissing-declarations \
 	-Wnested-externs -fno-strict-aliasing"
-	CFLAGS="$GCC_WARNINGS $CFLAGS"
 fi
+AC_SUBST([CWARNFLAGS])
 
 case $host_os in
     linux*)
@@ -226,9 +226,7 @@ case $host_os in
         OS_CFLAGS=
         ;;
 esac
-
-CFLAGS="$CFLAGS $XFONT_CFLAGS $OS_CFLAGS"
-LIBS="$LIBS $XFONT_LIBS"
+AC_SUBST([OS_CFLAGS])
 
 XORG_RELEASE_VERSION
 
diff --git a/src/FreeType/Makefile.am b/src/FreeType/Makefile.am
index 8e67837..fa45da1 100644
--- a/src/FreeType/Makefile.am
+++ b/src/FreeType/Makefile.am
@@ -3,7 +3,7 @@ INCLUDES =                                \
 
 noinst_LTLIBRARIES = libft.la
 
-AM_CFLAGS=$(FREETYPE_CFLAGS)
+AM_CFLAGS = $(FREETYPE_CFLAGS) $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
 
 libft_la_SOURCES = 		\
 	ft.h			\
diff --git a/src/Makefile.am b/src/Makefile.am
index cf71328..3e0cbfa 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -71,7 +71,7 @@ libXfont_la_LIBADD = \
 	$(FONTFILE_LIB) $(FREETYPE_LIB) $(BITMAP_LIB) \
 	$(BUILTINS_LIB) $(FC_LIB) $(UTIL_LIB) $(STUBS_LIB) \
 	$(TYPE1_LIB) $(SPEEDO_LIB) \
-	$(FREETYPE_LIBS) $(Z_LIBS) $(MATH_LIBS) 	
+	$(FREETYPE_LIBS) $(Z_LIBS) $(MATH_LIBS) $(XFONT_LIBS)
 
 libXfont_la_SOURCES = dummy.c
 
diff --git a/src/Speedo/Makefile.am b/src/Speedo/Makefile.am
index f282aef..99d972d 100644
--- a/src/Speedo/Makefile.am
+++ b/src/Speedo/Makefile.am
@@ -1,6 +1,8 @@
 INCLUDES =			\
 	-I${top_srcdir}/include
 
+AM_CFLAGS = $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
+
 noinst_LTLIBRARIES = libspeedo.la
 
 libspeedo_la_SOURCES =			\
diff --git a/src/Type1/Makefile.am b/src/Type1/Makefile.am
index 0a2a607..cf5eb7d 100644
--- a/src/Type1/Makefile.am
+++ b/src/Type1/Makefile.am
@@ -1,6 +1,8 @@
 INCLUDES =			\
 	-I${top_srcdir}/include
 
+AM_CFLAGS = $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
+
 noinst_LTLIBRARIES = libtype1.la
 
 libtype1_la_SOURCES =			\
diff --git a/src/bitmap/Makefile.am b/src/bitmap/Makefile.am
index e3ef040..b5b9674 100644
--- a/src/bitmap/Makefile.am
+++ b/src/bitmap/Makefile.am
@@ -1,6 +1,8 @@
 INCLUDES =			\
 	-I${top_srcdir}/include
 
+AM_CFLAGS = $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
+
 noinst_LTLIBRARIES = libbitmap.la
 
 libbitmap_la_SOURCES = 		\
diff --git a/src/builtins/Makefile.am b/src/builtins/Makefile.am
index af6ed98..b203fda 100644
--- a/src/builtins/Makefile.am
+++ b/src/builtins/Makefile.am
@@ -2,6 +2,8 @@ INCLUDES =			\
 	-I${top_srcdir}/include \
 	-I${top_srcdir}/src/bitmap
 
+AM_CFLAGS = $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
+
 noinst_LTLIBRARIES = libbuiltins.la
 
 libbuiltins_la_SOURCES = 	\
diff --git a/src/fc/Makefile.am b/src/fc/Makefile.am
index 120fbeb..3bfd231 100644
--- a/src/fc/Makefile.am
+++ b/src/fc/Makefile.am
@@ -1,6 +1,8 @@
 INCLUDES =                      \
 	-I${top_srcdir}/include
 
+AM_CFLAGS = $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
+
 noinst_LTLIBRARIES = libfc.la
 
 libfc_la_SOURCES = 		\
diff --git a/src/fontfile/Makefile.am b/src/fontfile/Makefile.am
index 8418269..45d1dba 100644
--- a/src/fontfile/Makefile.am
+++ b/src/fontfile/Makefile.am
@@ -5,6 +5,8 @@ INCLUDES =			\
 	-I${top_srcdir}/include \
 	$(FONTENCDEFS)		
 
+AM_CFLAGS = $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
+
 noinst_LTLIBRARIES = libfontfile.la
 
 libfontfile_la_LIBADD = 	\
diff --git a/src/stubs/Makefile.am b/src/stubs/Makefile.am
index acee880..963470f 100644
--- a/src/stubs/Makefile.am
+++ b/src/stubs/Makefile.am
@@ -1,6 +1,8 @@
 INCLUDES =			\
 	-I${top_srcdir}/include
 
+AM_CFLAGS = $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
+
 noinst_LTLIBRARIES = libstubs.la
 
 libstubs_la_SOURCES = 		\
diff --git a/src/util/Makefile.am b/src/util/Makefile.am
index bec93ee..055fc9d 100644
--- a/src/util/Makefile.am
+++ b/src/util/Makefile.am
@@ -2,6 +2,8 @@ INCLUDES =			\
 	-I${top_srcdir}/include \
 	-I$(top_srcdir)/src/stubs
 
+AM_CFLAGS = $(XFONT_CFLAGS) $(OS_CFLAGS) $(CWARNFLAGS)
+
 noinst_LTLIBRARIES = libutil.la
 
 libutil_la_SOURCES = 		\

commit 6bf52de1fb84d61b227daf7a7077af9ea3ec27a3
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Mon Oct 20 19:32:23 2008 -0700

    X.Org Bug 17945: avoid gcc warnings for libXfont
    
    <http://bugs.freedesktop.org/show_bug.cgi?id=17945>
    
    Avoid two gcc warnings
    src/fontfile/ffcheck.c:150: warning: initialization discards qualifiers from pointer target type
    src/fontfile/register.c:98: warning: initialization discards qualifiers from pointer target type

diff --git a/src/fontfile/ffcheck.c b/src/fontfile/ffcheck.c
index ea0b3b4..70d117e 100644
--- a/src/fontfile/ffcheck.c
+++ b/src/fontfile/ffcheck.c
@@ -147,7 +147,7 @@ static const FontModule builtinFontModuleList[] = {
 void
 FontFileCheckRegisterFpeFunctions (void)
 {
-    FontModule *fmlist = builtinFontModuleList;
+    const FontModule *fmlist = builtinFontModuleList;
     
 #ifdef XFONT_BITMAP
     /* bitmap is always builtin to libXfont now */
diff --git a/src/fontfile/register.c b/src/fontfile/register.c
index 3dc7ef0..5b70df7 100644
--- a/src/fontfile/register.c
+++ b/src/fontfile/register.c
@@ -95,7 +95,7 @@ static const FontModule builtinFontModuleList[] = {
 void
 FontFileRegisterFpeFunctions(void)
 {
-    FontModule *fmlist = builtinFontModuleList;
+    const FontModule *fmlist = builtinFontModuleList;
 
 #ifdef XFONT_BITMAP
     /* bitmap is always builtin to libXfont now */

commit b012dcf65b1f0e41def2f595f1b1e7b06a49d275
Author: Adam Jackson <ajax@redhat.com>
Date:   Thu Aug 28 15:36:06 2008 -0400

    Retry font server connections faster.

diff --git a/src/fc/fsio.c b/src/fc/fsio.c
index a7abe12..2b55f85 100644
--- a/src/fc/fsio.c
+++ b/src/fc/fsio.c
@@ -125,8 +125,6 @@ _fs_connect(char *servername, int *err)
     _FontTransSetOption(trans_conn, TRANS_NONBLOCKING, 1);
 
     do {
-	if (i == TRANS_TRY_CONNECT_AGAIN)
-	    sleep(1);
 	i = _FontTransConnect(trans_conn,servername);
     } while ((i == TRANS_TRY_CONNECT_AGAIN) && (retries-- > 0));
 

commit 8a6df69750a2d350074715fb31d9d20195d00b4c
Author: Adam Jackson <ajax@redhat.com>
Date:   Thu Aug 28 15:35:16 2008 -0400

    Nuke fontcache.
    
    Hasn't been relevant since the X-TT merge ages ago.

diff --git a/configure.ac b/configure.ac
index b4a9505..aa689a4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -190,20 +190,6 @@ if test "x$LOADABLE_FONTS" = xyes; then
 fi
 
 #
-# Font cache extension support?
-#
-
-AC_ARG_ENABLE(fontcache, [ --disable-fontcache ],[XFONT_FONTCACHE=$enableval],[XFONT_FONTCACHE=yes])
-AM_CONDITIONAL(XFONT_FONTCACHE, [test "x$XFONT_FONTCACHE" = xyes])
-if test "x$XFONT_FONTCACHE" = xyes; then
-	AC_DEFINE(FONTCACHE,1,[Support the font caching extension])
-	PKG_CHECK_MODULES(FONTCACHEPROTO, fontcacheproto)
-else
-	FONTCACHEPROTO_CFLAGS=""
-fi
-AC_SUBST(FONTCACHEPROTO_CFLAGS)
-
-#
 # Support connection to font servers?
 #
 
@@ -248,7 +234,6 @@ XORG_RELEASE_VERSION
 
 AC_OUTPUT([Makefile
 	   src/Makefile
-	   src/fontcache/Makefile
 	   src/fontfile/Makefile
 	   src/FreeType/Makefile
 	   src/builtins/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 8a9c796..cf71328 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -21,11 +21,6 @@
 
 lib_LTLIBRARIES = libXfont.la
 
-if XFONT_FONTCACHE
-FONTCACHE_DIR = fontcache
-FONTCACHE_LIB = fontcache/libfontcache.la
-endif
-
 if XFONT_FONTFILE
 FONTFILE_DIR = fontfile
 FONTFILE_LIB = fontfile/libfontfile.la
@@ -69,12 +64,12 @@ STUBS_DIR = stubs
 
 SUBDIRS=\
 	$(FONTFILE_DIR) $(FREETYPE_DIR) $(BITMAP_DIR) \
-	$(BUILTINS_DIR) $(FC_DIR) $(UTIL_DIR) $(STUBS_DIR) $(FONTCACHE_DIR) \
+	$(BUILTINS_DIR) $(FC_DIR) $(UTIL_DIR) $(STUBS_DIR) \
 	$(TYPE1_DIR) $(SPEEDO_DIR)
 
 libXfont_la_LIBADD = \
 	$(FONTFILE_LIB) $(FREETYPE_LIB) $(BITMAP_LIB) \
-	$(BUILTINS_LIB) $(FC_LIB) $(UTIL_LIB) $(STUBS_LIB) $(FONTCACHE_LIB) \
+	$(BUILTINS_LIB) $(FC_LIB) $(UTIL_LIB) $(STUBS_LIB) \
 	$(TYPE1_LIB) $(SPEEDO_LIB) \
 	$(FREETYPE_LIBS) $(Z_LIBS) $(MATH_LIBS) 	
 
diff --git a/src/fontcache/.gitignore b/src/fontcache/.gitignore
deleted file mode 100644
index 5200253..0000000
--- a/src/fontcache/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.deps
-*.la
-.libs
-*.lo
-Makefile
-Makefile.in
diff --git a/src/fontcache/Makefile.am b/src/fontcache/Makefile.am
deleted file mode 100644
index 6ecc0ee..0000000
--- a/src/fontcache/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-if XFONT_FONTCACHE
-INCLUDES =                                \
-	-I${top_srcdir}/include
-noinst_LTLIBRARIES = libfontcache.la
-AM_CFLAGS = $(FONTCACHEPROTO_CFLAGS)
-libfontcache_la_SOURCES = fontcache.c fontcache.h fcqueue.h
-fontdir = $(includedir)/X11/fonts
-endif
diff --git a/src/fontcache/fcqueue.h b/src/fontcache/fcqueue.h
deleted file mode 100644
index 58ba6df..0000000
--- a/src/fontcache/fcqueue.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)queue.h	8.5 (Berkeley) 8/20/94
- * $_Id_: queue.h,v 1.10.2.4 1998/05/12 16:35:25 bde Exp $
- *
- * ----------------------------------------------------------------------
- *
- * Note:
- *  This header file derived from FreeBSD-2.2.7
- *  /usr/include/sys/queue.h, modified for X-TrueType Server by
- *  Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
- *
- *	Id: fcqueue.h,v 1.1 1999/01/06 13:36:42 akiyama Exp $
- */
-
-#ifndef _FCQUEUE_H_
-#define _FCQUEUE_H_
-
-/*
- * Tail queue definitions.
- */
-#define TAILQ_HEAD(name, type)						\
-struct name {								\
-	struct type *tqh_first;	/* first element */			\
-	struct type **tqh_last;	/* addr of last next element */		\
-}
-
-#define TAILQ_HEAD_INITIALIZER(head)					\
-	{ NULL, &(head).tqh_first }
-
-#define TAILQ_ENTRY(type)						\
-struct {								\
-	struct type *tqe_next;	/* next element */			\
-	struct type **tqe_prev;	/* address of previous next element */	\
-}
-
-/*
- * Tail queue functions.
- */
-#define	TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
-
-#define TAILQ_FOREACH(var, head, field)					\
-	for (var = TAILQ_FIRST(head); var; var = TAILQ_NEXT(var, field))
-
-#define	TAILQ_FIRST(head) ((head)->tqh_first)
-
-#define	TAILQ_LAST(head, headname) \
-	(*(((struct headname *)((head)->tqh_last))->tqh_last))
-
-#define	TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
-
-#define TAILQ_PREV(elm, headname, field) \
-	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-
-#define	TAILQ_INIT(head) do {						\
-	(head)->tqh_first = NULL;					\
-	(head)->tqh_last = &(head)->tqh_first;				\
-} while (0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do {			\
-	if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)	\
-		(head)->tqh_first->field.tqe_prev =			\
-		    &(elm)->field.tqe_next;				\
-	else								\
-		(head)->tqh_last = &(elm)->field.tqe_next;		\
-	(head)->tqh_first = (elm);					\
-	(elm)->field.tqe_prev = &(head)->tqh_first;			\
-} while (0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do {			\
-	(elm)->field.tqe_next = NULL;					\
-	(elm)->field.tqe_prev = (head)->tqh_last;			\
-	*(head)->tqh_last = (elm);					\
-	(head)->tqh_last = &(elm)->field.tqe_next;			\
-} while (0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
-		(elm)->field.tqe_next->field.tqe_prev = 		\
-		    &(elm)->field.tqe_next;				\
-	else								\
-		(head)->tqh_last = &(elm)->field.tqe_next;		\
-	(listelm)->field.tqe_next = (elm);				\
-	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
-} while (0)
-
-#define TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
-	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
-	(elm)->field.tqe_next = (listelm);				\
-	*(listelm)->field.tqe_prev = (elm);				\
-	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
-} while (0)
-
-#define TAILQ_REMOVE(head, elm, field) do {				\
-	if (((elm)->field.tqe_next) != NULL)				\
-		(elm)->field.tqe_next->field.tqe_prev = 		\
-		    (elm)->field.tqe_prev;				\
-	else								\
-		(head)->tqh_last = (elm)->field.tqe_prev;		\
-	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
-} while (0)
-
-#endif /* _FCQUEUE_H_ */
diff --git a/src/fontcache/fontcache.c b/src/fontcache/fontcache.c
deleted file mode 100644
index 40cfd63..0000000
--- a/src/fontcache/fontcache.c
+++ /dev/null
@@ -1,1022 +0,0 @@
-/*-
- * Copyright (c) 1998-1999 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
- * All rights reserved.
- * Copyright (c) 1998-1999 X-TrueType Server Project, All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	Id: fontcache.c,v 1.19 1999/01/31 13:06:00 akiyama Exp $
- */
-/* $XFree86: xc/lib/font/fontcache/fontcache.c,v 1.4 2001/04/05 17:42:28 dawes Exp $ */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "fontcache.h"
-
-#define LOW_MARK	0
-#define HI_MARK		1
-
-#define PURGE_ENTRY	1
-#define PURGE_BITMAP	2
-


Reply to: