]> git.wh0rd.org - fontconfig.git/commitdiff
Fix xmkmf build process for fontconfig
authorKeith Packard <keithp@keithp.com>
Tue, 21 May 2002 17:08:42 +0000 (17:08 +0000)
committerKeith Packard <keithp@keithp.com>
Tue, 21 May 2002 17:08:42 +0000 (17:08 +0000)
Imakefile
Makefile.in [new file with mode: 0644]
acconfig.h [deleted file]
config.h.in [new file with mode: 0644]
configure.in
cvscompile.sh
findfonts
fonts.conf.in
fonts.dtd
local.def [new file with mode: 0644]
setfontdirs

index ba761d18b47f5c63bfc90ff8c1ce9b0f6463033d..d6d6c5b6bb5cb07a62e2fe3a7791578dd219fcba 100644 (file)
--- a/Imakefile
+++ b/Imakefile
@@ -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)
diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..d9d1014
--- /dev/null
@@ -0,0 +1,54 @@
+#
+# $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
+
diff --git a/acconfig.h b/acconfig.h
deleted file mode 100644 (file)
index 8ed6317..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#undef HAVE_FREETYPE 
-#undef FC_FALLBACK_FONTS
diff --git a/config.h.in b/config.h.in
new file mode 100644 (file)
index 0000000..e9b788e
--- /dev/null
@@ -0,0 +1,144 @@
+/* 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
index 0cfcba09fc8d50456460efc920b3a56918340c05..e87bd810018b908c4f1eff5c65cfe744a1b757d4 100644 (file)
-AC_INIT(fontconfig/fontconfig.h)
-
-AC_PREREQ(2.13)
-
-FC_MAJOR=1
-FC_MINOR=0
-FC_SUB=1
-FC_PRE=
-FC_IFACE_AGE=0
-FC_BIN_AGE=0
-
-AC_SUBST(FC_MAJOR)
-AC_SUBST(FC_MINOR)
-AC_SUBST(FC_SUB)
-AC_SUBST(FC_IFACE_AGE)
-AC_SUBST(FC_BIN_AGE)
-
-LT_RELEASE=$FC_MAJOR.$FC_MINOR
-LT_CURRENT=`expr $FC_SUB - $FC_IFACE_AGE`
-LT_REVISION=$FC_IFACE_AGE
-LT_AGE=`expr $FC_BIN_AGE - $FC_IFACE_AGE`
-AC_SUBST(LT_RELEASE)
-AC_SUBST(LT_CURRENT)
-AC_SUBST(LT_REVISION)
-AC_SUBST(LT_AGE)
-
-AM_INIT_AUTOMAKE("fontconfig", $FC_MAJOR.$FC_MINOR.$FC_SUB$FC_PRE)
+dnl
+dnl $XFree86$
+dnl
+dnl Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation, and that the name of Keith Packard not be used in
+dnl advertising or publicity pertaining to distribution of the software without
+dnl specific, written prior permission.  Keith Packard makes no
+dnl representations about the suitability of this software for any purpose.  It
+dnl is provided "as is" without express or implied warranty.
+dnl
+dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+dnl PERFORMANCE OF THIS SOFTWARE.
+dnl
 
-AC_CANONICAL_HOST
-AM_CONFIG_HEADER(config.h)
+# Process this file with autoconf to produce a configure script.
+AC_INIT(fontconfig, 1.0.1, fonts@xfree86.org)
+AC_CONFIG_AUX_DIR(config)
+AC_CONFIG_HEADER(config.h)
 
 AC_ARG_WITH(freetype_includes, [  --with-freetype-includes=DIR  Use FreeType includes in DIR], freetype_includes=$withval, freetype_includes=yes)
 AC_ARG_WITH(freetype_lib,      [  --with-freetype-lib=DIR       Use FreeType library in DIR], freetype_lib=$withval, freetype_lib=yes)
 AC_ARG_WITH(freetype_config,   [  --with-freeetype-config=PROG  Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes)
-AC_ARG_WITH(xml2_includes,     [  --with-xml2-includes=DIR      Use xml2 includes in DIR], xml2_includes=$withval, xml2_includes=yes)
-AC_ARG_WITH(xml2_lib,          [  --with-xml2-lib=DIR           Use xml2 library in DIR], xml2_lib=$withval, xml2_lib=yes)
-AC_ARG_WITH(xml2_config,       [  --with-freeetype-config=PROG  Use FreeType configuration program PROG], xml2_config=$withval, xml2_config=yes)
+AC_ARG_WITH(expat,             [  --with-expat=DIR              Use Expat in DIR instead of xml2], expat=$withval, expat=maybe)
+AC_ARG_WITH(expat_includes,    [  --with-expat-includes=DIR     Use Expat includes in DIR], expat_includes=$withval, expat_includes=yes)
+AC_ARG_WITH(expat_lib,         [  --with-expat-lib=DIR          Use Expat library in DIR], expat_lib=$withval, expat_lib=yes)
+AC_ARG_WITH(xml2,              [  --with-xml2=DIR               Use Libxml2 in DIR instead of expat], xml2=$withval, xml2=maybe)
+AC_ARG_WITH(xml2_includes,     [  --with-xml2-includes=DIR      Use Libxml2 includes in DIR], xml2_includes=$withval, xml2_includes=yes)
+AC_ARG_WITH(xml2_lib,          [  --with-xml2-lib=DIR           Use Libxml2 library in DIR], xml2_lib=$withval, xml2_lib=yes)
 AC_ARG_WITH(fallback_fonts,    [  --with-fallback-fonts=DIR     Use fonts from DIR when config is busted], fallback_fonts="$withval", fallback_fonts=yes)
-AC_ISC_POSIX
+
+# Checks for programs.
 AC_PROG_CC
-AC_STDC_HEADERS
-AC_PROG_MAKE_SET
 AC_PROG_INSTALL
-
 AC_PROG_LN_S
 
-dnl
-dnl Libtool
-dnl
-AM_DISABLE_STATIC
-AM_PROG_LIBTOOL
-AC_SUBST(LIBTOOL_DEPS)
-if libtool --features | grep "enable static" >/dev/null; then
-  STATIC="-static"
+PACKAGE_VERSION=1.0.1
+
+# Set major version
+PACKAGE_MAJOR=`echo $PACKAGE_VERSION | awk -F . '{ print $1 }'`
+PACKAGE_MINOR=`echo $PACKAGE_VERSION | awk -F . '{ print $2 }'`
+PACKAGE_REVISION=`echo $PACKAGE_VERSION | awk -F . '{ print $3 }'`
+AC_SUBST(PACKAGE_MAJOR)
+AC_SUBST(PACKAGE_MINOR)
+AC_SUBST(PACKAGE_REVISION)
+
+OBJEXT="o"
+AC_SUBST(OBJEXT)
+
+AC_DEFINE_UNQUOTED(PACKAGE_MAJOR,$PACKAGE_MAJOR)
+AC_DEFINE_UNQUOTED(PACKAGE_MINOR,$PACKAGE_MINOR)
+AC_DEFINE_UNQUOTED(PACKAGE_REVISION,$PACKAGE_REVISION)
+        
+#AH_TEMPLATE([PACKAGE_MAJOR],[Library major version])
+#AH_TEMPLATE([PACKAGE_MINOR],[Library minor version])
+#AH_TEMPLATE([PACKAGE_REVISION],[Library revision])
+
+# Checks for header files.
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_PID_T
+
+# Checks for library functions.
+#AC_FUNC_MALLOC
+#AC_FUNC_STAT
+#AC_FUNC_STRTOD
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS([memmove memset strchr strrchr strtol getopt getopt_long])
+
+if test "$GCC" = "yes"; then
+    MKSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+    DSO_LDOPTS='-shared -Wl,-h,`echo $@ | sed '"'s/\.so\.\([[0-9][0-9]]*\).*/.so.\1/'"'`'
+    DSO_CFLAGS=''
+    DSO_PIC_CFLAGS='-fPIC -DPIC'
 else
-  STATIC=
+    MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+    DSO_LDOPTS='-shared -h $@'
+    DSO_CFLAGS=''
+    DSO_PIC_CFLAGS='-KPIC -DPIC'
 fi
-AC_SUBST(STATIC)
 
-AC_SUBST(DEBUG_CFLAGS)
-AC_SUBST(GLOBAL_CFLAGS)
-
-AC_CHECK_FUNCS(getopt_long getopt)
+AC_SUBST(MKSHLIB)
+AC_SUBST(DSO_LDOPTS)
+AC_SUBST(DSO_CFLAGS)
+AC_SUBST(DSO_PIC_CFLAGS)
 
+#
+# Check freetype configuration
+#
 case "$freetype_config" in
 no)
        ;;
 yes)
-       AC_CHECK_PROG(ft_config, freetype-config, freetype-config, no)
+       AC_CHECK_PROG(ft_config,freetype-config,freetype-config,no)
        ;;
 *)
        ft_config="$freetype_config"
@@ -111,22 +149,13 @@ yes)
        ;;
 esac
 
-case "$fallback_fonts" in
-yes)
-       AC_DEFINE_UNQUOTED(FC_FALLBACK_FONTS, "/usr/X11R6/lib/X11/fonts/Type1")
-       ;;
-*)
-       AC_DEFINE_UNQUOTED(FC_FALLBACK_FONTS, "$fallback_fonts")
-       ;;
-esac
-
 saved_LIBS="$LIBS"
 LIBS="$LIBS $freetype_lib"
 saved_CPPFLAGS="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS $freetype_includes"
-AC_CHECK_HEADERS(ft2build.h)
+AC_CHECK_HEADERS(freetype/freetype.h)
 
-case "$ac_cv_header_ft2build_h" in
+case "$ac_cv_header_freetype_freetype_h" in
 no)
        CPPFLAGS="$saved_CPPFLAGS"
        LIBS="$saved_LIBS"
@@ -144,59 +173,210 @@ yes)
        esac
        ;;
 esac
+#AH_TEMPLATE([HAVE_FREETYPE],[whether system has freetype2 library])
+
+case "$fallback_fonts" in
+yes)
+       AC_DEFINE_UNQUOTED(FC_FALLBACK_FONTS, "/usr/share/fonts")
+       ;;
+*)
+       AC_DEFINE_UNQUOTED(FC_FALLBACK_FONTS, "$fallback_fonts")
+       ;;
+esac
+#AH_TEMPLATE([FC_FALLBACK_FONTS],
+#          [Path library uses when config file is broken])
+
+#
+# Check expat/libxml2 configuration
+#
 
-case "$xml2_config" in
+case "$expat" in
+maybe)
+       ;;
 no)
+       xml2=yes
        ;;
-yes)
-       AC_CHECK_PROG(xml2_config_prog, xml2-config, xml2-config, no)
+*)
+       xml2=no
+       ;;
+esac
+
+case "$xml2" in
+maybe)
+       ;;
+no)
+       expat=yes
        ;;
 *)
+       expat=no
        ;;
 esac
 
-case "$xml2_includes" in
+case "$expat" in
 no)
-       xml2_includes=""
        ;;
-yes)
-       case "$xml2_config_prog" in
+*)
+       case "$expat_includes" in
+       yes|no)
+               expat_include_path=""
+               ;;
+       *)
+               expat_include_path="-I$expat_includes"
+               ;;
+       esac
+       case "$expat_lib" in
+       yes)
+               case "$expat" in
+               yes|maybe)
+                       expat_library="-lexpat"
+                       ;;
+               *)
+                       expat_library="-L$expat/lib -lexpat"
+                       ;;
+               esac
+               ;;
        no)
-               xml2_includes=""
                ;;
        *)
-               xml2_includes="`$xml2_config_prog --cflags`"
+               expat_library="-L$expat_lib -lexpat"
+               ;;
+       esac
+
+       saved_CPPFLAGS="$CPPFLAGS"
+       CPPFLAGS="$CPPFLAGS $expat_include_path"
+       saved_LIBS="$LIBS"
+       LIBS="$LIBS $expat_library"
+
+       AC_CHECK_HEADER(expat.h)
+       case "$ac_cv_header_expat_h" in
+       no)
+               AC_CHECK_HEADER(xmlparse.h)
+               case "$ac_cv_header_xmlparse_h" in
+               no)
+                       have_expat_header=no;
+                       ;;
+               yes)
+                       HAVE_XMLPARSE_H=1
+                       AC_SUBST(HAVE_XMLPARSE_H)
+                       AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H)
+                       have_expat_header=yes
+                       ;;
+               esac
+               ;;
+       yes)
+               have_expat_header=yes
+               ;;
+       esac
+       case "$have_expat_header" in
+       no)
+               CPPFLAGS="$saved_CPPFLAGS"
+               LIBS="$saved_LIBS"
+               expat=no
+               ;;
+       yes)
+               AC_CHECK_FUNCS(XML_ParserCreate)
+               case "$ac_cv_func_XML_ParserCreate" in
+               no)
+                       CPPFLAGS="$saved_CPPFLAGS"
+                       LIBS="$saved_LIBS"
+                       expat=no
+                       ;;
+               yes)
+                       HAVE_EXPAT=1
+                       AC_SUBST(HAVE_EXPAT)
+                       AC_DEFINE_UNQUOTED(HAVE_EXPAT,$HAVE_EXPAT)
+                       xml2=no
+                       ;;
+               esac
                ;;
        esac
-       ;;
-*)
-       xml2_includes="-I$xml2_includes"
        ;;
 esac
-
-case "$xml2_lib" in
+       
+case "$xml2" in
 no)
-       xml2_lib=""
        ;;
-yes)
-       case "$xml2_config_prog" in
+*)
+       case "$xml2_includes" in
+       yes|no)
+               xml2_include_path=""
+               ;;
+       *)
+               xml2_include_path="-I$xml2_includes"
+               ;;
+       esac
+       case "$xml2_lib" in
+       yes)
+               case "$xml2" in
+               yes|maybe)
+                       xml2_library="-lxml2"
+                       ;;
+               *)
+                       xml2_library="-L$xml2/lib -lxml2"
+                       ;;
+               esac
+               ;;
        no)
-               xml2_lib=""
                ;;
        *)
-               xml2_lib="`$xml2_config_prog --libs`"
+               xml2_library="-L$xml2_lib -lxml2"
+               ;;
+       esac
+
+       saved_CPPFLAGS="$CPPFLAGS"
+       CPPFLAGS="$CPPFLAGS $xml2_include_path"
+       saved_LIBS="$LIBS"
+       LIBS="$LIBS $xml2_library"
+
+       AC_CHECK_HEADER(libxml/parser.h)
+       case "$ac_cv_header_libxml_parser_h" in
+       no)
+               CPPFLAGS="$saved_CPPFLAGS"
+               LIBS="$saved_LIBS"
+               xml2=no
+               ;;
+       yes)
+               AC_CHECK_FUNCS(xmlInitParser)
+               case "$ac_cv_func_xmlInitParser" in
+               no)
+                       CPPFLAGS="$saved_CPPFLAGS"
+                       LIBS="$saved_LIBS"
+                       xml2=no
+                       ;;
+               yes)
+                       HAVE_XML2=1
+                       AC_SUBST(HAVE_XML2)
+                       AC_DEFINE_UNQUOTED(HAVE_XML2,$HAVE_XML2)
+                       expat=no
+                       ;;
+               esac
                ;;
        esac
-       ;;
-*)
-       xml2_lib="-L$xml2_lib -lxml2"
        ;;
 esac
+       
+#AH_TEMPLATE([HAVE_EXPAT],[Use expat library for xml parsing])
+#AH_TEMPLATE([HAVE_XML2],[Use libxml2 library for xml parsing])
 
-saved_LIBS="$LIBS"
-LIBS="$LIBS $xml2_lib"
-saved_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $xml2_includes"
-AC_CHECK_HEADERS(xmlversion.h)
+case "$expat""$xml2" in
+nono)
+       AC_MSG_ERROR([cannot find either libxml2 or expat])
+       ;;
+esac
 
-AC_OUTPUT(Makefile src/Makefile fontconfig/Makefile fc-cache/Makefile fc-list/Makefile)
+#AC_CONFIG_FILES([Makefile
+#                 fc-cache/Makefile
+#                 fc-list/Makefile
+#                 fontconfig/Makefile
+#                 src/Makefile])
+#AC_CONFIG_FILES([Makefile
+#               config/Makedefs
+#               src/Makefile
+#               fc-cache/Makefile
+#               fc-list/Makefile])
+AC_OUTPUT([Makefile
+         config/Makedefs
+         src/Makefile
+         fc-cache/Makefile
+         fc-list/Makefile])
+#AC_OUTPUT
index 371f4587c00fdfc2210e6b0760c60c047ff6e650..7a593f4913cb87ce69f726548586317c4f0d8570 100644 (file)
@@ -1,6 +1,11 @@
 #!/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
 
index 2666f8d26ad2ee8c4db1d6eab1f8417372962cda..6115921a198c87f4417b28b28de00e0cc4cca1b4 100755 (executable)
--- a/findfonts
+++ b/findfonts
@@ -1,8 +1,4 @@
 #!/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>;'
index e85c0c425b76fe30604c6e4c162080310177546a..f6b8fc689450b96758bfb2e619932b21c7ce9cf8 100644 (file)
  -->
        <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>
 <!--
  -->
        <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>
 <!--
  -->
        <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>
 <!--
 -->
        <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>
 
 <!--
                </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>
index a3c987b23e1f9f34acdd86f30e984b8fd3f5d442..1e0e34c7fb2d07ef71bf42d9096d3713c025e3d1 100644 (file)
--- a/fonts.dtd
+++ b/fonts.dtd
@@ -39,7 +39,7 @@
 <!--
     Global library configuration data
  -->
-<!ELEMENT config (blanks)*>
+<!ELEMENT config (blanks|rescan)*>
 
 <!--
     Specify the set of Unicode encoding values which
        </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)*>
     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
diff --git a/local.def b/local.def
new file mode 100644 (file)
index 0000000..483dd76
--- /dev/null
+++ b/local.def
@@ -0,0 +1,54 @@
+#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
index 7bed7878d4bd59193d2b9daad0730d6adaeca337..c7fef43811a5b90745aaafb9ad8aa8ecbbc306a6 100755 (executable)
@@ -1,12 +1,12 @@
 #!/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