dnl
dnl $Id$
dnl
-dnl Copyright © 2003 Keith Packard
+dnl Copyright © 2003 Keith Packard
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 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.1.92)
+AM_INIT_AUTOMAKE(fontconfig, 2.3.2)
+AM_MAINTAINER_MODE
dnl libtool versioning
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
+WARN_CFLAGS=""
+
+if test "x$GCC" = "xyes"; then
+ WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wnested-externs -fno-strict-aliasing"
+fi
+AC_SUBST(WARN_CFLAGS)
+
+dnl ==========================================================================
+
+AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
+
+dnl ==========================================================================
+
+# Setup for compiling build tools (fc-glyphname, etc)
+AC_MSG_CHECKING([for a C compiler for build tools])
+if test $cross_compiling = yes; then
+ AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
+else
+ CC_FOR_BUILD=$CC
+fi
+AC_MSG_RESULT([$CC_FOR_BUILD])
+AC_SUBST(CC_FOR_BUILD)
+
+AC_MSG_CHECKING([for suffix of executable build tools])
+if test $cross_compiling = yes; then
+ cat >conftest.c <<\_______EOF
+int
+main ()
+{
+ exit (0);
+}
+_______EOF
+ for i in .exe ""; do
+ compile="$CC_FOR_BUILD conftest.c -o conftest$i"
+ if AC_TRY_EVAL(compile); then
+ if (./conftest) 2>&AC_FD_CC; then
+ EXEEXT_FOR_BUILD=$i
+ break
+ fi
+ fi
+ done
+ rm -f conftest*
+ if test "${EXEEXT_FOR_BUILD+set}" != set; then
+ AC_MSG_ERROR([Cannot determine suffix of executable build tools])
+ fi
+else
+ EXEEXT_FOR_BUILD=$EXEEXT
+fi
+AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
+AC_SUBST(EXEEXT_FOR_BUILD)
+
dnl ==========================================================================
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
+AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h iconv.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
# Checks for library functions.
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long])
+AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long iconv])
#
# Checks for FreeType
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
+fontconfig_save_libs="$LIBS"
+fontconfig_save_cflags="$CFLAGS"
LIBS="$LIBS $FREETYPE_LIBS"
-AC_CHECK_FUNCS(FT_Get_First_Char)
-LIBS=$fontconfig_save_libs
+CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
+AC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format)
+AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
+ HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
+ HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
+[#include <ft2build.h>
+#include FT_FREETYPE_H])
+AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
+ [FT_Bitmap_Size structure includes y_ppem field])
+CFLAGS="$fontconfig_save_cflags"
+LIBS="$fontconfig_save_libs"
#
# Check expat configuration
;;
*)
case "$expat_includes" in
- yes|no)
+ yes)
+ case "$expat" in
+ yes)
+ ;;
+ *)
+ EXPAT_CFLAGS="-I$expat/include"
+ ;;
+ esac
+ ;;
+ no)
EXPAT_CFLAGS=""
;;
*)
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
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"
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
- 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
+ sub="$dir/fonts"
+ if test -d "$sub"; then
+ case x$FC_ADD_FONTS in
+ x)
+ FC_ADD_FONTS="$sub"
+ ;;
+ *)
+ FC_ADD_FONTS="$FC_ADD_FONTS,$sub"
+ ;;
+ esac
fi
;;
esac
AC_SUBST(FC_FONTPATH)
-FC_FONTDATE=`date`
+FC_FONTDATE=`LC_ALL=C date`
AC_SUBST(FC_FONTDATE)
# 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)
#
AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
-AC_ARG_ENABLE(docs, [ --disable-docs Don't build and install documentation],,enable_docs=yes)
+AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)
-if test "x$enable_docs" = xyes; then
- if test "x$HASDOCBOOK" != xyes; then
- enable_docs=no
- fi
+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
#
Makefile
fontconfig/Makefile
fc-lang/Makefile
+fc-glyphname/Makefile
+fc-case/Makefile
src/Makefile
src/fontconfig.def
+conf.d/Makefile
fc-cache/Makefile
fc-list/Makefile
+fc-match/Makefile
doc/Makefile
doc/version.sgml
test/Makefile