X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=configure.in;h=9cebc9f2f9559c4aa9c00181bb298df307e788de;hb=b9cc1c4ed81c8caefb5b857f37fdc24e804a5ef9;hp=a3c1f75fc2d2371c8329fb5070534c0d8d1399d5;hpb=fa244f3d8807415247c8aeb77145502b1cb9ace8;p=fontconfig.git diff --git a/configure.in b/configure.in index a3c1f75..9cebc9f 100644 --- a/configure.in +++ b/configure.in @@ -1,66 +1,158 @@ +dnl +dnl $Id$ +dnl +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 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 -dnl $XFree86: xc/lib/fontconfig/configure.in,v 1.7 2002/08/01 15:57:25 keithp Exp $ -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 +dnl Process this file with autoconf to create configure. -# Process this file with autoconf to produce a configure script. +AC_INIT(fonts.dtd) -AC_INIT(fontconfig, 1.0.1, fonts@xfree86.org) -AC_CONFIG_AUX_DIR(config) -AC_CONFIG_HEADER(config.h) +dnl ========================================================================== +dnl Versioning +dnl ========================================================================== -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-freetype-config=PROG Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes) -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(default_fonts, [ --with-default-fonts=DIR Use fonts from DIR when config is busted], defaultfonts="$withval", default_fonts=yes) -AC_ARG_WITH(confdir, [ --with-confdir=DIR Use DIR to store configuration files (default /etc/fonts)], confdir="$withval", confdir=yes) +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.4.1) +AM_MAINTAINER_MODE + +dnl libtool versioning + +dnl bump revision when fixing bugs +dnl bump current and age, reset revision to zero when adding APIs +dnl bump current, leave age, reset revision to zero when changing/removing APIS +LT_CURRENT=2 +LT_REVISION=0 +AC_SUBST(LT_CURRENT) +AC_SUBST(LT_REVISION) +LT_AGE=1 + +LT_VERSION_INFO="$LT_CURRENT:$LT_REVISION:$LT_AGE" +AC_SUBST(LT_VERSION_INFO) + +LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE` +AC_SUBST(LT_CURRENT_MINUS_AGE) + +dnl ========================================================================== + +AM_CONFIG_HEADER(config.h) -# Checks for programs. AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S -AC_PATH_X - -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_VERSION) -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) - +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) + +WARN_CFLAGS="" +if test "x$GCC" = "xyes"; then + WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \ + -Wmissing-prototypes -Wmissing-declarations \ + -Wnested-externs -fno-strict-aliasing" + AC_DEFINE_UNQUOTED(HAVE_WARNING_CPP_DIRECTIVE,1, + [Can use #warning in C files]) +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 ========================================================================== + +AC_ARG_WITH(arch, [ --with-arch=ARCH Force architecture to ARCH], arch="$withval", arch=auto) + +if test $cross_compiling = yes; then + case "$arch" in + auto) + AC_MSG_ERROR([Cannot autodetect architecture in cross compile environment] + [Use --with-arch=ARCH to specify architecture]) + ;; + esac +fi + +ARCHITECTURE=$arch +AC_SUBST(ARCHITECTURE) + +dnl ========================================================================== + # Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC @@ -68,142 +160,319 @@ AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST +AC_C_INLINE AC_TYPE_PID_T # Checks for library functions. AC_FUNC_VPRINTF -AC_CHECK_FUNCS([memmove memset strchr strrchr strtol getopt getopt_long]) +AC_FUNC_MMAP +AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand_r]) -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' +# +# Checks for iconv +# +AC_MSG_CHECKING([for a usable iconv]) +ICONV_LIBS="" +AC_TRY_LINK([#include ], + [iconv_open ("from", "to");], + [use_iconv=1], + [use_iconv=0]) +if test x$use_iconv = x1; then + AC_MSG_RESULT([libc]) else - AC_CANONICAL_HOST - - MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' - DSO_CFLAGS='' - DSO_PIC_CFLAGS='-KPIC -DPIC' - - case "$host" in - *solaris*) - DSO_LDOPTS='-G -z text -z defs -h $@' - LIBS="$LIBS -lc" - ;; - *) - DSO_LDOPTS='-shared -h $@' - ;; - esac + # try using libiconv + fontconfig_save_libs="$LIBS" + LIBS="$LIBS -liconv" + + AC_TRY_LINK([#include ], + [iconv_open ("from", "to");], + [use_iconv=true], + [use_iconv=false]) + + if test x$use_iconv = x1; then + ICONV_LIBS="-liconv" + AC_MSG_RESULT([libiconv]) + else + AC_MSG_RESULT([no]) + fi + + LIBS="$fontconfig_save_libs" fi +AC_SUBST(ICONV_LIBS) +AC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.]) -AC_SUBST(MKSHLIB) -AC_SUBST(DSO_LDOPTS) -AC_SUBST(DSO_CFLAGS) -AC_SUBST(DSO_PIC_CFLAGS) +# +# Checks for FreeType +# + +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) + if test "$ft_config" = "no"; then + AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/]) + fi +else + ft_config="$freetype_config" +fi + +FREETYPE_CFLAGS="`$ft_config --cflags`" +FREETYPE_LIBS="`$ft_config --libs`" + +AC_SUBST(FREETYPE_LIBS) +AC_SUBST(FREETYPE_CFLAGS) # -# Using x libraries, set X font directory -case "$no_x" in -yes) - ;; -*) - X_FONT_DIR="$x_libraries/X11/fonts" - AC_DEFINE_UNQUOTED(X_FONT_DIR,$X_FONT_DIR) - ;; -esac -AC_SUBST(X_FONT_DIR) +# 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_cflags="$CFLAGS" +LIBS="$LIBS $FREETYPE_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 +#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 freetype configuration +# Check expat configuration # -case "$freetype_config" in -no) - ;; -yes) - AC_CHECK_PROG(ft_config,freetype-config,freetype-config,no) - ;; -*) - ft_config="$freetype_config" - ;; -esac -case "$freetype_includes" in -no) - FREETYPE_CFLAGS="" - ;; -yes) - case "$ft_config" in +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) + +if test "$enable_libxml2" != "yes"; then + case "$expat" in no) - FREETYPE_CFLAGS="" - ;; + ;; *) - FREETYPE_CFLAGS="`$ft_config --cflags`" + case "$expat_includes" in + yes) + case "$expat" in + yes) + ;; + *) + EXPAT_CFLAGS="-I$expat/include" + ;; + esac + ;; + no) + EXPAT_CFLAGS="" + ;; + *) + EXPAT_CFLAGS="-I$expat_includes" + ;; + esac + case "$expat_lib" in + yes) + case "$expat" in + yes) + EXPAT_LIBS="-lexpat" + ;; + *) + EXPAT_LIBS="-L$expat/lib -lexpat" + ;; + esac + ;; + no) + ;; + *) + EXPAT_LIBS="-L$expat_lib -lexpat" + ;; + esac + + expatsaved_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS" + expatsaved_LIBS="$LIBS" + LIBS="$LIBS $EXPAT_LIBS" + + 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, + [Use xmlparse.h instead of expat.h]) + have_expat_header=yes + ;; + esac + ;; + yes) + have_expat_header=yes + ;; + esac + case "$have_expat_header" in + no) + expat=no + ;; + yes) + 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="$expatsaved_CPPFLAGS" + LIBS="$expatsaved_LIBS" + ;; + esac + + AC_SUBST(EXPAT_CFLAGS) + AC_SUBST(EXPAT_LIBS) + + case "$expat" in + no) + EXPAT_CFLAGS="" + EXPAT_LIBS="" + + AC_MSG_WARN([Cannot find usable expat library. Trying to use libxml2 as fallback.]) ;; esac +fi + +# +# Check libxml2 configuration +# + +AC_ARG_ENABLE(libxml2, [ --enable-libxml2 Use libxml2 instead of Expat]) + +PKG_PROG_PKG_CONFIG + +if test "$enable_libxml2" = "yes" -o "$expat" = "no"; then + PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6]) + AC_DEFINE_UNQUOTED(ENABLE_LIBXML2,1,[Use libxml2 instead of Expat]) + + AC_SUBST(LIBXML2_CFLAGS) + AC_SUBST(LIBXML2_LIBS) +fi + +# +# Set default font directory +# + +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) + 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 ;; *) - FREETYPE_CFLAGS="-I$freetype_includes" + FC_DEFAULT_FONTS="$default_fonts" + AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts", + [System font directory]) ;; esac -case "$freetype_lib" in -no) - freetype_lib="" - ;; +AC_SUBST(FC_DEFAULT_FONTS) + +# +# 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(add-fonts, [ --with-add-fonts=DIR1,DIR2,...Find additional fonts in DIR1,DIR2,... ], add_fonts="$withval", add_fonts=yes) + +case "$add_fonts" in yes) - case "$ft_config" in - no) - freetype_lib="" - ;; - *) - freetype_lib="`$ft_config --libs`" - ;; - esac + 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) + 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 + done + AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) + ;; +no) + FC_ADD_FONTS="" ;; *) - freetype_lib="-L$freetype_lib -lfreetype" + FC_ADD_FONTS="$add_fonts" + AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) ;; esac -saved_LIBS="$LIBS" -LIBS="$LIBS $freetype_lib" -saved_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS" -AC_CHECK_HEADERS(freetype/freetype.h) +AC_SUBST(FC_ADD_FONTS) -case "$ac_cv_header_freetype_freetype_h" in -no) - CPPFLAGS="$saved_CPPFLAGS" - LIBS="$saved_LIBS" +FC_FONTPATH="" + +case "$FC_ADD_FONTS" in +"") ;; -yes) - AC_CHECK_FUNCS(FT_Init_FreeType) - case "$ac_cv_func_FT_Init_FreeType" in - no) - CPPFLAGS="$saved_CPPFLAGS" - LIBS="$saved_LIBS" - ;; - yes) - AC_DEFINE(HAVE_FREETYPE) - AC_SUBST(FREETYPE_CFLAGS) - ;; - esac +*) + FC_FONTPATH=`echo $FC_ADD_FONTS | + sed -e 's/^//' -e 's/$/<\/dir>/' -e 's/,/<\/dir> /g'` ;; esac -case "$default_fonts" in -yes) - FC_DEFAULT_FONTS="/usr/share/fonts" - AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts") +AC_SUBST(FC_FONTPATH) + +# +# Set default cache directory path +# +AC_ARG_WITH(cache-dir, [ --with-cache-dir=DIR Use DIR to store cache files (default /var/cache/fontconfig)], fc_cachedir="$withval", fc_cachedir=yes) + +case $fc_cachedir in +no|yes) + fc_cachedir=`eval echo "${localstatedir}/cache/"${PACKAGE}` ;; *) - FC_DEFAULT_FONTS="$default_fonts" - AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts") ;; esac +AC_SUBST(fc_cachedir) +FC_CACHEDIR=${fc_cachedir} +AC_SUBST(FC_CACHEDIR) -AC_SUBST(FC_DEFAULT_FONTS) +FC_FONTDATE=`LC_ALL=C date` + +AC_SUBST(FC_FONTDATE) + +AC_ARG_WITH(confdir, [ --with-confdir=DIR Use DIR to store configuration files (default /etc/fonts)], confdir="$withval", confdir=yes) # # Set CONFDIR and FONTCONFIG_PATH @@ -211,113 +480,99 @@ AC_SUBST(FC_DEFAULT_FONTS) case "$confdir" in no|yes) - confdir=/etc/fonts + confdir='${sysconfdir}'/fonts ;; *) ;; esac AC_SUBST(confdir) -CONFDIR='${confdir}' -AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR") +CONFDIR=${confdir} +AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR",[Font configuration directory]) AC_SUBST(CONFDIR) # -# Check expat configuration +# Find out what language orthographies are included # -case "$expat" in -no) - ;; -*) - 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) - expat_library="-lexpat" - ;; - *) - expat_library="-L$expat/lib -lexpat" - ;; - esac - ;; - no) - ;; - *) - expat_library="-L$expat_lib -lexpat" - ;; - esac +ORTH_FILES=`cd ${srcdir}/fc-lang && echo *.orth` +AC_SUBST(ORTH_FILES) - saved_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $expat_include_path" - saved_LIBS="$LIBS" - LIBS="$LIBS $expat_library" +# +# Let people not build/install docs if they don't have docbook +# - 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) - ;; - esac - ;; - esac - ;; -esac - - -case "$expat" in -no) - AC_MSG_ERROR([cannot find expat library]) - ;; -esac +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") + +if test "x$with_docdir" = "x" ; then + DOCDIR='${datadir}/doc/fontconfig' +else + DOCDIR=$with_docdir +fi + +AC_SUBST(DOCDIR) -AC_OUTPUT([Makefile - config/Makedefs - src/Makefile - fc-cache/Makefile - fc-list/Makefile - fontconfig/Makefile - fontconfig.pc - fontconfig-config]) +AC_OUTPUT([ +Makefile +fontconfig/Makefile +fc-lang/Makefile +fc-glyphname/Makefile +fc-case/Makefile +fc-arch/Makefile +src/Makefile +src/fontconfig.def +conf.d/Makefile +fc-cache/Makefile +fc-cat/Makefile +fc-list/Makefile +fc-match/Makefile +doc/Makefile +doc/version.sgml +test/Makefile +fontconfig.spec +fontconfig.pc +fonts.conf +fontconfig-zip +])