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 ...@@ -25,7 +25,7 @@ all:: fonts.conf
fonts.conf: fonts.conf.in fonts.conf: fonts.conf.in
RemoveFile($@) RemoveFile($@)
sh ./setfontdirs sh ./setfontdirs /usr/share/fonts $(FONTDIR)
clean:: clean::
RemoveFile(fonts.conf) 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 #!/bin/sh
aclocal
autoheader
automake -a
autoconf 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 #!/bin/sh
dirs="/usr/share/fonts /usr/X11R6/lib/X11/fonts" for d in ${1+"$@"}; do
for d in $dirs; do echo "$d"
find $d \( -name '*.[Tt][Tt][Ff]' -o -name '*.[Pp][Ff][BbAa]' \) -print
done | while read f; do
dir=`dirname $f`
echo $dir
done | sort -u | sed 's/^/ <dir>/' | sed 's;$;</dir>;' done | sort -u | sed 's/^/ <dir>/' | sed 's;$;</dir>;'
...@@ -49,10 +49,9 @@ ...@@ -49,10 +49,9 @@
--> -->
<alias> <alias>
<family>Times</family> <family>Times</family>
<default><family>serif</family></default>
</alias>
<alias>
<family>Times New Roman</family> <family>Times New Roman</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<default><family>serif</family></default> <default><family>serif</family></default>
</alias> </alias>
<!-- <!--
...@@ -60,14 +59,10 @@ ...@@ -60,14 +59,10 @@
--> -->
<alias> <alias>
<family>Helvetica</family> <family>Helvetica</family>
<default><family>sans-serif</family></default>
</alias>
<alias>
<family>Arial</family> <family>Arial</family>
<default><family>sans-serif</family></default>
</alias>
<alias>
<family>Verdana</family> <family>Verdana</family>
<family>Nimbus Sans L</family>
<family>Luxi Sans</family>
<default><family>sans-serif</family></default> <default><family>sans-serif</family></default>
</alias> </alias>
<!-- <!--
...@@ -75,14 +70,10 @@ ...@@ -75,14 +70,10 @@
--> -->
<alias> <alias>
<family>Courier</family> <family>Courier</family>
<default><family>monospace</family></default>
</alias>
<alias>
<family>Courier New</family> <family>Courier New</family>
<default><family>monospace</family></default>
</alias>
<alias>
<family>Andale Mono</family> <family>Andale Mono</family>
<family>Nimbus Mono L</family>
<family>Luxi Mono</family>
<default><family>monospace</family></default> <default><family>monospace</family></default>
</alias> </alias>
<!-- <!--
...@@ -113,23 +104,19 @@ ...@@ -113,23 +104,19 @@
--> -->
<alias> <alias>
<family>Times</family> <family>Times</family>
<prefer><family>Times New Roman</family></prefer> <accept><family>Times New Roman</family></accept>
<default><family>serif</family></default>
</alias> </alias>
<alias> <alias>
<family>Helvetica</family> <family>Helvetica</family>
<prefer><family>Verdana</family></prefer> <accept><family>Verdana</family></accept>
<default><family>sans-serif</family></default>
</alias> </alias>
<alias> <alias>
<family>Arial</family> <family>Arial</family>
<prefer><family>Verdana</family></prefer> <accept><family>Verdana</family></accept>
<default><family>sans-serif</family></default>
</alias> </alias>
<alias> <alias>
<family>Courier</family> <family>Courier</family>
<prefer><family>Courier New</family></prefer> <accept><family>Courier New</family></accept>
<default><family>monospace</family></default>
</alias> </alias>
<!-- <!--
...@@ -164,28 +151,36 @@ ...@@ -164,28 +151,36 @@
</prefer> </prefer>
</alias> </alias>
<config>
<!-- <!--
These are the default Unicode chars that are expected to be blank These are the default Unicode chars that are expected to be blank
in fonts. All other blank chars are assumed to be broken and in fonts. All other blank chars are assumed to be broken and
won't appear in the resulting charsets won't appear in the resulting charsets
--> -->
<config><blank> <blank>
<int>0x20</int> <!-- space --> <int>0x20</int> <!-- space -->
<int>0xa0</int> <!-- nsbp --> <int>0xa0</int> <!-- nsbp -->
<int>0x2000</int> <!-- general punctuation spaces --> <int>0x2000</int> <!-- general punctuation spaces -->
<int>0x2001</int> <int>0x2001</int>
<int>0x2002</int> <int>0x2002</int>
<int>0x2003</int> <int>0x2003</int>
<int>0x2004</int> <int>0x2004</int>
<int>0x2005</int> <int>0x2005</int>
<int>0x2005</int> <int>0x2005</int>
<int>0x2006</int> <int>0x2006</int>
<int>0x2007</int> <int>0x2007</int>
<int>0x2008</int> <int>0x2008</int>
<int>0x2009</int> <int>0x2009</int>
<int>0x200a</int> <int>0x200a</int>
<int>0x200b</int> <int>0x200b</int>
<int>0x3000</int> <!-- CJK space --> <int>0x3000</int> <!-- CJK space -->
</blank></config> </blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
<int>30</int>
</rescan>
</config>
</fontconfig> </fontconfig>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<!-- <!--
Global library configuration data Global library configuration data
--> -->
<!ELEMENT config (blanks)*> <!ELEMENT config (blanks|rescan)*>
<!-- <!--
Specify the set of Unicode encoding values which Specify the set of Unicode encoding values which
...@@ -74,7 +74,14 @@ ...@@ -74,7 +74,14 @@
</edit> </edit>
</match> </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 prefer (family)*>
<!ELEMENT accept (family)*> <!ELEMENT accept (family)*>
<!ELEMENT default (family)*> <!ELEMENT default (family)*>
...@@ -103,7 +110,7 @@ ...@@ -103,7 +110,7 @@
if 'qual' is 'any', then the match succeeds if any value in the field matches. 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. if 'qual' is 'all', then the match succeeds only if all values match.
--> -->
<!ELEMENT test (%expr;)> <!ELEMENT test (%expr;)*>
<!ATTLIST test <!ATTLIST test
qual (any|all) "any" qual (any|all) "any"
name CDATA #REQUIRED 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 #!/bin/sh
FONTDIRS=fontdirs$$ FONTDIRS=fontdirs$$
trap "rm $FONTDIRS" 0 trap "rm $FONTDIRS" 0
sh ./findfonts > $FONTDIRS sh ./findfonts ${1+"$@"} > $FONTDIRS
cp fonts.conf.in fonts.conf cp fonts.conf.in fonts.conf
chmod +w fonts.conf chmod +w fonts.conf
ed fonts.conf << EOF ed fonts.conf << EOF
/FONTPATH_END/a /FONTPATH_END/a
<!-- Font directories found on `date` --> <!-- Font directory list configured on `date` -->
. .
+r $FONTDIRS +r $FONTDIRS
a 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