Commit fb9545b1 authored by Keith Packard's avatar Keith Packard

Fix xmkmf build process for fontconfig

parent 179c3995
......@@ -25,7 +25,7 @@ all:: fonts.conf
fonts.conf: fonts.conf.in
RemoveFile($@)
sh ./setfontdirs
sh ./setfontdirs /usr/share/fonts $(FONTDIR)
clean::
RemoveFile(fonts.conf)
#
# $XFree86$
#
# 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.
#
TOPDIR=.
include $(TOPDIR)/config/Makedefs
DIRS = src fc-cache fc-list
all install clean::
for d in $(DIRS); do $(MAKE) -C $$d $@; done
all:: fonts.conf
fonts.conf: fonts.conf.in
rm -f $@
sh ./setfontdirs /usr/share/fonts $(FONTDIR)
install:: $(CONFDIR)/fonts.conf $(CONFDIR)/fonts.dtd
$(CONFDIR)/fonts.conf:: fonts.conf
if [ -f $@ ]; then
echo "Not overwriting existing $@"
else
$(INSTALL_DATA) fonts.conf $(CONFDIR)
fi
$(CONFDIR)/fonts.dtd:: fonts.dtd
$(INSTALL_DATA) fonts.dtd $(CONFDIR)
clean::
rm -f fonts.conf
#undef HAVE_FREETYPE
#undef FC_FALLBACK_FONTS
/* config.h.in. Generated manually by keithp. */
/* Path library uses when config file is broken */
#undef FC_FALLBACK_FONTS
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Use expat library for xml parsing */
#undef HAVE_EXPAT
/* expat uses old xmlparse.h include */
#undef HAVE_XMLPARSE_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* whether system has freetype2 library */
#undef HAVE_FREETYPE
/* Define to 1 if you have the <ft2build.h> header file. */
#undef HAVE_FT2BUILD_H
/* Define to 1 if you have the `FT_Init_FreeType' function. */
#undef HAVE_FT_INIT_FREETYPE
/* Define to 1 if you have the `getopt' function. */
#undef HAVE_GETOPT
/* Define to 1 if you have the `getopt_long' function. */
#undef HAVE_GETOPT_LONG
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if your system has a working `malloc' function. */
#undef HAVE_MALLOC
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if `stat' has the bug that it succeeds when given the
zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG
/* 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 `strchr' function. */
#undef HAVE_STRCHR
/* 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 `strrchr' function. */
#undef HAVE_STRRCHR
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_DIR_H
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_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 `vprintf' function. */
#undef HAVE_VPRINTF
/* Use libxml2 library for xml parsing */
#undef HAVE_XML2
/* Define to 1 if you have the `xmlInitParser' function. */
#undef HAVE_XMLINITPARSER
/* Define to 1 if you have the `XML_ParserCreate' function. */
#undef HAVE_XML_PARSERCREATE
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Library major version */
#undef PACKAGE_MAJOR
/* Library minor version */
#undef PACKAGE_MINOR
/* 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
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
This diff is collapsed.
#!/bin/sh
aclocal
autoheader
automake -a
autoconf
if [ x"$NO_CONFIGURE" = "x" ]; then
echo " + Running 'configure $@':"
if [ -z "$*" ]; then
echo " ** If you wish to pass arguments to ./configure, please"
echo " ** specify them on the command line."
fi
./configure ${1+"$@"} && echo "Now type 'make' to compile" || exit 1
fi
#!/bin/sh
dirs="/usr/share/fonts /usr/X11R6/lib/X11/fonts"
for d in $dirs; do
find $d \( -name '*.[Tt][Tt][Ff]' -o -name '*.[Pp][Ff][BbAa]' \) -print
done | while read f; do
dir=`dirname $f`
echo $dir
for d in ${1+"$@"}; do
echo "$d"
done | sort -u | sed 's/^/ <dir>/' | sed 's;$;</dir>;'
......@@ -49,10 +49,9 @@
-->
<alias>
<family>Times</family>
<default><family>serif</family></default>
</alias>
<alias>
<family>Times New Roman</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<default><family>serif</family></default>
</alias>
<!--
......@@ -60,14 +59,10 @@
-->
<alias>
<family>Helvetica</family>
<default><family>sans-serif</family></default>
</alias>
<alias>
<family>Arial</family>
<default><family>sans-serif</family></default>
</alias>
<alias>
<family>Verdana</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<default><family>sans-serif</family></default>
</alias>
<!--
......@@ -75,14 +70,10 @@
-->
<alias>
<family>Courier</family>
<default><family>monospace</family></default>
</alias>
<alias>
<family>Courier New</family>
<default><family>monospace</family></default>
</alias>
<alias>
<family>Andale Mono</family>
<family>Nimbus Mono L</family>
<family>Luxi Mono</family>
<default><family>monospace</family></default>
</alias>
<!--
......@@ -113,23 +104,19 @@
-->
<alias>
<family>Times</family>
<prefer><family>Times New Roman</family></prefer>
<default><family>serif</family></default>
<accept><family>Times New Roman</family></accept>
</alias>
<alias>
<family>Helvetica</family>
<prefer><family>Verdana</family></prefer>
<default><family>sans-serif</family></default>
<accept><family>Verdana</family></accept>
</alias>
<alias>
<family>Arial</family>
<prefer><family>Verdana</family></prefer>
<default><family>sans-serif</family></default>
<accept><family>Verdana</family></accept>
</alias>
<alias>
<family>Courier</family>
<prefer><family>Courier New</family></prefer>
<default><family>monospace</family></default>
<accept><family>Courier New</family></accept>
</alias>
<!--
......@@ -164,28 +151,36 @@
</prefer>
</alias>
<config>
<!--
These are the default Unicode chars that are expected to be blank
in fonts. All other blank chars are assumed to be broken and
won't appear in the resulting charsets
-->
<config><blank>
<int>0x20</int> <!-- space -->
<int>0xa0</int> <!-- nsbp -->
<int>0x2000</int> <!-- general punctuation spaces -->
<int>0x2001</int>
<int>0x2002</int>
<int>0x2003</int>
<int>0x2004</int>
<int>0x2005</int>
<int>0x2005</int>
<int>0x2006</int>
<int>0x2007</int>
<int>0x2008</int>
<int>0x2009</int>
<int>0x200a</int>
<int>0x200b</int>
<int>0x3000</int> <!-- CJK space -->
</blank></config>
<blank>
<int>0x20</int> <!-- space -->
<int>0xa0</int> <!-- nsbp -->
<int>0x2000</int> <!-- general punctuation spaces -->
<int>0x2001</int>
<int>0x2002</int>
<int>0x2003</int>
<int>0x2004</int>
<int>0x2005</int>
<int>0x2005</int>
<int>0x2006</int>
<int>0x2007</int>
<int>0x2008</int>
<int>0x2009</int>
<int>0x200a</int>
<int>0x200b</int>
<int>0x3000</int> <!-- CJK space -->
</blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
<int>30</int>
</rescan>
</config>
</fontconfig>
......@@ -39,7 +39,7 @@
<!--
Global library configuration data
-->
<!ELEMENT config (blanks)*>
<!ELEMENT config (blanks|rescan)*>
<!--
Specify the set of Unicode encoding values which
......@@ -74,7 +74,14 @@
</edit>
</match>
-->
<!ELEMENT alias (family, prefer?, accept?, default?)>
<!--
Periodically rescan the font configuration and
directories to synch internal state with filesystem
-->
<!ELEMENT rescan (int)>
<!ELEMENT alias (family*, prefer?, accept?, default?)>
<!ELEMENT prefer (family)*>
<!ELEMENT accept (family)*>
<!ELEMENT default (family)*>
......@@ -103,7 +110,7 @@
if 'qual' is 'any', then the match succeeds if any value in the field matches.
if 'qual' is 'all', then the match succeeds only if all values match.
-->
<!ELEMENT test (%expr;)>
<!ELEMENT test (%expr;)*>
<!ATTLIST test
qual (any|all) "any"
name CDATA #REQUIRED
......
#ifndef SharedLibFontconfig
#define SharedLibFontconfig YES
#endif
#ifndef NormalLibFontconfig
#define NormalLibFontconfig (!SharedLibFontconfig | ForceNormalLib)
#endif
#ifndef DebugLibFontconfig
#define DebugLibFontconfig NO
#endif
#ifndef ProfileLibFontconfig
#define ProfileLibFontconfig NO
#endif
#define _FUse(a,b) b hello
#if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
# define _FUseCat(a,b,c) b##c fllop
#else
# define _FUseCat(a,b,c) b/**/c
#endif
#undef _Use
#undef _UseCat
#define _Use _FUse
#define _UseCat _FUseCat
#if SharedLibFontconfig
#define SharedFontconfigRev 1.0
SharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGSRC),SOXLIBREV,SharedFontconfigRev)
#else
ProjectUnsharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGSRC),BuildLibDir)
#endif
#undef LinkBuildLibrary
#define LinkBuildLibrary(lib) MakeDir($(BUILDLIBDIR)) @@\
RemoveFile($(BUILDLIBDIR)/lib) @@\
cd $(BUILDLIBDIR) && $(LN) $(BUILDLIBTOP)/$(CURRENT_DIR)/lib .
#undef _LinkBuildLibrary
#define _LinkBuildLibrary(lib) LinkBuildLibrary(lib)
#undef LinkBuildLibraryMaybe
#define LinkBuildLibraryMaybe(lib,doit) MakeDir($(BUILDLIBDIR)) @@\
@if doit; then (set -x; \ @@\
RemoveFile($(BUILDLIBDIR)/lib); \ @@\
cd $(BUILDLIBDIR) && $(LN) $(BUILDLIBTOP)/$(CURRENT_DIR)/lib .); fi
#ifdef LdPreLibs
# undef LdPreLibs
#endif
#define LdPreLibs -L$(BUILDLIBDIR) LdPreLib XLdPreLibs
LDPRELIBS=LdPreLibs
#!/bin/sh
FONTDIRS=fontdirs$$
trap "rm $FONTDIRS" 0
sh ./findfonts > $FONTDIRS
sh ./findfonts ${1+"$@"} > $FONTDIRS
cp fonts.conf.in fonts.conf
chmod +w fonts.conf
ed fonts.conf << EOF
/FONTPATH_END/a
<!-- Font directories found on `date` -->
<!-- Font directory list configured on `date` -->
.
+r $FONTDIRS
a
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment