]> git.wh0rd.org - fontconfig.git/blobdiff - configure.in
Fix memory leaks in fc-cache directory cleaning code.
[fontconfig.git] / configure.in
index 7ea261c670e5634808123e1b23977a6abb2bad8b..7875831371933c28e11bcf50ce8b9cb0aaac9ba7 100644 (file)
@@ -33,7 +33,7 @@ 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.3.92)
+AM_INIT_AUTOMAKE(fontconfig, 2.3.95)
 AM_MAINTAINER_MODE
 
 dnl libtool versioning
@@ -132,18 +132,69 @@ 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
-AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h iconv.h])
+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([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long iconv])
+AC_FUNC_MMAP
+AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand_r])
+
+#
+# Checks for iconv
+#
+AC_MSG_CHECKING([for a usable iconv])
+ICONV_LIBS=""
+AC_TRY_LINK([#include <iconv.h>],
+           [iconv_open ("from", "to");],
+           [use_iconv=1],
+           [use_iconv=0])
+if test x$use_iconv = x1; then
+       AC_MSG_RESULT([libc])
+else
+       # try using libiconv
+       fontconfig_save_libs="$LIBS"
+       LIBS="$LIBS -liconv"
+
+       AC_TRY_LINK([#include <iconv.h>],
+                   [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.])
 
 #
 # Checks for FreeType
@@ -306,6 +357,8 @@ fi
 
 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])
@@ -394,6 +447,22 @@ esac
 
 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}`
+       ;;
+*)
+       ;;
+esac
+AC_SUBST(fc_cachedir)
+FC_CACHEDIR=${fc_cachedir}
+AC_SUBST(FC_CACHEDIR)
+
 FC_FONTDATE=`LC_ALL=C date`
 
 AC_SUBST(FC_FONTDATE)
@@ -479,12 +548,14 @@ fi
 
 AC_SUBST(DOCDIR)
 
+
 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