dnl
dnl Process this file with autoconf to create configure.
+AC_INIT(fonts.dtd)
+
dnl ==========================================================================
dnl Versioning
dnl ==========================================================================
-dnl The version number is also in fontconfig/fontconfig.h
-AC_INIT(ChangeLog,1.0.3,fontconfig@fontconfig.org)
+dnl This is the package version number, not the shared library
+dnl version. This same version number must appear in fontconfig/fontconfig.h
+dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's
+dnl not possible to extract the version number here from fontconfig.h
+AM_INIT_AUTOMAKE(fontconfig, 2.2.92)
-FONTCONFIG_HEADER=fontconfig/fontconfig.h
-FONTCONFIG_MAJOR=`awk '/^#define FC_MAJOR/ { print $3 }' $FONTCONFIG_HEADER`
-FONTCONFIG_MINOR=`awk '/^#define FC_MINOR/ { print $3 }' $FONTCONFIG_HEADER`
-FONTCONFIG_REVISION=`awk '/^#define FC_REVISION/ { print $3 }' $FONTCONFIG_HEADER`
-FONTCONFIG_VERSION="$FONTCONFIG_MAJOR.$FONTCONFIG_MINOR.$FONTCONFIG_REVISION"
+dnl libtool versioning
-AC_SUBST(FONTCONFIG_MAJOR)
-AC_SUBST(FONTCONFIG_MINOR)
-AC_SUBST(FONTCONFIG_REVISION)
-AC_SUBST(FONTCONFIG_VERSION)
+LT_CURRENT=1
+LT_REVISION=4
+AC_SUBST(LT_CURRENT)
+AC_SUBST(LT_REVISION)
+LT_AGE=0
-dnl libtool versioning
+LT_VERSION_INFO="$LT_CURRENT:$LT_REVISION:$LT_AGE"
+AC_SUBST(LT_VERSION_INFO)
-LT_VERSION_NUMBER="$FONTCONFIG_MAJOR:$FONTCONFIG_MINOR:$FONTCONFIG_REVISION"
-AC_SUBST(LT_VERSION_NUMBER)
+LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
+AC_SUBST(LT_CURRENT_MINUS_AGE)
dnl ==========================================================================
-AM_INIT_AUTOMAKE(fontconfig, $FONTCONFIG_VERSION)
-
AM_CONFIG_HEADER(config.h)
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
+AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
AC_PROG_MAKE_SET
+dnl ==========================================================================
+
+case "$host" in
+ *-*-mingw*)
+ os_win32=yes
+ ;;
+ *)
+ os_win32=no
+esac
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+
+if test "$os_win32" = "yes"; then
+ AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
+fi
+AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
+
+dnl ==========================================================================
+
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
# Checks for library functions.
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([memmove memset strchr strrchr strtol getopt getopt_long])
+AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long])
#
# Checks for FreeType
#
-AC_ARG_WITH(freetype_config, [ --with-freetype-config=PROG Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes)
+AC_ARG_WITH(freetype-config, [ --with-freetype-config=PROG Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes)
if test "$freetype_config" = "yes"; then
AC_PATH_PROG(ft_config,freetype-config,no)
ft_config="$freetype_config"
fi
-FREETYPE_CFLAGS="$($ft_config --cflags)"
-FREETYPE_LIBS="$($ft_config --libs)"
+FREETYPE_CFLAGS="`$ft_config --cflags`"
+FREETYPE_LIBS="`$ft_config --libs`"
AC_SUBST(FREETYPE_LIBS)
AC_SUBST(FREETYPE_CFLAGS)
#
-# Check to see whether we have FT_Get_First_Char(), new in 2.0.9
+# Check to see whether we have:
+# FT_Get_Next_Char
+# FT_Get_BDF_Property
+# FT_Get_PS_Font_Info
+# FT_Has_PS_Glyph_Names
#
fontconfig_save_libs=$LIBS
LIBS="$LIBS $FREETYPE_LIBS"
-AC_CHECK_FUNCS(FT_Get_First_Char)
+AC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names)
LIBS=$fontconfig_save_libs
#
#
AC_ARG_WITH(expat, [ --with-expat=DIR Use Expat in DIR], expat=$withval, expat=yes)
-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(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)
case "$expat" in
no)
expat=no
;;
yes)
- AC_CHECK_FUNCS(XML_ParserCreate)
- case "$ac_cv_func_XML_ParserCreate" in
- no)
- expat=no
- ;;
+ AC_CHECK_FUNCS(XML_SetDoctypeDeclHandler)
+ case "$ac_cv_func_XML_SetDoctypeDeclHandler" in
yes)
HAVE_EXPAT=1
AC_SUBST(HAVE_EXPAT)
AC_DEFINE_UNQUOTED(HAVE_EXPAT,$HAVE_EXPAT,
[Found a useable expat library])
;;
+ *)
+ expat=no
+ ;;
esac
;;
esac
- CPPFLAGS="$saved_CPPFLAGS"
- LIBS="$saved_LIBS"
+ CPPFLAGS="$expatsaved_CPPFLAGS"
+ LIBS="$expatsaved_LIBS"
;;
esac
AC_SUBST(EXPAT_LIBS)
case "$expat" in
no)
- AC_MSG_ERROR([cannot find expat library])
+ AC_MSG_ERROR([Cannot find usable expat library. This could mean that your version is too old.])
;;
esac
# Set default font directory
#
-AC_ARG_WITH(default_fonts, [ --with-default-fonts=DIR Use fonts from DIR when config is busted], defaultfonts="$withval", default_fonts=yes)
+AC_ARG_WITH(default-fonts, [ --with-default-fonts=DIR Use fonts from DIR when config is busted], default_fonts="$withval", default_fonts=yes)
case "$default_fonts" in
yes)
- FC_DEFAULT_FONTS="/usr/share/fonts"
- AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts",
- [System font directory])
+ if test "$os_win32" = "yes"; then
+ FC_DEFAULT_FONTS="WINDOWSFONTDIR"
+ AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "WINDOWSFONTDIR",
+ [Windows font directory])
+ else
+ FC_DEFAULT_FONTS="/usr/share/fonts"
+ AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts",
+ [System font directory])
+ fi
;;
*)
FC_DEFAULT_FONTS="$default_fonts"
AC_SUBST(FC_DEFAULT_FONTS)
#
-# Add X fonts if available
+# Add more fonts if available. By default, add only the directories
+# with outline fonts; those with bitmaps can be added as desired in
+# local.conf or ~/.fonts.conf
#
-AC_ARG_WITH(x_fonts, [ --with-x-fonts=DIR Find X fonts in DIR ], x_fonts="$withval", x_fonts=yes)
+AC_ARG_WITH(add-fonts, [ --with-add-fonts=DIR1,DIR2,...Find additional fonts in DIR1,DIR2,... ], add_fonts="$withval", add_fonts=yes)
-case "$x_fonts" in
+case "$add_fonts" in
yes)
- FC_X_FONTS=""
- for dir in /usr/X11R6/lib /usr/X11/lib /usr/lib/X11; do
- case x"$FC_X_FONTS" in
+ FC_ADD_FONTS=""
+ for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do
+ case x"$FC_ADD_FONTS" in
x)
if test -d "$dir/fonts"; then
- FC_X_FONTS="$dir/fonts"
+ for sub in "$dir"/fonts/*; do
+ if ls "$sub" | grep -q -i '\.pf\|\.tt\|\.ot'; then
+ case x$FC_ADD_FONTS in
+ x)
+ FC_ADD_FONTS="$sub"
+ ;;
+ *)
+ FC_ADD_FONTS="$FC_ADD_FONTS,$sub"
+ ;;
+ esac
+ fi
+ done
fi
;;
esac
done
- AC_DEFINE_UNQUOTED(FC_X_FONTS,"$x_fonts",[X font directory])
+ AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
;;
no)
- FC_X_FONTS=""
+ FC_ADD_FONTS=""
;;
*)
- FC_X_FONTS="$x_fonts"
- AC_DEFINE_UNQUOTED(FC_X_FONTS,"$x_fonts",[X font directory])
+ FC_ADD_FONTS="$add_fonts"
+ AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
;;
esac
-AC_SUBST(FC_X_FONTS)
+AC_SUBST(FC_ADD_FONTS)
FC_FONTPATH=""
-case "$FC_X_FONTS" in
+case "$FC_ADD_FONTS" in
"")
;;
*)
- FC_FONTPATH="<dir>$FC_X_FONTS</dir>"
+ FC_FONTPATH=`echo $FC_ADD_FONTS |
+ sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'`
;;
esac
case "$confdir" in
no|yes)
- confdir=/etc/fonts
+ confdir='${sysconfdir}'/fonts
;;
*)
;;
esac
AC_SUBST(confdir)
-CONFDIR='${confdir}'
+CONFDIR=${confdir}
AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR",[Font configuration directory])
AC_SUBST(CONFDIR)
# Find out what language orthographies are included
#
-ORTH_FILES=`cd fc-lang && echo *.orth`
+ORTH_FILES=`cd ${srcdir}/fc-lang && echo *.orth`
AC_SUBST(ORTH_FILES)
+#
+# Let people not build/install docs if they don't have docbook
+#
+
+AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
+
+AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)
+
+default_docs="yes"
+#
+# Check if docs exist or can be created
+#
+if test x$HASDOCBOOK = xno; then
+ if test -f doc/fonts-conf.5; then
+ :
+ else
+ default_docs="no"
+ fi
+fi
+
+AC_ARG_ENABLE(docs, [ --disable-docs Don't build and install documentation],,enable_docs=$default_docs)
+
+AM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes)
+
+if test "x$enable_docs" = xyes; then
+ DOCSRC="doc"
+ tmp=funcs.$$
+ cat $srcdir/doc/*.fncs | awk '
+ /^@TITLE@/ { if (!done) { printf ("%s\n", $2); done = 1; } }
+ /^@FUNC@/ { if (!done) { printf ("%s\n", $2); done = 1; } }
+ /^@@/ { done = 0; }' > $tmp
+ DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'`
+ echo DOCMAN3 $DOCMAN3
+ rm -f $tmp
+else
+ DOCSRC=""
+ DOCMAN3=""
+fi
+
+AC_SUBST(DOCSRC)
+AC_SUBST(DOCMAN3)
+
#
# Figure out where to install documentation
#
-AC_ARG_WITH(docdir, [ --with-docdir=DIR Use DIR to store documentation files (default ${datadir}/doc/fontconfig)], confdir="$withval")
+AC_ARG_WITH(docdir, [ --with-docdir=DIR Use DIR to store documentation files (default ${datadir}/doc/fontconfig)], confdir="$withval")
if test "x$with_docdir" = "x" ; then
DOCDIR='${datadir}/doc/fontconfig'
Makefile
fontconfig/Makefile
fc-lang/Makefile
+fc-glyphname/Makefile
src/Makefile
+src/fontconfig.def
fc-cache/Makefile
fc-list/Makefile
+fc-match/Makefile
doc/Makefile
+doc/version.sgml
+test/Makefile
fontconfig.spec
fontconfig.pc
fonts.conf
+fontconfig-zip
])