[xorg-commit-diffs] xc/lib/Xft AUTHORS, NONE, 1.1.6.1 COPYING, NONE, 1.1.6.1 ChangeLog, NONE, 1.1.6.1 INSTALL, NONE, 1.1.6.1 Makefile.am, NONE, 1.1.6.1 NEWS, NONE, 1.1.6.1 README, NONE, 1.1.6.1 Xft.3.in, NONE, 1.1.6.1 aclocal.m4, NONE, 1.1.6.1 autogen.sh, NONE, 1.1.6.1 config.guess, NONE, 1.1.6.1 config.sub, NONE, 1.1.6.1 configure, NONE, 1.1.6.1 configure.ac, NONE, 1.1.6.1 depcomp, NONE, 1.1.6.1 install-sh, NONE, 1.1.6.1 ltmain.sh, NONE, 1.1.6.1 missing, NONE, 1.1.6.1 mkinstalldirs, NONE, 1.1.6.1 Imakefile, 1.1.4.4, 1.1.4.5 Makefile.in, 1.1.4.1, 1.1.4.2 Xft.h, 1.1.4.2, 1.1.4.3 Xft.man, 1.1.4.2, 1.1.4.3 XftCompat.h, 1.1.4.2, 1.1.4.3 config.h.in, 1.1, 1.1.4.1 xft-config.in, 1.1.4.1, 1.1.4.2 xft.pc.in, 1.1.4.1, 1.1.4.2 xftcolor.c, 1.1.4.1, 1.1.4.2 xftcore.c, 1.1.4.2, 1.1.4.3 xftdbg.c, 1.1.4.1, 1.1.4.2 xftdpy.c, 1.1.4.1, 1.1.4.2 xftdraw.c, 1.1.4.2, 1.1.4.3 xftextent.c, 1.1.4.1, 1.1.4.2 xftfont.c, 1.1.4.1, 1.1.4.2 xftfreetype.c, 1.1.4.2, 1.1.4.3 xftglyphs.c, 1.1.4.2, 1.1.4.3 xftinit.c, 1.1.4.1, 1.1.4.2 xftint.h, 1.1.4.1, 1.1.4.2 xftlist.c, 1.1.4.2, 1.1.4.3 xftname.c, 1.1.4.1, 1.1.4.2 xftrender.c, 1.1.4.1, 1.1.4.2 xftstr.c, 1.1.4.1, 1.1.4.2 xftswap.c, 1.1.4.1, 1.1.4.2 xftxlfd.c, 1.1.4.2, 1.1.4.3 XftFreetype.h, 1.1.4.1, NONE configure.in, 1.1.4.1, NONE xftpat.c, 1.1.4.1, NONE

Egbert Eich xorg-commit at pdx.freedesktop.org
Thu Apr 15 03:15:09 PDT 2004


Committed by: eich

Update of /cvs/xorg/xc/lib/Xft
In directory pdx:/home/eich/tstbuild/xc/lib/Xft

Modified Files:
      Tag: XORG-CURRENT
	Imakefile Makefile.in Xft.h Xft.man XftCompat.h config.h.in 
	xft-config.in xft.pc.in xftcolor.c xftcore.c xftdbg.c xftdpy.c 
	xftdraw.c xftextent.c xftfont.c xftfreetype.c xftglyphs.c 
	xftinit.c xftint.h xftlist.c xftname.c xftrender.c xftstr.c 
	xftswap.c xftxlfd.c 
Added Files:
      Tag: XORG-CURRENT
	AUTHORS COPYING ChangeLog INSTALL Makefile.am NEWS README 
	Xft.3.in aclocal.m4 autogen.sh config.guess config.sub 
	configure configure.ac depcomp install-sh ltmain.sh missing 
	mkinstalldirs 
Removed Files:
      Tag: XORG-CURRENT
	XftFreetype.h configure.in xftpat.c 
Log Message:
2004-04-15  Egbert Eich  <eich at freedesktop.org>
        Merged changes from RELEASE-1 branch
	


--- NEW FILE: AUTHORS ---
Keith Packard, of SuSE, HP, and XFree86

Automake work by Noah Levitt
Frank Giessler - OS/2
Jungshik Shin - UTF-16 api's
Ralf Habacker, Suhaib Siddiqi - Cygwin port
Marc La France - Sun port
David Dawes - bug fixes, maintenance.

Our apologies if we've overlooked someone.

--- NEW FILE: COPYING ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: ChangeLog ---
2004-03-22  Keith Packard  <keithp at keithp.com>

	* Makefile.am:
	* Xft.h:
	* configure.ac:
	Bump version number to 2.1.6
	Bump .so version to 2.1.2

2004-03-19  Keith Packard  <keithp at keithp.com>

	* xftfreetype.c: (_XftSetFace):
	Rework bitmap instance selection code to make it look prettier.
	Also, try both y_ppem/x_ppem *and* width/height to see
	which values will actually manage to load a font -- FreeType 2.1.7
	has broken bdf/pcf loaders.

2004-03-11  Keith Packard  <keithp at keithp.com>

	* Xft.h:
[...1016 lines suppressed...]
	* XftConfig.cpp: Static build fix and ident lines.

2000-10-06 22:54  keithp

	* load.c: Xft: Fix up horizontal advance computation

2000-10-05 17:01  keithp

	* Imakefile, XftConfig.cpp: Fix XftConfig file generation

2000-10-05 15:57  keithp

	* Xft.h, drawstr.c, parse.c: Add debugging to Xft config parsing

2000-10-05 11:05  keithp

	* Imakefile, Xft.h, Xft.man, XftConfig.cpp, drawstr.c, extents.c,
	glyphs.c, lex.c, load.c, match.c, metrics.c, parse.c, xftint.h: Add
	new Xft library to convert FreeType 2 fonts into Render glyphsets


--- NEW FILE: INSTALL ---
Xft is built with the traditional configure script:

	$ ./configure --prefix=/usr/X11R6

This should generate valid Makefiles, then:

        $ make
        $ make install

--- NEW FILE: Makefile.am ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: NEWS ---

--- NEW FILE: README ---
		Xft
	X FreeType library
	  Version 2.1.3
	    2003-3-10

Xft version 2.1 is the first stand alone release of Xft, a library that
connects X applications with the FreeType font rasterization library. Xft
uses fontconfig to locate fonts so it has no configuration files.

Version 2.1.3

Change Freetype includes to new syntax.

Search for nearest bitmap for bitmap-only fonts.

Support fontconfig 2.2 release which doesn't include FC_HINT_STYLE.

Keith Packard
keithp at keithp.com

--- NEW FILE: Xft.3.in ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: aclocal.m4 ---
# generated automatically by aclocal 1.7.9 -*- Autoconf -*-

# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

# Do all the work for Automake.                            -*- Autoconf -*-

# This macro actually does too much some checks are only needed if
# your package does certain things.  But this isn't really a big deal.

# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
[...6819 lines suppressed...]
            ifelse([$4], ,echo $$1_PKG_ERRORS,)
        fi

        AC_SUBST($1_CFLAGS)
        AC_SUBST($1_LIBS)
     else
        echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
        echo "*** See http://www.freedesktop.org/software/pkgconfig"
     fi
  fi

  if test $succeeded = yes; then
     ifelse([$3], , :, [$3])
  else
     ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
  fi
])




--- NEW FILE: autogen.sh ---
#! /bin/sh
autoreconf -v --install || exit 1
./configure --enable-maintainer-mode "$@"

--- NEW FILE: config.guess ---
#! /bin/sh
# Attempt to guess a canonical system name.
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.

timestamp='2003-02-22'

# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
[...1349 lines suppressed...]
/bin/universe          = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch              = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`

UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM  = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF

exit 1

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:

--- NEW FILE: config.sub ---
#! /bin/sh
# Configuration validation subroutine script.
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.

timestamp='2003-02-22'

# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine.  It does not imply ALL GNU software can.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[...1450 lines suppressed...]
			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
				vendor=atari
				;;
			-vos*)
				vendor=stratus
				;;
		esac
		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
		;;
esac

echo $basic_machine$os
exit 0

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:

--- NEW FILE: configure ---
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for libXft 2.1.5.
#
# Report bugs to <keithp at keithp.com>.
#
# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization.  ##
## --------------------- ##

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
[...21512 lines suppressed...]
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded.  So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status.  When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
  ac_cs_success=:
  ac_config_status_args=
  test "$silent" = yes &&
    ac_config_status_args="$ac_config_status_args --quiet"
  exec 5>/dev/null
  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
  exec 5>>config.log
  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
  # would make configure fail if this is the last instruction.
  $ac_cs_success || { (exit 1); exit 1; }
fi



--- NEW FILE: configure.ac ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: depcomp ---
#! /bin/sh

# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.

# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.

if test -z "$depmode" || test -z "$source" || test -z "$object"; then
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
  exit 1
fi
# `libtool' can also be set to `yes' or `no'.

if test -z "$depfile"; then
   base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
   dir=`echo "$object" | sed 's,/.*$,/,'`
   if test "$dir" = "$object"; then
      dir=
   fi
   # FIXME: should be _deps on DOS.
   depfile="$dir.deps/$base"
fi

tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}

rm -f "$tmpdepfile"

# Some modes work just like other modes, but use different flags.  We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write.  Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
  # HP compiler uses -M and no extra arg.
  gccflag=-M
  depmode=gcc
fi

if test "$depmode" = dashXmstdout; then
   # This is just like dashmstdout with a different argument.
   dashmflag=-xM
   depmode=dashmstdout
fi

case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff.  Hmm.
  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
  stat=$?
  if test $stat -eq 0; then :
  else
    rm -f "$tmpdepfile"
    exit $stat
  fi
  mv "$tmpdepfile" "$depfile"
  ;;

gcc)
## There are various ways to get dependency output from gcc.  Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
##   up in a subdir.  Having to rename by hand is ugly.
##   (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
##   -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
##   than renaming).
  if test -z "$gccflag"; then
    gccflag=-MD,
  fi
  "$@" -Wp,"$gccflag$tmpdepfile"
  stat=$?
  if test $stat -eq 0; then :
  else
    rm -f "$tmpdepfile"
    exit $stat
  fi
  rm -f "$depfile"
  echo "$object : \\" > "$depfile"
  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
  sed -e 's/^[^:]*: / /' \
      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header).  We avoid this by adding
## dummy dependencies for each header file.  Too bad gcc doesn't do
## this for us directly.
  tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'.  On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly.  Breaking it into two sed invocations is a workaround.
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
  rm -f "$tmpdepfile"
  ;;

hp)
  # This case exists only to let depend.m4 do its work.  It works by
  # looking at the text of this script.  This case will never be run,
  # since it is checked for above.
  exit 1
  ;;

sgi)
  if test "$libtool" = yes; then
    "$@" "-Wp,-MDupdate,$tmpdepfile"
  else
    "$@" -MDupdate "$tmpdepfile"
  fi
  stat=$?
  if test $stat -eq 0; then :
  else
    rm -f "$tmpdepfile"
    exit $stat
  fi
  rm -f "$depfile"

  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
    echo "$object : \\" > "$depfile"

    # Clip off the initial element (the dependent).  Don't try to be
    # clever and replace this with sed code, as IRIX sed won't handle
    # lines with more than a fixed number of characters (4096 in
    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
    # the IRIX cc adds comments like `#:fec' to the end of the
    # dependency line.
    tr ' ' '
' < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
    tr '
' ' ' >> $depfile
    echo >> $depfile

    # The second pass generates a dummy entry for each header file.
    tr ' ' '
' < "$tmpdepfile" \
   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
   >> $depfile
  else
    # The sourcefile does not contain any dependencies, so just
    # store a dummy comment line, to avoid errors with the Makefile
    # "include basename.Plo" scheme.
    echo "#dummy" > "$depfile"
  fi
  rm -f "$tmpdepfile"
  ;;

aix)
  # The C for AIX Compiler uses -M and outputs the dependencies
  # in a .u file.  In older versions, this file always lives in the
  # current directory.  Also, the AIX compiler puts `$object:' at the
  # start of each line; $object doesn't have directory information.
  # Version 6 uses the directory in both cases.
  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
  tmpdepfile="$stripped.u"
  if test "$libtool" = yes; then
    "$@" -Wc,-M
  else
    "$@" -M
  fi
  stat=$?

  if test -f "$tmpdepfile"; then :
  else
    stripped=`echo "$stripped" | sed 's,^.*/,,'`
    tmpdepfile="$stripped.u"
  fi

  if test $stat -eq 0; then :
  else
    rm -f "$tmpdepfile"
    exit $stat
  fi

  if test -f "$tmpdepfile"; then
    outname="$stripped.o"
    # Each line is of the form `foo.o: dependent.h'.
    # Do two passes, one to just change these to
    # `$object: dependent.h' and one to simply `dependent.h:'.
    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
  else
    # The sourcefile does not contain any dependencies, so just
    # store a dummy comment line, to avoid errors with the Makefile
    # "include basename.Plo" scheme.
    echo "#dummy" > "$depfile"
  fi
  rm -f "$tmpdepfile"
  ;;

icc)
  # Intel's C compiler understands `-MD -MF file'.  However on
  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
  # ICC 7.0 will fill foo.d with something like
  #    foo.o: sub/foo.c
  #    foo.o: sub/foo.h
  # which is wrong.  We want:
  #    sub/foo.o: sub/foo.c
  #    sub/foo.o: sub/foo.h
  #    sub/foo.c:
  #    sub/foo.h:
  # ICC 7.1 will output
  #    foo.o: sub/foo.c sub/foo.h
  # and will wrap long lines using \ :
  #    foo.o: sub/foo.c ... \
  #     sub/foo.h ... \
  #     ...

  "$@" -MD -MF "$tmpdepfile"
  stat=$?
  if test $stat -eq 0; then :
  else
    rm -f "$tmpdepfile"
    exit $stat
  fi
  rm -f "$depfile"
  # Each line is of the form `foo.o: dependent.h',
  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
  # Do two passes, one to just change these to
  # `$object: dependent.h' and one to simply `dependent.h:'.
  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
  # Some versions of the HPUX 10.20 sed can't process this invocation
  # correctly.  Breaking it into two sed invocations is a workaround.
  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
    sed -e 's/$/ :/' >> "$depfile"
  rm -f "$tmpdepfile"
  ;;

tru64)
   # The Tru64 compiler uses -MD to generate dependencies as a side
   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
   # dependencies in `foo.d' instead, so we check for that too.
   # Subdirectories are respected.
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   test "x$dir" = "x$object" && dir=
   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`

   if test "$libtool" = yes; then
      tmpdepfile1="$dir.libs/$base.lo.d"
      tmpdepfile2="$dir.libs/$base.d"
      "$@" -Wc,-MD
   else
      tmpdepfile1="$dir$base.o.d"
      tmpdepfile2="$dir$base.d"
      "$@" -MD
   fi

   stat=$?
   if test $stat -eq 0; then :
   else
      rm -f "$tmpdepfile1" "$tmpdepfile2"
      exit $stat
   fi

   if test -f "$tmpdepfile1"; then
      tmpdepfile="$tmpdepfile1"
   else
      tmpdepfile="$tmpdepfile2"
   fi
   if test -f "$tmpdepfile"; then
      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
      # That's a tab and a space in the [].
      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   else
      echo "#dummy" > "$depfile"
   fi
   rm -f "$tmpdepfile"
   ;;

#nosideeffect)
  # This comment above is used by automake to tell side-effect
  # dependency tracking mechanisms from slower ones.

dashmstdout)
  # Important note: in order to support this mode, a compiler *must*
  # always write the preprocessed file to stdout, regardless of -o.
  "$@" || exit $?

  # Remove the call to Libtool.
  if test "$libtool" = yes; then
    while test $1 != '--mode=compile'; do
      shift
    done
    shift
  fi

  # Remove `-o $object'.
  IFS=" "
  for arg
  do
    case $arg in
    -o)
      shift
      ;;
    $object)
      shift
      ;;
    *)
      set fnord "$@" "$arg"
      shift # fnord
      shift # $arg
      ;;
    esac
  done

  test -z "$dashmflag" && dashmflag=-M
  # Require at least two characters before searching for `:'
  # in the target name.  This is to cope with DOS-style filenames:
  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
  "$@" $dashmflag |
    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
  rm -f "$depfile"
  cat < "$tmpdepfile" > "$depfile"
  tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly.  Breaking it into two sed invocations is a workaround.
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
  rm -f "$tmpdepfile"
  ;;

dashXmstdout)
  # This case only exists to satisfy depend.m4.  It is never actually
  # run, as this mode is specially recognized in the preamble.
  exit 1
  ;;

makedepend)
  "$@" || exit $?
  # Remove any Libtool call
  if test "$libtool" = yes; then
    while test $1 != '--mode=compile'; do
      shift
    done
    shift
  fi
  # X makedepend
  shift
  cleared=no
  for arg in "$@"; do
    case $cleared in
    no)
      set ""; shift
      cleared=yes ;;
    esac
    case "$arg" in
    -D*|-I*)
      set fnord "$@" "$arg"; shift ;;
    # Strip any option that makedepend may not understand.  Remove
    # the object too, otherwise makedepend will parse it as a source file.
    -*|$object)
      ;;
    *)
      set fnord "$@" "$arg"; shift ;;
    esac
  done
  obj_suffix="`echo $object | sed 's/^.*\././'`"
  touch "$tmpdepfile"
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
  rm -f "$depfile"
  cat < "$tmpdepfile" > "$depfile"
  sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly.  Breaking it into two sed invocations is a workaround.
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
  rm -f "$tmpdepfile" "$tmpdepfile".bak
  ;;

cpp)
  # Important note: in order to support this mode, a compiler *must*
  # always write the preprocessed file to stdout.
  "$@" || exit $?

  # Remove the call to Libtool.
  if test "$libtool" = yes; then
    while test $1 != '--mode=compile'; do
      shift
    done
    shift
  fi

  # Remove `-o $object'.
  IFS=" "
  for arg
  do
    case $arg in
    -o)
      shift
      ;;
    $object)
      shift
      ;;
    *)
      set fnord "$@" "$arg"
      shift # fnord
      shift # $arg
      ;;
    esac
  done

  "$@" -E |
    sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
    sed '$ s: \\$::' > "$tmpdepfile"
  rm -f "$depfile"
  echo "$object : \\" > "$depfile"
  cat < "$tmpdepfile" >> "$depfile"
  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
  rm -f "$tmpdepfile"
  ;;

msvisualcpp)
  # Important note: in order to support this mode, a compiler *must*
  # always write the preprocessed file to stdout, regardless of -o,
  # because we must use -o when running libtool.
  "$@" || exit $?
  IFS=" "
  for arg
  do
    case "$arg" in
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
	set fnord "$@"
	shift
	shift
	;;
    *)
	set fnord "$@" "$arg"
	shift
	shift
	;;
    esac
  done
  "$@" -E |
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
  rm -f "$depfile"
  echo "$object : \\" > "$depfile"
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
  echo "	" >> "$depfile"
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
  rm -f "$tmpdepfile"
  ;;

none)
  exec "$@"
  ;;

*)
  echo "Unknown depmode $depmode" 1>&2
  exit 1
  ;;
esac

exit 0

--- NEW FILE: install-sh ---
#!/bin/sh
#
# install - install a program, script, or datafile
#
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# 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 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
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.  It can only install one file at a time, a restriction
# shared with many OS's install programs.


# set DOITPROG to echo to test this script

# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"


# put in absolute paths if you don't have them in your path; or use env. vars.

mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"

transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""

while [ x"$1" != x ]; do
    case $1 in
	-c) instcmd=$cpprog
	    shift
	    continue;;

	-d) dir_arg=true
	    shift
	    continue;;

	-m) chmodcmd="$chmodprog $2"
	    shift
	    shift
	    continue;;

	-o) chowncmd="$chownprog $2"
	    shift
	    shift
	    continue;;

	-g) chgrpcmd="$chgrpprog $2"
	    shift
	    shift
	    continue;;

	-s) stripcmd=$stripprog
	    shift
	    continue;;

	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
	    shift
	    continue;;

	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
	    shift
	    continue;;

	*)  if [ x"$src" = x ]
	    then
		src=$1
	    else
		# this colon is to work around a 386BSD /bin/sh bug
		:
		dst=$1
	    fi
	    shift
	    continue;;
    esac
done

if [ x"$src" = x ]
then
	echo "$0: no input file specified" >&2
	exit 1
else
	:
fi

if [ x"$dir_arg" != x ]; then
	dst=$src
	src=""

	if [ -d "$dst" ]; then
		instcmd=:
		chmodcmd=""
	else
		instcmd=$mkdirprog
	fi
else

# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.

	if [ -f "$src" ] || [ -d "$src" ]
	then
		:
	else
		echo "$0: $src does not exist" >&2
		exit 1
	fi

	if [ x"$dst" = x ]
	then
		echo "$0: no destination specified" >&2
		exit 1
	else
		:
	fi

# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic

	if [ -d "$dst" ]
	then
		dst=$dst/`basename "$src"`
	else
		:
	fi
fi

## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`

# Make sure that the destination directory exists.
#  this part is taken from Noah Friedman's mkinstalldirs script

# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
	'
IFS="${IFS-$defaultIFS}"

oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS

pathcomp=''

while [ $# -ne 0 ] ; do
	pathcomp=$pathcomp$1
	shift

	if [ ! -d "$pathcomp" ] ;
        then
		$mkdirprog "$pathcomp"
	else
		:
	fi

	pathcomp=$pathcomp/
done
fi

if [ x"$dir_arg" != x ]
then
	$doit $instcmd "$dst" &&

	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
else

# If we're going to rename the final executable, determine the name now.

	if [ x"$transformarg" = x ]
	then
		dstfile=`basename "$dst"`
	else
		dstfile=`basename "$dst" $transformbasename |
			sed $transformarg`$transformbasename
	fi

# don't allow the sed command to completely eliminate the filename

	if [ x"$dstfile" = x ]
	then
		dstfile=`basename "$dst"`
	else
		:
	fi

# Make a couple of temp file names in the proper directory.

	dsttmp=$dstdir/_inst.$$_
	rmtmp=$dstdir/_rm.$$_

# Trap to clean up temp files at exit.

	trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
	trap '(exit $?); exit' 1 2 13 15

# Move or copy the file name to the temp name

	$doit $instcmd "$src" "$dsttmp" &&

# and set any options; do chmod last to preserve setuid bits

# If any of these fail, we abort the whole thing.  If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.

	if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
	if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&

# Now remove or move aside any old file at destination location.  We try this
# two ways since rm can't unlink itself on some systems and the destination
# file might be busy for other reasons.  In this case, the final cleanup
# might fail but the new file should still install successfully.

{
	if [ -f "$dstdir/$dstfile" ]
	then
		$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
		$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
		{
		  echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
		  (exit 1); exit
		}
	else
		:
	fi
} &&

# Now rename the file to the real destination.

	$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"

fi &&

# The final little trick to "correctly" pass the exit status to the exit trap.

{
	(exit 0); exit
}

--- NEW FILE: ltmain.sh ---
# ltmain.sh - Provide generalized library-building support services.
# NOTE: Changing this file will not affect anything until you rerun configure.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003
# Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
[...6251 lines suppressed...]
# the user asked for that or because the platform doesn't support
# them.  This is particularly important on AIX, because we don't
# support having both static and shared libraries enabled at the same
# time on that platform, so we default to a shared-only configuration.
# If a disable-shared tag is given, we'll fallback to a static-only
# configuration.  But we'll never go from static-only to shared-only.

# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
build_libtool_libs=no
build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared

# ### BEGIN LIBTOOL TAG CONFIG: disable-static
build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static

# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:

--- NEW FILE: missing ---
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.

# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

if test $# -eq 0; then
  echo 1>&2 "Try \`$0 --help' for more information"
  exit 1
fi

run=:

# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
  configure_ac=configure.ac
else
  configure_ac=configure.in
fi

case "$1" in
--run)
  # Try to run requested program, and just exit if it succeeds.
  run=
  shift
  "$@" && exit 0
  ;;
esac

# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in

  -h|--h|--he|--hel|--help)
    echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...

Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.

Options:
  -h, --help      display this help and exit
  -v, --version   output version information and exit
  --run           try to run the given command, and emulate it if it fails

Supported PROGRAM values:
  aclocal      touch file \`aclocal.m4'
  autoconf     touch file \`configure'
  autoheader   touch file \`config.h.in'
  automake     touch all \`Makefile.in' files
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
  flex         create \`lex.yy.c', if possible, from existing .c
  help2man     touch the output file
  lex          create \`lex.yy.c', if possible, from existing .c
  makeinfo     touch the output file
  tar          try tar, gnutar, gtar, then tar without non-portable flags
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
    ;;

  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
    echo "missing 0.4 - GNU automake"
    ;;

  -*)
    echo 1>&2 "$0: Unknown \`$1' option"
    echo 1>&2 "Try \`$0 --help' for more information"
    exit 1
    ;;

  aclocal*)
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
       # We have it, but it failed.
       exit 1
    fi

    echo 1>&2 "\
WARNING: \`$1' is missing on your system.  You should only need it if
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
         to install the \`Automake' and \`Perl' packages.  Grab them from
         any GNU archive site."
    touch aclocal.m4
    ;;

  autoconf)
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
       # We have it, but it failed.
       exit 1
    fi

    echo 1>&2 "\
WARNING: \`$1' is missing on your system.  You should only need it if
         you modified \`${configure_ac}'.  You might want to install the
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
         archive site."
    touch configure
    ;;

  autoheader)
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
       # We have it, but it failed.
       exit 1
    fi

    echo 1>&2 "\
WARNING: \`$1' is missing on your system.  You should only need it if
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
         from any GNU archive site."
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
    test -z "$files" && files="config.h"
    touch_files=
    for f in $files; do
      case "$f" in
      *:*) touch_files="$touch_files "`echo "$f" |
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
      *) touch_files="$touch_files $f.in";;
      esac
    done
    touch $touch_files
    ;;

  automake*)
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
       # We have it, but it failed.
       exit 1
    fi

    echo 1>&2 "\
WARNING: \`$1' is missing on your system.  You should only need it if
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
         You might want to install the \`Automake' and \`Perl' packages.
         Grab them from any GNU archive site."
    find . -type f -name Makefile.am -print |
	   sed 's/\.am$/.in/' |
	   while read f; do touch "$f"; done
    ;;

  autom4te)
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
       # We have it, but it failed.
       exit 1
    fi

    echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
         system.  You might have modified some files without having the
         proper tools for further handling them.
         You can get \`$1' as part of \`Autoconf' from any GNU
         archive site."

    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
    if test -f "$file"; then
	touch $file
    else
	test -z "$file" || exec >$file
	echo "#! /bin/sh"
	echo "# Created by GNU Automake missing as a replacement of"
	echo "#  $ $@"
	echo "exit 0"
	chmod +x $file
	exit 1
    fi
    ;;

  bison|yacc)
    echo 1>&2 "\
WARNING: \`$1' is missing on your system.  You should only need it if
         you modified a \`.y' file.  You may need the \`Bison' package
         in order for those modifications to take effect.  You can get
         \`Bison' from any GNU archive site."
    rm -f y.tab.c y.tab.h
    if [ $# -ne 1 ]; then
        eval LASTARG="\${$#}"
	case "$LASTARG" in
	*.y)
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
	    if [ -f "$SRCFILE" ]; then
	         cp "$SRCFILE" y.tab.c
	    fi
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
	    if [ -f "$SRCFILE" ]; then
	         cp "$SRCFILE" y.tab.h
	    fi
	  ;;
	esac
    fi
    if [ ! -f y.tab.h ]; then
	echo >y.tab.h
    fi
    if [ ! -f y.tab.c ]; then
	echo 'main() { return 0; }' >y.tab.c
    fi
    ;;

  lex|flex)
    echo 1>&2 "\
WARNING: \`$1' is missing on your system.  You should only need it if
         you modified a \`.l' file.  You may need the \`Flex' package
         in order for those modifications to take effect.  You can get
         \`Flex' from any GNU archive site."
    rm -f lex.yy.c
    if [ $# -ne 1 ]; then
        eval LASTARG="\${$#}"
	case "$LASTARG" in
	*.l)
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
	    if [ -f "$SRCFILE" ]; then
	         cp "$SRCFILE" lex.yy.c
	    fi
	  ;;
	esac
    fi
    if [ ! -f lex.yy.c ]; then
	echo 'main() { return 0; }' >lex.yy.c
    fi
    ;;

  help2man)
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
       # We have it, but it failed.
       exit 1
    fi

    echo 1>&2 "\
WARNING: \`$1' is missing on your system.  You should only need it if
	 you modified a dependency of a manual page.  You may need the
	 \`Help2man' package in order for those modifications to take
	 effect.  You can get \`Help2man' from any GNU archive site."

    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
    if test -z "$file"; then
	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
    fi
    if [ -f "$file" ]; then
	touch $file
    else
	test -z "$file" || exec >$file
	echo ".ab help2man is required to generate this page"
	exit 1
    fi
    ;;

  makeinfo)
    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
       # We have makeinfo, but it failed.
       exit 1
    fi

    echo 1>&2 "\
WARNING: \`$1' is missing on your system.  You should only need it if
         you modified a \`.texi' or \`.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy \`make' (AIX,
         DU, IRIX).  You might want to install the \`Texinfo' package or
         the \`GNU make' package.  Grab either from any GNU archive site."
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
    if test -z "$file"; then
      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
    fi
    touch $file
    ;;

  tar)
    shift
    if test -n "$run"; then
      echo 1>&2 "ERROR: \`tar' requires --run"
      exit 1
    fi

    # We have already tried tar in the generic part.
    # Look for gnutar/gtar before invocation to avoid ugly error
    # messages.
    if (gnutar --version > /dev/null 2>&1); then
       gnutar "$@" && exit 0
    fi
    if (gtar --version > /dev/null 2>&1); then
       gtar "$@" && exit 0
    fi
    firstarg="$1"
    if shift; then
	case "$firstarg" in
	*o*)
	    firstarg=`echo "$firstarg" | sed s/o//`
	    tar "$firstarg" "$@" && exit 0
	    ;;
	esac
	case "$firstarg" in
	*h*)
	    firstarg=`echo "$firstarg" | sed s/h//`
	    tar "$firstarg" "$@" && exit 0
	    ;;
	esac
    fi

    echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
         You may want to install GNU tar or Free paxutils, or check the
         command line arguments."
    exit 1
    ;;

  *)
    echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
         system.  You might have modified some files without having the
         proper tools for further handling them.  Check the \`README' file,
         it often tells you about the needed prerequisites for installing
         this package.  You may also peek at any GNU archive site, in case
         some other package would contain this missing \`$1' program."
    exit 1
    ;;
esac

exit 0

--- NEW FILE: mkinstalldirs ---
#! /bin/sh
# mkinstalldirs --- make directory hierarchy
# Author: Noah Friedman <friedman at prep.ai.mit.edu>
# Created: 1993-05-16
# Public domain

errstatus=0
dirmode=""

usage="\
Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."

# process command line arguments
while test $# -gt 0 ; do
  case $1 in
    -h | --help | --h*)         # -h for help
      echo "$usage" 1>&2
      exit 0
      ;;
    -m)                         # -m PERM arg
      shift
      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
      dirmode=$1
      shift
      ;;
    --)                         # stop option processing
      shift
      break
      ;;
    -*)                         # unknown option
      echo "$usage" 1>&2
      exit 1
      ;;
    *)                          # first non-opt arg
      break
      ;;
  esac
done

for file
do
  if test -d "$file"; then
    shift
  else
    break
  fi
done

case $# in
  0) exit 0 ;;
esac

case $dirmode in
  '')
    if mkdir -p -- . 2>/dev/null; then
      echo "mkdir -p -- $*"
      exec mkdir -p -- "$@"
    fi
    ;;
  *)
    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
      echo "mkdir -m $dirmode -p -- $*"
      exec mkdir -m "$dirmode" -p -- "$@"
    fi
    ;;
esac

for file
do
  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
  shift

  pathcomp=
  for d
  do
    pathcomp="$pathcomp$d"
    case $pathcomp in
      -*) pathcomp=./$pathcomp ;;
    esac

    if test ! -d "$pathcomp"; then
      echo "mkdir $pathcomp"

      mkdir "$pathcomp" || lasterr=$?

      if test ! -d "$pathcomp"; then
  	errstatus=$lasterr
      else
  	if test ! -z "$dirmode"; then
	  echo "chmod $dirmode $pathcomp"
    	  lasterr=""
  	  chmod "$dirmode" "$pathcomp" || lasterr=$?

  	  if test ! -z "$lasterr"; then
  	    errstatus=$lasterr
  	  fi
  	fi
      fi
    fi

    pathcomp="$pathcomp/"
  done
done

exit $errstatus

# Local Variables:
# mode: shell-script
# sh-indentation: 2
# End:
# mkinstalldirs ends here

Index: Imakefile
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/Imakefile,v
retrieving revision 1.1.4.4
retrieving revision 1.1.4.5
diff -u -d -r1.1.4.4 -r1.1.4.5
--- a/Imakefile	30 Mar 2004 14:23:12 -0000	1.1.4.4
+++ b/Imakefile	15 Apr 2004 10:15:01 -0000	1.1.4.5
@@ -29,7 +29,7 @@
  */
 
 #ifndef SharedFontconfigRev
-#define SharedFontconfigRev 1.0
+#define SharedFontconfigRev 1.0.4
 SharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGLIBSRC),SOFONTCONFIGREV,SharedFontconfigRev)
 #endif
 
@@ -47,7 +47,7 @@
 INCLUDES=$(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES) -I$(XBUILDINCDIR) $(WARNINGS)
 DEFINES=$(FREETYPE2DEFINES) $(RENDERDEFINES) -DXFREE86_FT2
 
-XFT_REVISION=0
+XFT_REVISION=2
 
 FREETYPE_LIBS=$(FREETYPE2LIB)
 FREETYPE_CFLAGS=$(FREETYPE2INCLUDES)
@@ -85,7 +85,7 @@
 	  libdir="$(USRLIBDIR)" \
 	  hardcode_libdir_flag_spec="$(RPATH_CFLAG)" \
 	  includedir="$(INCROOT)" \
-	  PACKAGE_VERSION="$(SOXFTREV).$(XFT_REVISION)" \
+	  VERSION="$(SOXFTREV).$(XFT_REVISION)" \
 	  FREETYPE_LIBS="$(FREETYPE_LIBS)" \
 	  FREETYPE_CFLAGS="$(FREETYPE_CFLAGS)" \
 	  XRENDER_LIBS="$(XRENDER_LIBS)" \

Index: Makefile.in
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/Makefile.in,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Makefile.in	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/Makefile.in	15 Apr 2004 10:15:01 -0000	1.1.4.2
@@ -1,203 +1,780 @@
-#
-# $XFree86: xc/lib/Xft/Makefile.in,v 1.3 2002/05/24 06:26:28 keithp Exp $
-#
-# Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of Keith Packard not be used in
-# advertising or publicity pertaining to distribution of the software without
-# specific, written prior permission.  Keith Packard makes no
-# representations about the suitability of this software for any purpose.  It
-# is provided "as is" without express or implied warranty.
-#
-# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-# EVENT SHALL KEITH PACKARD BE LIABLE FOR 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.
-#
+# Makefile.in generated by automake 1.7.9 from Makefile.am.
+# @configure_input@
 
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# 
+#  $Id: Makefile.am,v 1.9 2004/01/15 04:32:29 harold Exp $
+# 
+#  Copyright © 2003 Keith Packard, Noah Levitt
+# 
+#  Permission to use, copy, modify, distribute, and sell this software and its
+#  documentation for any purpose is hereby granted without fee, provided that
+#  the above copyright notice appear in all copies and that both that
+#  copyright notice and this permission notice appear in supporting
+#  documentation, and that the name of Keith Packard not be used in
+#  advertising or publicity pertaining to distribution of the software without
+#  specific, written prior permission.  Keith Packard makes no
+#  representations about the suitability of this software for any purpose.  It
+#  is provided "as is" without express or implied warranty.
+# 
+#  KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+#  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+#  EVENT SHALL KEITH PACKARD BE LIABLE FOR 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.
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
+FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XRENDER_CFLAGS = @XRENDER_CFLAGS@
+XRENDER_LIBS = @XRENDER_LIBS@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+ft_config = @ft_config@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
 
-srcdir=@srcdir@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-bindir=@bindir@
-datadir=@datadir@
-includedir=@includedir@
-sysconfdir=@sysconfdir@
+bin_SCRIPTS = xft-config
 
-CDEBUGFLAGS=@CFLAGS@
-CPPFLAGS=@CPPFLAGS@
-DEFS=@DEFS@
+man_MANS = Xft.3
 
-DSO_LDOPTS=@DSO_LDOPTS@
-DSO_CFLAGS=@DSO_CFLAGS@
-DSO_PIC_CFLAGS=@DSO_PIC_CFLAGS@
+AM_CFLAGS = $(FONTCONFIG_CFLAGS) $(FREETYPE_CFLAGS) $(XRENDER_CFLAGS)
 
-INCLUDES=-I.
+lib_LTLIBRARIES = libXft.la
 
-CFLAGS=$(CDEBUGFLAGS) $(INCLUDES) $(DEFS) $(CPPFLAGS)
+libXft_la_SOURCES = Xft.h \
+                    XftCompat.h \
+                    xftint.h \
+                    xftcolor.c \
+                    xftcore.c \
+                    xftdbg.c \
+                    xftdpy.c \
+                    xftdraw.c \
+                    xftextent.c \
+                    xftfont.c \
+                    xftfreetype.c \
+                    xftglyphs.c \
+                    xftinit.c \
+                    xftlist.c \
+                    xftname.c \
+                    xftrender.c \
+                    xftstr.c \
+                    xftswap.c \
+                    xftxlfd.c
 
-INSTALL=@INSTALL@
-INSTALL_PROGRAM=@INSTALL_PROGRAM@
-INSTALL_SCRIPT=@INSTALL_SCRIPT@
-INSTALL_DATA=@INSTALL_DATA@
-MKSHLIB=@MKSHLIB@
-LN_S=@LN_S@
 
-X_FONT_DIR=@X_FONT_DIR@
-FC_DEFAULT_FONTS=@FC_DEFAULT_FONTS@
+libXft_la_LIBADD = @FONTCONFIG_LIBS@ @FREETYPE_LIBS@ @XRENDER_LIBS@
 
-# shared libraries
-LIBDIR=$(libdir)
-# programs
-BINDIR=$(bindir)
-# include files
-INCLUDEDIR=$(includedir)/X11/Xft
+# -version-number requires libtool >= 1.5
+libXft_la_LDFLAGS = -version-number 2:1:1 -no-undefined
 
-LIBBASE=libXft.so
-LIBFILE=$(LIBBASE). at PACKAGE_MAJOR@. at PACKAGE_MINOR@
-LIBMAJOR=$(LIBBASE). at PACKAGE_MAJOR@
+libXftincludedir = $(includedir)/X11/Xft
+libXftinclude_HEADERS = Xft.h XftCompat.h 
 
-LIBS=@LIBS@
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xft.pc
 
-SRCS=xftcolor.c \
-     xftcore.c \
-     xftdbg.c \
-     xftdpy.c \
-     xftdraw.c \
-     xftextent.c \
-     xftfont.c \
-     xftfreetype.c \
-     xftglyphs.c \
-     xftinit.c \
-     xftlist.c \
-     xftname.c \
-     xftrender.c \
-     xftstr.c \
-     xftswap.c \
-     xftxlfd.c
-     
-OBJS=xftcolor. at OBJEXT@ \
-     xftcore. at OBJEXT@ \
-     xftdbg. at OBJEXT@ \
-     xftdpy. at OBJEXT@ \
-     xftdraw. at OBJEXT@ \
-     xftextent. at OBJEXT@ \
-     xftfont. at OBJEXT@ \
-     xftfreetype. at OBJEXT@ \
-     xftglyphs. at OBJEXT@ \
-     xftinit. at OBJEXT@ \
-     xftlist. at OBJEXT@ \
-     xftname. at OBJEXT@ \
-     xftrender. at OBJEXT@ \
-     xftstr. at OBJEXT@ \
-     xftswap. at OBJEXT@ \
-     xftxlfd. at OBJEXT@
-     
-HEADERS=Xft.h \
-       XftCompat.h \
-       xftint.h
+EXTRA_DIST = xft-config.in xft.pc.in Xft.3.in $(man_MANS) autogen.sh
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = xft.pc xft-config Xft.3
+LTLIBRARIES = $(lib_LTLIBRARIES)
 
-.c. at OBJEXT@:
-	$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) -c $< -o $@
-	
-all:: $(LIBFILE) $(LIBMAJOR) $(LIBBASE)
+libXft_la_DEPENDENCIES =
+am_libXft_la_OBJECTS = xftcolor.lo xftcore.lo xftdbg.lo xftdpy.lo \
+	xftdraw.lo xftextent.lo xftfont.lo xftfreetype.lo xftglyphs.lo \
+	xftinit.lo xftlist.lo xftname.lo xftrender.lo xftstr.lo \
+	xftswap.lo xftxlfd.lo
+libXft_la_OBJECTS = $(am_libXft_la_OBJECTS)
+SCRIPTS = $(bin_SCRIPTS)
 
-#
-# Build the library
-#
-$(LIBFILE): $(OBJS)
-	rm -f $@
-	$(MKSHLIB) $(OBJS) $(LIBS)
 
-$(LIBMAJOR): $(LIBFILE)
-	rm -f  $@
-	$(LN_S) $(LIBFILE) $(LIBMAJOR)
+DEFAULT_INCLUDES =  -I. -I$(srcdir) -I.
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+ at AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/xftcolor.Plo ./$(DEPDIR)/xftcore.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xftdbg.Plo ./$(DEPDIR)/xftdpy.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xftdraw.Plo ./$(DEPDIR)/xftextent.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xftfont.Plo ./$(DEPDIR)/xftfreetype.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xftglyphs.Plo ./$(DEPDIR)/xftinit.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xftlist.Plo ./$(DEPDIR)/xftname.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xftrender.Plo ./$(DEPDIR)/xftstr.Plo \
+ at AMDEP_TRUE@	./$(DEPDIR)/xftswap.Plo ./$(DEPDIR)/xftxlfd.Plo
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
+	$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = $(libXft_la_SOURCES)
 
-$(LIBBASE): $(LIBMAJOR)
-	rm -f $@
-	$(LN_S) $(LIBMAJOR) $(LIBBASE)
+NROFF = nroff
+MANS = $(man_MANS)
+DATA = $(pkgconfig_DATA)
 
-$(OBJS): $(HEADERS)
+HEADERS = $(libXftinclude_HEADERS)
 
-#
-# install directories
-#
+DIST_COMMON = README $(libXftinclude_HEADERS) $(srcdir)/Makefile.in \
+	$(srcdir)/configure AUTHORS COPYING ChangeLog INSTALL \
+	Makefile.am NEWS Xft.3.in aclocal.m4 config.guess config.h.in \
+	config.sub configure configure.ac depcomp install-sh ltmain.sh \
+	missing mkinstalldirs xft-config.in xft.pc.in
+SOURCES = $(libXft_la_SOURCES)
 
-install:: $(DESTDIR)$(LIBDIR) $(DESTDIR)$(LIBDIR)/pkgconfig
-install:: $(DESTDIR)$(INCLUDEDIR) $(DESTDIR)$(BINDIR)
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-am
 
-$(DESTDIR)$(LIBDIR):
-	mkdir -p $@
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
 
-$(DESTDIR)$(LIBDIR)/pkgconfig:
-	mkdir -p $@
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am  $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in  $(top_builddir)/config.status
+	cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
 
-$(DESTDIR)$(INCLUDEDIR):
-	mkdir -p $@
+$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+	cd $(srcdir) && $(AUTOCONF)
 
-$(DESTDIR)$(BINDIR):
-	mkdir -p $@
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.ac 
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 
-#
-# install library
-#
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) stamp-h1; \
+	else :; fi
 
-install:: $(DESTDIR)$(LIBDIR)/$(LIB) $(DESTDIR)$(LIBDIR)/$(LIBMAJOR) 
-install:: $(DESTDIR)$(LIBDIR)/$(LIBBASE)
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
 
-$(DESTDIR)$(LIBDIR)/$(LIBFILE): $(LIBFILE)
-	$(INSTALL_PROGRAM) $< $(DESTDIR)$(LIBDIR)
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.ac $(ACLOCAL_M4) 
+	cd $(top_srcdir) && $(AUTOHEADER)
+	touch $(srcdir)/config.h.in
 
-$(DESTDIR)$(LIBDIR)/$(LIBMAJOR): $(DESTDIR)$(LIBDIR)/$(LIBFILE)
-	rm -f  $@
-	$(LN_S) $(LIBFILE) $(DESTDIR)$(LIBDIR)/$(LIBMAJOR)
+distclean-hdr:
+	-rm -f config.h stamp-h1
+xft.pc: $(top_builddir)/config.status xft.pc.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+xft-config: $(top_builddir)/config.status xft-config.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+Xft.3: $(top_builddir)/config.status Xft.3.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+libLTLIBRARIES_INSTALL = $(INSTALL)
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(libdir)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f="`echo $$p | sed -e 's|^.*/||'`"; \
+	    echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
+	    $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
+	  else :; fi; \
+	done
 
-$(DESTDIR)$(LIBDIR)/$(LIBBASE): $(DESTDIR)$(LIBDIR)/$(LIBMAJOR)
-	rm -f  $@
-	$(LN_S) $(LIBMAJOR) $(DESTDIR)$(LIBDIR)/$(LIBBASE)
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	    p="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
+	  $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
+	done
 
-#
-# install xft-config script
-#
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" = "$$p" && dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libXft.la: $(libXft_la_OBJECTS) $(libXft_la_DEPENDENCIES) 
+	$(LINK) -rpath $(libdir) $(libXft_la_LDFLAGS) $(libXft_la_OBJECTS) $(libXft_la_LIBADD) $(LIBS)
+binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+install-binSCRIPTS: $(bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(bindir)
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f $$d$$p; then \
+	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	    echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \
+	    $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \
+	  else :; fi; \
+	done
 
-install:: $(DESTDIR)$(BINDIR)/xft-config
+uninstall-binSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	  echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
+	  rm -f $(DESTDIR)$(bindir)/$$f; \
+	done
 
-$(DESTDIR)$(BINDIR)/xft-config: xft-config
-	$(INSTALL_SCRIPT) $< $(DESTDIR)$(BINDIR)
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT) core *.core
 
-#
-# install pkgconfig control file
-#
+distclean-compile:
+	-rm -f *.tab.c
 
-install:: $(DESTDIR)$(LIBDIR)/pkgconfig/xft.pc
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftcolor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftcore.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftdbg.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftdpy.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftdraw.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftextent.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftfont.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftfreetype.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftglyphs.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftinit.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftlist.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftname.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftrender.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftstr.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftswap.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/xftxlfd.Plo at am__quote@
 
-$(DESTDIR)$(LIBDIR)/pkgconfig/xft.pc: xft.pc
-	$(INSTALL_DATA) $< $(DESTDIR)$(LIBDIR)/pkgconfig
+.c.o:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCC_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCC_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCC_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
 
+.c.obj:
+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCC_TRUE@	  -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
+ at am__fastdepCC_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCC_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
 
-# 
-# install header files
-#
+.c.lo:
+ at am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
+ at am__fastdepCC_TRUE@	  -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
+ at am__fastdepCC_TRUE@	else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
+ at am__fastdepCC_TRUE@	fi
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
 
-install::$(DESTDIR)$(INCLUDEDIR)/Xft.h $(DESTDIR)$(INCLUDEDIR)/XftCompat.h
+mostlyclean-libtool:
+	-rm -f *.lo
 
-$(DESTDIR)$(INCLUDEDIR)/Xft.h: Xft.h
-	$(INSTALL_DATA) $< $(DESTDIR)$(INCLUDEDIR)
+clean-libtool:
+	-rm -rf .libs _libs
 
-$(DESTDIR)$(INCLUDEDIR)/XftCompat.h: XftCompat.h
-	$(INSTALL_DATA) $< $(DESTDIR)$(INCLUDEDIR)
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
 
-#
-# delete generated files
-#
-clean::
-	rm -f $(LIBFILE) $(LIBMAJOR) $(LIBBASE) $(OBJS)
+man3dir = $(mandir)/man3
+install-man3: $(man3_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(man3dir)
+	@list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.3*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    3*) ;; \
+	    *) ext='3' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst"; \
+	  $(INSTALL_DATA) $$file $(DESTDIR)$(man3dir)/$$inst; \
+	done
+uninstall-man3:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+	    *.3*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    3*) ;; \
+	    *) ext='3' ;; \
+	  esac; \
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f $(DESTDIR)$(man3dir)/$$inst"; \
+	  rm -f $(DESTDIR)$(man3dir)/$$inst; \
+	done
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+install-pkgconfigDATA: $(pkgconfig_DATA)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(pkgconfigdir)
+	@list='$(pkgconfig_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " $(pkgconfigDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgconfigdir)/$$f"; \
+	  $(pkgconfigDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgconfigdir)/$$f; \
+	done
+
+uninstall-pkgconfigDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgconfig_DATA)'; for p in $$list; do \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " rm -f $(DESTDIR)$(pkgconfigdir)/$$f"; \
+	  rm -f $(DESTDIR)$(pkgconfigdir)/$$f; \
+	done
+libXftincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+install-libXftincludeHEADERS: $(libXftinclude_HEADERS)
+	@$(NORMAL_INSTALL)
+	$(mkinstalldirs) $(DESTDIR)$(libXftincludedir)
+	@list='$(libXftinclude_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " $(libXftincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libXftincludedir)/$$f"; \
+	  $(libXftincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libXftincludedir)/$$f; \
+	done
+
+uninstall-libXftincludeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(libXftinclude_HEADERS)'; for p in $$list; do \
+	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+	  echo " rm -f $(DESTDIR)$(libXftincludedir)/$$f"; \
+	  rm -f $(DESTDIR)$(libXftincludedir)/$$f; \
+	done
+
+ETAGS = etags
+ETAGSFLAGS =
+
+CTAGS = ctags
+CTAGSFLAGS =
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+
+TAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(ETAGS_ARGS)$$tags$$unique" \
+	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	     $$tags $$unique
+
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+top_distdir = .
+distdir = $(PACKAGE)-$(VERSION)
+
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkinstalldirs) $(distdir)/.
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkinstalldirs) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	$(am__remove_distdir)
+	GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
+	  && rm -f $(distdir).tar.gz \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@echo "$(distdir).tar.gz is ready for distribution" | \
+	  sed 'h;s/./=/g;p;x;p;x'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(MANS) $(DATA) $(HEADERS) \
+		config.h
+
+installdirs:
+	$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(man3dir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libXftincludedir)
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-libXftincludeHEADERS install-man \
+	install-pkgconfigDATA
+
+install-exec-am: install-binSCRIPTS install-libLTLIBRARIES
+
+install-info: install-info-am
+
+install-man: install-man3
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binSCRIPTS uninstall-info-am \
+	uninstall-libLTLIBRARIES uninstall-libXftincludeHEADERS \
+	uninstall-man uninstall-pkgconfigDATA
+
+uninstall-man: uninstall-man3
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libLTLIBRARIES clean-libtool ctags dist dist-all \
+	dist-bzip2 dist-gzip distcheck distclean distclean-compile \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-tags distcleancheck distdir distuninstallcheck dvi \
+	dvi-am info info-am install install-am install-binSCRIPTS \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-libLTLIBRARIES \
+	install-libXftincludeHEADERS install-man install-man3 \
+	install-pkgconfigDATA install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-binSCRIPTS \
+	uninstall-info-am uninstall-libLTLIBRARIES \
+	uninstall-libXftincludeHEADERS uninstall-man uninstall-man3 \
+	uninstall-pkgconfigDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Index: Xft.h
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/Xft.h,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/Xft.h	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/Xft.h	15 Apr 2004 10:15:01 -0000	1.1.4.3
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/Xft.h,v 1.32 2003/02/25 21:57:53 dawes Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -25,9 +24,15 @@
 #ifndef _XFT_H_
 #define _XFT_H_
 
+/*
+  * Current Xft version number.  This same number
+  * must appear in the Xft configure.ac file. Yes,
+  * it'a a pain to synchronize version numbers like this.
+  */
+
 #define XFT_MAJOR	2
 #define XFT_MINOR	1
-#define XFT_REVISION	0
+#define XFT_REVISION	6
 #define XFT_VERSION	((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION))
 #define XftVersion	XFT_VERSION
 

Index: Xft.man
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/Xft.man,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/Xft.man	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/Xft.man	15 Apr 2004 10:15:01 -0000	1.1.4.3
@@ -1,7 +1,8 @@
 .\"
-.\" $XFree86: xc/lib/Xft/Xft.man,v 1.4 2003/04/05 13:33:55 herrb Exp $
+.\" $Id: Xft.man,v 1.1.4.1.6.4 2004/03/12 11:18:23 eich Exp $
+.\"
+.\" Copyright © 2000 Keith Packard
 .\"
-.\" Copyright 2000 Keith Packard, member of The XFree86 Project, Inc..\"
 .\" Permission to use, copy, modify, distribute, and sell this software and its
 .\" documentation for any purpose is hereby granted without fee, provided that
 .\" the above copyright notice appear in all copies and that both that
@@ -25,7 +26,7 @@
 .ns
 .TP \\$1
 ..
-.TH XFT 3 "Version 2.0" "XFree86"
+.TH XFT __libmansuffix__ __vendorversion__
 
 .SH NAME
  Xft \- X FreeType interface library
@@ -38,17 +39,31 @@
 
 .SH DATATYPES
 
+.B XftPattern
+holds a set of names with associated value lists; each name refers to a
+property of a font.  XftPatterns are used as inputs to the matching code as
+well as holding information about specific fonts.
+
 .B XftFont
 contains general font metrics and a pointer to either the core XFontStruct
 data or a structure holding FreeType and X Render Extension data.
 
+.B XftFontStruct
+contains information about FreeType fonts used with the X Render Extension.
+
+.B XftFontSet
+contains a list of XftPatterns.  Internally Xft uses this data structure to
+hold sets of fonts.  Externally, Xft returns the results of listing fonts in
+this format.
+
+.B XftObjectSet
+holds a set of names and is used to specify which fields from fonts are
+placed in the the list of returned patterns when listing fonts.
+
 .B XftDraw
 is an opaque object which holds information used to render to an X drawable
 using either core protocol or the X Rendering extension.
 
-.B XftColor
-contains a pixel value and the ARGB values associated with it. 
-
 .SH FUNCTIONS
 .nf
 XftFont *
@@ -56,14 +71,15 @@
 .fi
 .B XftFontOpen
 takes a list of pattern elements of the form (field, type, value) terminated
-with a 0, matches that pattern against the available fonts and opens the
+with a NULL, matches that pattern against the available fonts and opens the
 matching font.
 .PP
 Example:
 .br
 	font = XftFontOpen (dpy, scr,
 			    XFT_FAMILY, XftTypeString, "charter",
-			    XFT_SIZE, XftTypeDouble, 12.0);
+			    XFT_SIZE, XftTypeDouble, 12.0,
+			    NULL);
 .PP
 This opens the charter font at 12 points.  The point size is automatically
 converted to the correct pixel size based on the resolution of the monitor.
@@ -72,7 +88,7 @@
 void
 XftTextExtents8 (Display	*dpy,
 		 XftFont	*font,
-		 FcChar8  	*string, 
+		 unsigned char  *string, 
 		 int		len,
 		 XGlyphInfo	*extents);
 .fi
@@ -86,18 +102,18 @@
 	       Visual    *visual,
 	       Colormap  colormap);
 .fi
-.B XtDrawCreate
+.B XftDrawCreate
 creates a structure that can be used to render text and rectangles
 to the screen.
 .PP
 .nf
 void
 XftDrawString8 (XftDraw		*d,
-		XftColor	*color,
+		XRenderColor	*color,
 		XftFont		*font,
 		int		x, 
 		int		y,
-		FcChar8		*string,
+		unsigned char	*string,
 		int		len);
 .fi
 .B XftDrawString8
@@ -106,7 +122,7 @@
 .nf
 void
 XftDrawRect (XftDraw	    *d,
-	     XftColor	    *color,
+	     XRenderColor   *color,
 	     int	    x, 
 	     int	    y,
 	     unsigned int   width,
@@ -114,66 +130,12 @@
 .fi
 .B XftDrawRect
 fills a solid rectangle in the specified color.
-.PP
-.nf
-Bool
-XftColorAllocName (Display  *dpy,
-		   Visual   *visual,
-		   Colormap cmap,
-		   char	    *name,
-		   XftColor *result);
-.fi
-.B XftColorAllocName 
-allocates a 
-.I XftColor
-structure. It asks the X server to allocate a pixel and return the associated
-RGB values wich are used to construct an 
-.I XRenderColor .
-This requires a round trip (bad).
-.PP
-.nf
-Bool
-XftColorAllocValue (Display	    *dpy,
-		    Visual	    *visual,
-		    Colormap	    cmap,
-		    XRenderColor    *color,
-		    XftColor	    *result);
-.fi
-For TrueColor visuals, 
-.I XftColorAllocValue 
-computes the nearest supported ARGB value and the associated pixel
-value and stores them in the result.  No round trip is required.  For
-non-TrueColor visuals,
-.I XftColorAllocValue 
-asks the X server to allocate the specified color and stores the
-resulting pixel and ARGB values into result.
-.PP
-.nf
-void
-XftColorFree (Display	*dpy,
-	      Visual	*visual,
-	      Colormap	cmap,
-	      XftColor	*color);
 
-.fi
-.B XftColorFree 
-frees a color when it is no longer in use. 
-.SH CONFIGURATION
-The 
-.B Xft 
-version 2 library uses 
-.IR fontconfig (3) 
-for its configuration. The 
-.B XftConfig
-files are not used anymore. 
 .SH COMPATIBILITY
 As of version 2, 
 .B Xft
 has become relatively stable and is expected to retain source and binary
 compatibility in future releases.
-.SH "SEE ALSO"
-fonttconfig(3)
-.br
-__projectroot__/lib/X11/doc/README.fonts
+
 .SH AUTHOR
-Keith Packard, member of the XFree86 Project, Inc.
+Keith Packard

Index: XftCompat.h
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/XftCompat.h,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/XftCompat.h	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/XftCompat.h	15 Apr 2004 10:15:01 -0000	1.1.4.3
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/XftCompat.h,v 1.4 2002/05/24 05:54:02 keithp Exp $
  *
- * Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -111,6 +110,7 @@
 #define XftObjectSetDestroy	FcObjectSetDestroy
 #define XftObjectSetVaBuild	FcObjectSetVaBuild
 #define XftObjectSetBuild	FcObjectSetBuild
+
 #define XftFontSetMatch		FcFontSetMatch
 #define XftFontSetDestroy	FcFontSetDestroy
 

Index: config.h.in
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/config.h.in,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/config.h.in	14 Nov 2003 16:48:48 -0000	1.1
+++ b/config.h.in	15 Apr 2004 10:15:01 -0000	1.1.4.1
@@ -1,14 +1,76 @@
-/* config.h.in.  Generated manually by keithp.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
 
-/* Library major version */
-#undef PACKAGE_MAJOR
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
 
-/* Library minor version */
-#undef PACKAGE_MINOR
+/* FT_Bitmap_Size structure includes y_ppem field */
+#undef HAVE_FT_BITMAP_SIZE_Y_PPEM
+
+/* Define to 1 if you have the `FT_Get_BDF_Property' function. */
+#undef HAVE_FT_GET_BDF_PROPERTY
+
+/* Define to 1 if you have the `FT_Get_Next_Char' function. */
+#undef HAVE_FT_GET_NEXT_CHAR
+
+/* Define to 1 if you have the `FT_Get_PS_Font_Info' function. */
+#undef HAVE_FT_GET_PS_FONT_INFO
+
+/* Define to 1 if you have the `FT_Has_PS_Glyph_Names' function. */
+#undef HAVE_FT_HAS_PS_GLYPH_NAMES
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the <X11/extensions/Xrender.h> header file. */
+#undef HAVE_X11_EXTENSIONS_XRENDER_H
+
+/* Define to 1 if you have the `XRenderFindStandardFormat' function. */
+#undef HAVE_XRENDERFINDSTANDARDFORMAT
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
 
 /* Define to the full name of this package. */
 #undef PACKAGE_NAME
 
-/* Library revision */
-#undef PACKAGE_REVISION
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
 
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION

Index: xft-config.in
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xft-config.in,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xft-config.in	26 Nov 2003 22:48:39 -0000	1.1.4.1
+++ b/xft-config.in	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -3,9 +3,8 @@
 prefix="@prefix@"
 exec_prefix="@exec_prefix@"
 libdir="@libdir@"
-hardcode_libdir_flag_spec=@hardcode_libdir_flag_spec@
 includedir="@includedir@"
-version="@PACKAGE_VERSION@"
+version="@VERSION@"
 freetypelibs="@FREETYPE_LIBS@"
 freetypecflags="@FREETYPE_CFLAGS@"
 fontconfiglibs="@FONTCONFIG_LIBS@"
@@ -90,9 +89,9 @@
 fi
 
 if test "$echo_libs" = "yes" ; then
- libs="-lXft ${freetypelibs} ${fontconfiglibs} ${xrenderlibs}"
+ libs="-lXft -lX11 ${freetypelibs} ${fontconfiglibs} ${xrenderlibs}"
  if test "${libdir}" != "/usr/lib" ; then
-  echo ${hardcode_libdir_flag_spec} -L${libdir} $libs
+  echo -L${libdir} $libs
  else
   echo $libs
  fi

Index: xft.pc.in
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xft.pc.in,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xft.pc.in	26 Nov 2003 22:48:39 -0000	1.1.4.1
+++ b/xft.pc.in	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
-hardcode_libdir_flag_spec=@hardcode_libdir_flag_spec@
 includedir=@includedir@
 freetypelibs=@FREETYPE_LIBS@
 freetypecflags=@FREETYPE_CFLAGS@
@@ -10,7 +9,7 @@
 
 Name: Xft
 Description: X FreeType library
-Version: @PACKAGE_VERSION@
+Version: @VERSION@
 Requires: fontconfig
-Libs: ${hardcode_libdir_flag_spec} -L${libdir} -lXft ${freetypelibs} ${xrenderlibs}
+Libs: -L${libdir} -lXft -lX11 ${freetypelibs} ${xrenderlibs}
 Cflags: -I${includedir} ${freetypecflags} ${xrendercflags}

Index: xftcolor.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftcolor.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftcolor.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftcolor.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftcolor.c,v 1.1 2000/12/01 03:27:57 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: xftcore.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftcore.c,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/xftcore.c	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/xftcore.c	15 Apr 2004 10:15:02 -0000	1.1.4.3
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftcore.c,v 1.13tsi Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -918,8 +917,10 @@
     XftFontInt	    *font = (XftFontInt *) public;
     FT_UInt	    missing[XFT_NMISSING];
     int		    nmissing;
+    FcBool	    glyphs_loaded = FcFalse;
 
-    XftFontCheckGlyph (dpy, public, FcTrue, 0, missing, &nmissing);
+    if (XftFontCheckGlyph (dpy, public, FcTrue, 0, missing, &nmissing))
+	glyphs_loaded = FcTrue;
     if (nmissing)
 	XftFontLoadGlyphs (dpy, public, FcTrue, missing, nmissing);
     return font->glyphs[0];

Index: xftdbg.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftdbg.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftdbg.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftdbg.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftdbg.c,v 1.3 2001/03/31 01:57:20 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: xftdpy.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftdpy.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftdpy.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftdpy.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftdpy.c,v 1.18 2002/10/02 07:02:32 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -377,6 +376,10 @@
 	goto bail1;
     if (!_XftDefaultInitBool (dpy, pat, FC_AUTOHINT))
 	goto bail1;
+#ifdef FC_HINT_STYLE
+    if (!_XftDefaultInitInteger (dpy, pat, FC_HINT_STYLE))
+	goto bail1;
+#endif
     if (!_XftDefaultInitBool (dpy, pat, FC_HINTING))
 	goto bail1;
     if (!_XftDefaultInitBool (dpy, pat, FC_MINSPACE))
@@ -473,6 +476,14 @@
 			  XftDefaultGetBool (dpy, FC_HINTING, screen,
 					     True));
     }
+#ifdef FC_HINT_STYLE
+    if (FcPatternGet (pattern, FC_HINT_STYLE, 0, &v) == FcResultNoMatch)
+    {
+	FcPatternAddInteger (pattern, FC_HINT_STYLE,
+			     XftDefaultGetInteger (dpy, FC_HINT_STYLE, screen,
+						   FC_HINT_FULL));
+    }
+#endif
     if (FcPatternGet (pattern, FC_AUTOHINT, 0, &v) == FcResultNoMatch)
     {
 	FcPatternAddBool (pattern, FC_AUTOHINT,

Index: xftdraw.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftdraw.c,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/xftdraw.c	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/xftdraw.c	15 Apr 2004 10:15:02 -0000	1.1.4.3
@@ -1,7 +1,7 @@
 /*
  * $XFree86: xc/lib/Xft/xftdraw.c,v 1.25 2002/10/11 17:53:02 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -177,6 +177,7 @@
     draw->colormap = 0;
     draw->render.pict = 0;
     draw->core.gc = 0;
+    draw->core.use_pixmap = 0;
     draw->clip_type = XftClipTypeNone;
     draw->subwindow_mode = ClipByChildren;
     XftMemAlloc (XFT_MEM_DRAW, sizeof (XftDraw));
@@ -202,6 +203,7 @@
     draw->colormap = 0;
     draw->render.pict = 0;
     draw->core.gc = 0;
+    draw->core.use_pixmap = 0;
     draw->clip_type = XftClipTypeNone;
     draw->subwindow_mode = ClipByChildren;
     XftMemAlloc (XFT_MEM_DRAW, sizeof (XftDraw));
@@ -807,7 +809,7 @@
 {
     if (_XftDrawRenderPrepare (draw))
     {
-	XRenderFillRectangle (draw->dpy, PictOpOver, draw->render.pict,
+	XRenderFillRectangle (draw->dpy, PictOpSrc, draw->render.pict,
 			      &color->color, x, y, width, height);
     }
     else if (_XftDrawCorePrepare (draw, color))
@@ -914,7 +916,10 @@
     /*
      * Check for quick exit
      */
-    if (draw->clip_type == XftClipTypeRectangles && 
+    if (draw->clip_type == XftClipTypeRectangles &&
+	draw->clip.rect->n == n &&
+	(n == 0 || (draw->clip.rect->xOrigin == xOrigin &&
+		    draw->clip.rect->yOrigin == yOrigin)) &&
 	!memcmp (XftClipRects (draw->clip.rect), rects, n * sizeof (XRectangle)))
     {
 	return True;

Index: xftextent.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftextent.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftextent.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftextent.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,7 @@
 /*
  * $XFree86: xc/lib/Xft/xftextent.c,v 1.9 2002/10/11 17:53:02 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: xftfont.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftfont.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftfont.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftfont.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,7 @@
 /*
  * $XFree86: xc/lib/Xft/xftfont.c,v 1.9 2002/02/15 07:36:11 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: xftfreetype.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftfreetype.c,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/xftfreetype.c	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/xftfreetype.c	15 Apr 2004 10:15:02 -0000	1.1.4.3
@@ -1,7 +1,7 @@
 /*
  * $XFree86: xc/lib/Xft/xftfreetype.c,v 1.29tsi Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -81,6 +81,7 @@
     f->face = 0;
     f->xsize = 0;
     f->ysize = 0;
+    f->matrix.xx = f->matrix.xy = f->matrix.yx = f->matrix.yy = 0;
     return f;
 }
 
@@ -103,6 +104,7 @@
     f->face = face;
     f->xsize = 0;
     f->ysize = 0;
+    f->matrix.xx = f->matrix.xy = f->matrix.yx = f->matrix.yy = 0;
     return f;
 }
 
@@ -180,6 +182,14 @@
 	_XftLockError ("too many file unlocks");
 }
 
+#if HAVE_FT_BITMAP_SIZE_Y_PPEM
+#define X_SIZE(face,i) ((face)->available_sizes[i].x_ppem)
+#define Y_SIZE(face,i) ((face)->available_sizes[i].y_ppem)
+#else
+#define X_SIZE(face,i) ((face)->available_sizes[i].width << 6)
+#define Y_SIZE(face,i) ((face)->available_sizes[i].height << 6)
+#endif
+
 FcBool
 _XftSetFace (XftFtFile *f, FT_F26Dot6 xsize, FT_F26Dot6 ysize, FT_Matrix *matrix)
 {
@@ -190,8 +200,56 @@
 	if (XftDebug() & XFT_DBG_GLYPH)
 	    printf ("Set face size to %dx%d (%dx%d)\n", 
 		    (int) (xsize >> 6), (int) (ysize >> 6), (int) xsize, (int) ysize);
-	if (FT_Set_Char_Size (face, xsize, ysize, 0, 0))
-	    return False;
+	/*
+	 * Bitmap only faces must match exactly, so find the closest
+	 * one (height dominant search)
+	 */
+	if (!(face->face_flags & FT_FACE_FLAG_SCALABLE))
+	{
+	    int		i, best = 0;
+
+#define xft_abs(a)	((a) < 0 ? -(a) : (a))
+#define dist(a,b)	(xft_abs((a)-(b)))
+
+	    for (i = 1; i < face->num_fixed_sizes; i++)
+	    {
+		if (dist (ysize, Y_SIZE(face,i)) <
+		    dist (ysize, Y_SIZE(face, best)) ||
+		    (dist (ysize, Y_SIZE(face, i)) ==
+		     dist (ysize, Y_SIZE(face, best)) &&
+		     dist (xsize, X_SIZE(face, i)) <
+		     dist (xsize, X_SIZE(face, best))))
+		{
+		    best = i;
+		}
+	    }
+	    /* 
+	     * Freetype 2.1.7 and earlier used width/height
+	     * for matching sizes in the BDF and PCF loaders.
+	     * This has been fixed for 2.1.8.  Because BDF and PCF
+	     * files have but a single strike per file, we can
+	     * simply try both sizes.
+	     */
+	    if (
+#if HAVE_FT_BITMAP_SIZE_Y_PPEM
+		FT_Set_Char_Size (face, face->available_sizes[best].x_ppem,
+				  face->available_sizes[best].y_ppem, 0, 0) != 0
+		&&
+#endif
+		FT_Set_Char_Size (face, face->available_sizes[best].width << 6,
+				  face->available_sizes[best].height << 6,
+				  0, 0) != 0)
+	    {
+		return False;
+	    }
+	}
+	else
+    	{
+	    if (FT_Set_Char_Size (face, xsize, ysize, 0, 0))
+	    {
+		return False;
+	    }
+	}
 	f->xsize = xsize;
 	f->ysize = ysize;
     }
@@ -326,6 +384,9 @@
     double	    aspect;
     FcMatrix	    *font_matrix;
     FcBool	    hinting, vertical_layout, autohint, global_advance;
+#ifdef FC_HINT_STYLE
+    int             hint_style;
+#endif
     FcChar32	    hash, *hashp;
     FT_Face	    face;
     int		    nhash;
@@ -466,8 +527,65 @@
 	goto bail1;
     }
 
-    if (!hinting)
+#ifdef FC_HINT_STYLE
+    switch (FcPatternGetInteger (pattern, FC_HINT_STYLE, 0, &hint_style)) {
+    case FcResultNoMatch:
+	hint_style = FC_HINT_FULL;
+	break;
+    case FcResultMatch:
+	break;
+    default:
+	goto bail1;
+    }
+#endif
+
+    if (!hinting
+#ifdef FC_HINT_STYLE
+	|| hint_style == FC_HINT_NONE
+#endif
+	)
+    {
 	fi->load_flags |= FT_LOAD_NO_HINTING;
+    }
+
+    /* Figure out the load target, which modifies the hinting
+     * behavior of FreeType based on the intended use of the glyphs.
+     */
+    if (fi->antialias)
+    {
+#ifdef FC_HINT_STYLE
+#ifdef FT_LOAD_TARGET_LIGHT
+	if (FC_HINT_NONE < hint_style && hint_style < FC_HINT_FULL)
+	{
+	    fi->load_flags |= FT_LOAD_TARGET_LIGHT;
+	}
+	else
+#endif
+#endif
+	{
+	    /* autohinter will snap stems to integer widths, when
+	     * the LCD targets are used.
+	     */
+	    switch (fi->rgba) {
+	    case FC_RGBA_RGB:
+	    case FC_RGBA_BGR:
+#ifdef FT_LOAD_TARGET_LCD
+		fi->load_flags |= FT_LOAD_TARGET_LCD;
+#endif
+		break;
+	    case FC_RGBA_VRGB:
+	    case FC_RGBA_VBGR:
+#ifdef FT_LOAD_TARGET_LCD_V
+		fi->load_flags |= FT_LOAD_TARGET_LCD_V;
+#endif
+		break;
+	    }
+	}
+    }
+#ifdef FT_LOAD_TARGET_MONO
+    else
+	fi->load_flags |= FT_LOAD_TARGET_MONO;
+#endif
     
     /* set vertical layout if requested */
     switch (FcPatternGetBool (pattern, FC_VERTICAL_LAYOUT, 0, &vertical_layout)) {
@@ -638,6 +756,7 @@
     int			alloc_size;
     int			ascent, descent, height;
     int			i;
+    int			num_glyphs;
 
     if (!info)
 	return 0;
@@ -680,7 +799,9 @@
      * off and compute it.  Yes, this is expensive, but it's
      * required to map Unicode to glyph indices.
      */
-    if (FcPatternGetCharSet (pattern, FC_CHARSET, 0, &charset) != FcResultMatch)
+    if (FcPatternGetCharSet (pattern, FC_CHARSET, 0, &charset) == FcResultMatch)
+	charset = FcCharSetCopy (charset);
+    else
 	charset = FcFreeTypeCharSet (face, FcConfigGetBlanks (0));
     
     antialias = fi->antialias;
@@ -699,59 +820,20 @@
 	    case FC_RGBA_BGR:
 	    case FC_RGBA_VRGB:
 	    case FC_RGBA_VBGR:
-		pf.depth = 32;
-		pf.type = PictTypeDirect;
-		pf.direct.alpha = 24;
-		pf.direct.alphaMask = 0xff;
-		pf.direct.red = 16;
-		pf.direct.redMask = 0xff;
-		pf.direct.green = 8;
-		pf.direct.greenMask = 0xff;
-		pf.direct.blue = 0;
-		pf.direct.blueMask = 0xff;
-		format = XRenderFindFormat(dpy, 
-					   PictFormatType|
-					   PictFormatDepth|
-					   PictFormatAlpha|
-					   PictFormatAlphaMask|
-					   PictFormatRed|
-					   PictFormatRedMask|
-					   PictFormatGreen|
-					   PictFormatGreenMask|
-					   PictFormatBlue|
-					   PictFormatBlueMask,
-					   &pf, 0);
+		format = XRenderFindStandardFormat (dpy, PictStandardARGB32);
 		break;
 	    default:
-		pf.depth = 8;
-		pf.type = PictTypeDirect;
-		pf.direct.alpha = 0;
-		pf.direct.alphaMask = 0xff;
-		format = XRenderFindFormat(dpy, 
-					   PictFormatType|
-					   PictFormatDepth|
-					   PictFormatAlpha|
-					   PictFormatAlphaMask,
-					   &pf, 0);
+		format = XRenderFindStandardFormat (dpy, PictStandardA8);
 		break;
 	    }
 	}
 	else
 	{
-	    pf.depth = 1;
-	    pf.type = PictTypeDirect;
-	    pf.direct.alpha = 0;
-	    pf.direct.alphaMask = 0x1;
-	    format = XRenderFindFormat(dpy, 
-				       PictFormatType|
-				       PictFormatDepth|
-				       PictFormatAlpha|
-				       PictFormatAlphaMask,
-				       &pf, 0);
+	    format = XRenderFindStandardFormat (dpy, PictStandardA1);
 	}
 	
 	if (!format)
-	    goto bail0;
+	    goto bail2;
     }
     else
 	format = 0;
@@ -769,13 +851,18 @@
 	rehash_value = 0;
     }
     
+    /*
+     * Sometimes the glyphs are numbered 1..n, other times 0..n-1,
+     * accept either numbering scheme by making room in the table
+     */
+    num_glyphs = face->num_glyphs + 1;
     alloc_size = (sizeof (XftFontInt) + 
-		  face->num_glyphs * sizeof (XftGlyph *) +
+		  num_glyphs * sizeof (XftGlyph *) +
 		  hash_value * sizeof (XftUcsHash));
     font = malloc (alloc_size);
     
     if (!font)
-	goto bail1;
+	goto bail2;
 
     XftMemAlloc (XFT_MEM_FONT, alloc_size);
 
@@ -867,8 +954,8 @@
      * Per glyph information
      */
     font->glyphs = (XftGlyph **) (font + 1);
-    memset (font->glyphs, '\0', face->num_glyphs * sizeof (XftGlyph *));
-    font->num_glyphs = face->num_glyphs;
+    memset (font->glyphs, '\0', num_glyphs * sizeof (XftGlyph *));
+    font->num_glyphs = num_glyphs;
     /*
      * Unicode hash table information
      */
@@ -897,6 +984,8 @@
 
     return &font->public;
     
+bail2:
+    FcCharSetDestroy (charset);
 bail1:
     _XftUnlockFile (fi->file);
 bail0:
@@ -929,9 +1018,13 @@
 static void
 XftFontDestroy (Display *dpy, XftFont *public)
 {
-    XftFontInt	*font = (XftFontInt *) public;
-    int		i;
+    XftDisplayInfo  *info = _XftDisplayInfoGet (dpy, False);
+    XftFontInt	    *font = (XftFontInt *) public;
+    int		    i;
     
+    /* note reduction in memory use */
+    if (info)
+	info->glyph_memory -= font->glyph_memory;
     /* Clean up the info */
     XftFontInfoEmpty (dpy, &font->info);
     /* Free the glyphset */
@@ -949,6 +1042,10 @@
 	}
     }
     
+    /* Free the pattern and the charset */
+    FcPatternDestroy (font->public.pattern);
+    FcCharSetDestroy (font->public.charset);
+    
     /* Finally, free the font structure */
     XftMemFree (XFT_MEM_FONT, sizeof (XftFontInt) +
 		font->num_glyphs * sizeof (XftGlyph *) +

Index: xftglyphs.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftglyphs.c,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/xftglyphs.c	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/xftglyphs.c	15 Apr 2004 10:15:02 -0000	1.1.4.3
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftglyphs.c,v 1.23 2002/10/11 17:53:02 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -26,8 +25,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include "xftint.h"
-#include <ft2build.h>
-#include FT_OUTLINE_H
+#include <freetype/ftoutln.h>
 #include <fontconfig/fcfreetype.h>
 
 static const int    filters[3][3] = {
@@ -535,9 +533,14 @@
 	    }
 	    else
 	    {
-		xftg->bitmap = malloc (sizergba);
-		if (xftg->bitmap)
-		    memcpy (xftg->bitmap, bufBitmapRgba, sizergba);
+		if (sizergba)
+		{
+		    xftg->bitmap = malloc (sizergba);
+		    if (xftg->bitmap)
+			memcpy (xftg->bitmap, bufBitmapRgba, sizergba);
+		}
+		else
+		    xftg->bitmap = 0;
 	    }
 	}
 	else
@@ -576,9 +579,14 @@
 	    }
 	    else
 	    {
-		xftg->bitmap = malloc (size);
-		if (xftg->bitmap)
-		    memcpy (xftg->bitmap, bufBitmap, size);
+		if (size)
+		{
+		    xftg->bitmap = malloc (size);
+		    if (xftg->bitmap)
+			memcpy (xftg->bitmap, bufBitmap, size);
+		}
+		else
+		    xftg->bitmap = 0;
 	    }
 	}
 	font->glyph_memory += xftg->glyph_memory;
@@ -735,7 +743,7 @@
 		offset = 1;
 	}
 	ent = ent + offset;
-	if (ent > font->hash_value)
+	if (ent >= font->hash_value)
 	    ent -= font->hash_value;
     }
     return font->hash_table[ent].glyph;

Index: xftinit.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftinit.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftinit.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftinit.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftinit.c,v 1.3 2002/02/15 07:36:11 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: xftint.h
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftint.h,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftint.h	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftint.h	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftint.h,v 1.36 2002/08/22 08:09:40 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -33,6 +32,10 @@
 #ifndef _XFTINT_H_
 #define _XFTINT_H_
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <X11/Xlib.h>
 #include <X11/Xmd.h>
 #define _XFT_NO_COMPAT_

Index: xftlist.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftlist.c,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/xftlist.c	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/xftlist.c	15 Apr 2004 10:15:02 -0000	1.1.4.3
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftlist.c,v 1.2 2000/12/07 23:57:28 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: xftname.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftname.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftname.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftname.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftname.c,v 1.11 2002/02/15 07:36:11 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -33,13 +32,14 @@
 
 #define NUM_OBJECT_TYPES    (sizeof _XftObjectTypes / sizeof _XftObjectTypes[0])
 
-Bool	_XftNameInitialized;
+FcBool	_XftNameInitialized;
 
 void 
 _XftNameInit (void)
 {
     if (_XftNameInitialized)
 	return;
+    _XftNameInitialized = FcTrue;
     FcNameRegisterObjectTypes (_XftObjectTypes, NUM_OBJECT_TYPES);
 }
 
@@ -55,13 +55,27 @@
 {
     FcChar8 *name;
 
+    _XftNameInit ();
     name = FcNameUnparse (pat);
     if (!name)
 	return FcFalse;
     if (strlen ((char *) name) + 1 > len)
     {
+	FcPattern *new = FcPatternDuplicate (pat);
 	free (name);
-	return FcFalse;
+	FcPatternDel (new, FC_LANG);
+	FcPatternDel (new, FC_CHARSET);
+	name = FcNameUnparse (new);
+	FcPatternDestroy (new);
+	if (!name)
+	    return FcFalse;
+	if (strlen ((char *) name) + 1 > len)
+	{
+	    strncpy (dest, ((char *) name), (size_t) len - 1);
+	    dest[len - 1] = '\0';
+	    free (name);
+	    return FcFalse;
+	}
     }
     strcpy (dest, ((char *) name));
     free (name);

Index: xftrender.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftrender.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftrender.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftrender.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftrender.c,v 1.14 2002/10/11 17:53:02 keithp Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -386,6 +385,31 @@
 	free (glyphs);
 }
 
+/*
+ * Choose which format to draw text in when drawing with fonts
+ * of different formats.  The trick is that ARGB formats aren't
+ * compatible with A formats as PictOpAdd does the wrong thing, so
+ * fall back to an A format when presented with an ARGB and A format
+ */
+
+#define XftIsARGBFormat(a)  ((a)->depth == 32)
+
+static XRenderPictFormat *
+XftPreferFormat (Display *dpy, XRenderPictFormat *a, XRenderPictFormat *b)
+{
+    XRenderPictFormat	*prefer = 0;
+    
+    if (a == b)
+	prefer = a;
+    else if (XftIsARGBFormat(a) != XftIsARGBFormat(b))
+	prefer = XRenderFindStandardFormat (dpy, PictStandardA8);
+    else if (a->depth > b->depth)
+	prefer = a;
+    else
+	prefer = b;
+    return prefer;
+}
+
 void
 XftGlyphFontSpecRender (Display			    *dpy,
 			int			    op,
@@ -399,6 +423,7 @@
     int		    i, j;
     XftFont	    *prevPublic;
     XftFontInt	    *firstFont;
+    XRenderPictFormat	*format;
     FT_UInt	    missing[XFT_NMISSING];
     int		    nmissing;
     int		    n;
@@ -496,6 +521,7 @@
     if (i == nglyphs)
 	goto bail2;
     glyph = firstFont->glyphs[g];
+    format = firstFont->format;
     x = glyphs[i].x + glyph->metrics.xOff;
     y = glyphs[i].y + glyph->metrics.yOff;
     prevPublic = 0;
@@ -516,6 +542,8 @@
 	    if (pub != prevPublic || x != glyphs[i].x || y != glyphs[i].y)
 	    {
 		prevPublic = pub;
+		if (font->format != format)
+		    format = XftPreferFormat (dpy, font->format, format);
 		x = glyphs[i].x;
 		y = glyphs[i].y;
 		++nelt;
@@ -586,17 +614,17 @@
     }
     switch (width) {
     case 1:
-	XRenderCompositeText8 (dpy, op, src, dst, firstFont->format,
+	XRenderCompositeText8 (dpy, op, src, dst, format,
 			       srcx, srcy, glyphs[0].x, glyphs[0].y,
 			       elts, nelt);
 	break;
     case 2:
-	XRenderCompositeText16 (dpy, op, src, dst, firstFont->format,
+	XRenderCompositeText16 (dpy, op, src, dst, format,
 				srcx, srcy, glyphs[0].x, glyphs[0].y,
 				(XGlyphElt16 *) elts, nelt);
 	break;
     case 4:
-	XRenderCompositeText32 (dpy, op, src, dst, firstFont->format,
+	XRenderCompositeText32 (dpy, op, src, dst, format,
 				srcx, srcy, glyphs[0].x, glyphs[0].y,
 				(XGlyphElt32 *) elts, nelt);
 	break;

Index: xftstr.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftstr.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftstr.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftstr.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftstr.c,v 1.6 2001/04/01 14:00:01 tsi Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: xftswap.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftswap.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/xftswap.c	5 Mar 2004 13:39:22 -0000	1.1.4.1
+++ b/xftswap.c	15 Apr 2004 10:15:02 -0000	1.1.4.2
@@ -1,7 +1,6 @@
 /*
- * $XFree86: $
  *
- * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that

Index: xftxlfd.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xft/xftxlfd.c,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/xftxlfd.c	5 Mar 2004 13:39:22 -0000	1.1.4.2
+++ b/xftxlfd.c	15 Apr 2004 10:15:02 -0000	1.1.4.3
@@ -1,7 +1,6 @@
 /*
- * $XFree86: xc/lib/Xft/xftxlfd.c,v 1.9tsi Exp $
  *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -94,6 +93,8 @@
     const char	*family;
     const char	*weight_name;
     const char	*slant;
+    const char	*registry;
+    const char	*encoding;
     char	*save;
     int		pixel;
     int		point;
@@ -116,9 +117,9 @@
     if (!(xlfd = XftGetInt (++xlfd, &resy))) return 0;
     if (!(xlfd = strchr (/* spacing = */ ++xlfd, '-'))) return 0;
     if (!(xlfd = strchr (/* average_width = */ ++xlfd, '-'))) return 0;
-    if (!(xlfd = strchr (/* registry = */ ++xlfd, '-'))) return 0;
+    if (!(xlfd = strchr (registry = ++xlfd, '-'))) return 0;
     /* make sure no fields follow this one */
-    if ((xlfd = strchr (/* encoding = */ ++xlfd, '-'))) return 0;
+    if ((xlfd = strchr (encoding = ++xlfd, '-'))) return 0;
 
     if (!pixel)
 	return 0;

--- XftFreetype.h DELETED ---

--- configure.in DELETED ---

--- xftpat.c DELETED ---




More information about the xorg-commit-diffs mailing list