Set default font path with fontutil 1.1 and fontpath.d

Look for $sysconfdir/X11/fontpath.d and, if it exists, set it to the
default font path as a catalogue: entry. Based on app/xfs commit
c66a46e35ae40a23ad9acee838ab42300eddbd67.

Otherwise, use the font-util 1.1 macros to determine the system
fontrootdir and standard subdirectories, or let the user configure it
and the subdirectories themselves.

This adds a build-time (or at least an autoconf/autogen time) dependency
on font-util, and changes the --with-fontdir argument to --with-fontrootdir.

Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith-xsfywfwIY+M@public.gmane.org>
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
This commit is contained in:
Yaakov Selkowitz 2009-10-15 22:40:02 -05:00 committed by Jon TURNEY
parent c7d1319872
commit 56658fc06c

View File

@ -36,6 +36,9 @@ AM_MAINTAINER_MODE
m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])])
XORG_MACROS_VERSION(1.3) XORG_MACROS_VERSION(1.3)
m4_ifndef([XORG_FONT_MACROS_VERSION], [m4_fatal([must install fontutil 1.1 or later before running autoconf/autogen])])
XORG_FONT_MACROS_VERSION(1.1)
dnl this gets generated by autoheader, and thus contains all the defines. we dnl this gets generated by autoheader, and thus contains all the defines. we
dnl don't ever actually use it, internally. dnl don't ever actually use it, internally.
AC_CONFIG_HEADERS(include/do-not-use-config.h) AC_CONFIG_HEADERS(include/do-not-use-config.h)
@ -488,13 +491,26 @@ AC_ARG_WITH(os-vendor, AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name o
AC_ARG_WITH(builderstring, AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]), AC_ARG_WITH(builderstring, AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
[ BUILDERSTRING="$withval" ] [ BUILDERSTRING="$withval" ]
[ ]) [ ])
AC_ARG_WITH(fontdir, AS_HELP_STRING([--with-fontdir=FONTDIR], [Path to top level dir where fonts are installed (default: ${libdir}/X11/fonts)]),
[ FONTDIR="$withval" ], dnl Determine font path
[ FONTDIR="${libdir}/X11/fonts" ]) XORG_FONTROOTDIR
DEFAULT_FONT_PATH="${FONTDIR}/misc/,${FONTDIR}/TTF/,${FONTDIR}/OTF,${FONTDIR}/Type1/,${FONTDIR}/100dpi/,${FONTDIR}/75dpi/" XORG_FONTSUBDIR(FONTMISCDIR, fontmiscdir, misc)
case $host_os in XORG_FONTSUBDIR(FONTOTFDIR, fontotfdir, OTF)
darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;; XORG_FONTSUBDIR(FONTTTFDIR, fontttfdir, TTF)
esac XORG_FONTSUBDIR(FONTTYPE1DIR, fonttype1dir, Type1)
XORG_FONTSUBDIR(FONT75DPIDIR, font75dpidir, 75dpi)
XORG_FONTSUBDIR(FONT100DPIDIR, font100dpidir, 100dpi)
dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
dnl otherwise uses standard subdirectories of FONTROOTDIR
AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
[DEFAULT_FONT_PATH='catalogue:$(sysconfdir)/X11/fontpath.d'],
[
DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
case $host_os in
darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
esac
])
AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]), AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
[ FONTPATH="$withval" ], [ FONTPATH="$withval" ],
[ FONTPATH="${DEFAULT_FONT_PATH}" ]) [ FONTPATH="${DEFAULT_FONT_PATH}" ])
@ -1185,7 +1201,7 @@ fi
AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path]) AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path]) AC_DEFINE_DIR(PCI_TXT_IDS_PATH, PCI_TXT_IDS_DIR, [Default PCI text file ID path])
AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path]) AC_DEFINE_DIR(SERVER_MISC_CONFIG_PATH, SERVERCONFIG, [Server miscellaneous config path])
AC_DEFINE_DIR(BASE_FONT_PATH, FONTDIR, [Default base font path]) AC_DEFINE_DIR(BASE_FONT_PATH, FONTROOTDIR, [Default base font path])
AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path]) AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path])
AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name]) AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_NAME"], [Vendor name])
AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name]) AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_NAME_SHORT"], [Short vendor name])