configure.ac revision ca08ab68
1ca08ab68Smrgdnl 2ca08ab68Smrgdnl fontconfig/configure.in 3ca08ab68Smrgdnl 4ca08ab68Smrgdnl Copyright © 2003 Keith Packard 5ca08ab68Smrgdnl 6ca08ab68Smrgdnl Permission to use, copy, modify, distribute, and sell this software and its 7ca08ab68Smrgdnl documentation for any purpose is hereby granted without fee, provided that 8ca08ab68Smrgdnl the above copyright notice appear in all copies and that both that 9ca08ab68Smrgdnl copyright notice and this permission notice appear in supporting 10ca08ab68Smrgdnl documentation, and that the name of the author(s) not be used in 11ca08ab68Smrgdnl advertising or publicity pertaining to distribution of the software without 12ca08ab68Smrgdnl specific, written prior permission. The authors make no 13ca08ab68Smrgdnl representations about the suitability of this software for any purpose. It 14ca08ab68Smrgdnl is provided "as is" without express or implied warranty. 15ca08ab68Smrgdnl 16ca08ab68Smrgdnl THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 17ca08ab68Smrgdnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 18ca08ab68Smrgdnl EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR 19ca08ab68Smrgdnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 20ca08ab68Smrgdnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 21ca08ab68Smrgdnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 22ca08ab68Smrgdnl PERFORMANCE OF THIS SOFTWARE. 23ca08ab68Smrgdnl 24ca08ab68Smrgdnl Process this file with autoconf to create configure. 25ca08ab68Smrg 26ca08ab68SmrgAC_PREREQ(2.61) 27ca08ab68SmrgAC_INIT(fonts.dtd) 28ca08ab68Smrg 29ca08ab68Smrgdnl ========================================================================== 30ca08ab68Smrgdnl Versioning 31ca08ab68Smrgdnl ========================================================================== 32ca08ab68Smrg 33ca08ab68Smrgdnl This is the package version number, not the shared library 34ca08ab68Smrgdnl version. This same version number must appear in fontconfig/fontconfig.h 35ca08ab68Smrgdnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's 36ca08ab68Smrgdnl not possible to extract the version number here from fontconfig.h 37ca08ab68SmrgAM_INIT_AUTOMAKE(fontconfig, 2.10.2) 38ca08ab68Smrgm4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) 39ca08ab68Smrg 40ca08ab68Smrgdnl libtool versioning 41ca08ab68Smrg 42ca08ab68Smrgdnl bump revision when fixing bugs 43ca08ab68Smrgdnl bump current and age, reset revision to zero when adding APIs 44ca08ab68Smrgdnl bump current, leave age, reset revision to zero when changing/removing APIS 45ca08ab68SmrgLIBT_CURRENT=7 46ca08ab68SmrgLIBT_REVISION=2 47ca08ab68SmrgAC_SUBST(LIBT_CURRENT) 48ca08ab68SmrgAC_SUBST(LIBT_REVISION) 49ca08ab68SmrgLIBT_AGE=6 50ca08ab68Smrg 51ca08ab68SmrgLIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE" 52ca08ab68SmrgAC_SUBST(LIBT_VERSION_INFO) 53ca08ab68Smrg 54ca08ab68SmrgLIBT_CURRENT_MINUS_AGE=`expr $LIBT_CURRENT - $LIBT_AGE` 55ca08ab68SmrgAC_SUBST(LIBT_CURRENT_MINUS_AGE) 56ca08ab68Smrg 57ca08ab68Smrgdnl ========================================================================== 58ca08ab68Smrg 59ca08ab68SmrgAC_CONFIG_HEADERS(config.h) 60ca08ab68SmrgAC_CONFIG_MACRO_DIR([m4]) 61ca08ab68Smrg 62ca08ab68SmrgAC_PROG_CC 63ca08ab68SmrgAC_PROG_INSTALL 64ca08ab68SmrgAC_PROG_LN_S 65ca08ab68SmrgAC_LIBTOOL_WIN32_DLL 66ca08ab68SmrgAM_PROG_LIBTOOL 67ca08ab68SmrgAC_PROG_MAKE_SET 68ca08ab68SmrgPKG_PROG_PKG_CONFIG 69ca08ab68Smrg 70ca08ab68SmrgAC_MSG_CHECKING([for RM macro]) 71ca08ab68Smrg_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'` 72ca08ab68Smrgif test "x$_predefined_rm" = "x"; then 73ca08ab68Smrg AC_MSG_RESULT([no predefined RM]) 74ca08ab68Smrg AC_CHECK_PROG(RM, rm, [rm -f]) 75ca08ab68Smrgelse 76ca08ab68Smrg AC_MSG_RESULT($_predefined_rm) 77ca08ab68Smrgfi 78ca08ab68Smrg 79ca08ab68Smrgdnl ========================================================================== 80ca08ab68Smrg 81ca08ab68Smrgcase "$host" in 82ca08ab68Smrg *-*-mingw*) 83ca08ab68Smrg os_win32=yes 84ca08ab68Smrg ;; 85ca08ab68Smrg *) 86ca08ab68Smrg os_win32=no 87ca08ab68Smrgesac 88ca08ab68SmrgAM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") 89ca08ab68Smrg 90ca08ab68Smrgif test "$os_win32" = "yes"; then 91ca08ab68Smrg AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) 92ca08ab68Smrgfi 93ca08ab68SmrgAM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes) 94ca08ab68Smrg 95ca08ab68SmrgWARN_CFLAGS="" 96ca08ab68Smrgif test "x$GCC" = "xyes"; then 97ca08ab68Smrg WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \ 98ca08ab68Smrg -Wmissing-prototypes -Wmissing-declarations \ 99ca08ab68Smrg -Wnested-externs -fno-strict-aliasing" 100ca08ab68Smrg AC_DEFINE_UNQUOTED(HAVE_WARNING_CPP_DIRECTIVE,1, 101ca08ab68Smrg [Can use #warning in C files]) 102ca08ab68Smrgfi 103ca08ab68SmrgAC_SUBST(WARN_CFLAGS) 104ca08ab68Smrg 105ca08ab68Smrg 106ca08ab68Smrgdnl ========================================================================== 107ca08ab68Smrg 108ca08ab68SmrgAM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) 109ca08ab68SmrgAM_CONDITIONAL(ENABLE_SHARED, test "$enable_shared" = "yes") 110ca08ab68Smrg 111ca08ab68Smrgdnl ========================================================================== 112ca08ab68Smrg 113ca08ab68SmrgAC_ARG_WITH(arch, 114ca08ab68Smrg [AC_HELP_STRING([--with-arch=ARCH], 115ca08ab68Smrg [Force architecture to ARCH])], 116ca08ab68Smrg arch="$withval", arch=auto) 117ca08ab68Smrg 118ca08ab68Smrgif test "x$arch" != xauto; then 119ca08ab68Smrg AC_DEFINE_UNQUOTED([FC_ARCHITECTURE], "$arch", [Architecture prefix to use for cache file names]) 120ca08ab68Smrgfi 121ca08ab68Smrg 122ca08ab68Smrg 123ca08ab68Smrgdnl ========================================================================== 124ca08ab68Smrg 125ca08ab68Smrg# Checks for header files. 126ca08ab68SmrgAC_HEADER_DIRENT 127ca08ab68SmrgAC_HEADER_STDC 128ca08ab68SmrgAC_CHECK_HEADERS([fcntl.h regex.h stdlib.h string.h unistd.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h]) 129ca08ab68Smrg 130ca08ab68Smrg# Checks for typedefs, structures, and compiler characteristics. 131ca08ab68SmrgAC_C_CONST 132ca08ab68SmrgAC_C_INLINE 133ca08ab68SmrgAC_C_FLEXIBLE_ARRAY_MEMBER 134ca08ab68SmrgAC_TYPE_PID_T 135ca08ab68Smrg 136ca08ab68Smrg# Checks for library functions. 137ca08ab68SmrgAC_FUNC_VPRINTF 138ca08ab68SmrgAC_FUNC_MMAP 139ca08ab68SmrgAC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand random lrand48 random_r rand_r regcomp regerror regexec regfree fstatvfs fstatfs]) 140ca08ab68Smrg 141ca08ab68Smrgdnl AC_CHECK_FUNCS doesn't check for header files. 142ca08ab68Smrgdnl posix_fadvise() may be not available in older libc. 143ca08ab68Smrgfc_saved_CFLAGS="$CFLAGS" 144ca08ab68SmrgCFLAGS="$CFLAGS $WARN_CFLAGS -Werror" 145ca08ab68SmrgAC_MSG_CHECKING([for posix_fadvise]) 146ca08ab68SmrgAC_LINK_IFELSE([AC_LANG_SOURCE([[ 147ca08ab68Smrg #include <fcntl.h> 148ca08ab68Smrg int main(void) { 149ca08ab68Smrg return posix_fadvise(0, 0, 0, 0); 150ca08ab68Smrg } 151ca08ab68Smrg ]])],[ 152ca08ab68Smrg AC_MSG_RESULT([yes]) 153ca08ab68Smrg AC_DEFINE([HAVE_POSIX_FADVISE], [1], [Define to 1 if you have the `posix_fadvise' function.]) 154ca08ab68Smrg ],[AC_MSG_RESULT([no])]) 155ca08ab68SmrgCFLAGS="$fc_saved_CFLAGS" 156ca08ab68Smrg 157ca08ab68Smrg# 158ca08ab68Smrgif test "x$ac_cv_func_fstatvfs" = "xyes"; then 159ca08ab68Smrg AC_CHECK_MEMBERS([struct statvfs.f_basetype, struct statvfs.f_fstypename],,, 160ca08ab68Smrg [#include <sys/statvfs.h>]) 161ca08ab68Smrgfi 162ca08ab68Smrgif test "x$ac_cv_func_fstatfs" = "xyes"; then 163ca08ab68Smrg AC_CHECK_MEMBERS([struct statfs.f_flags, struct statfs.f_fstypename],,, [ 164ca08ab68Smrg#ifdef HAVE_SYS_VFS_H 165ca08ab68Smrg#include <sys/vfs.h> 166ca08ab68Smrg#endif 167ca08ab68Smrg#ifdef HAVE_SYS_STATFS_H 168ca08ab68Smrg#include <sys/statfs.h> 169ca08ab68Smrg#endif 170ca08ab68Smrg#ifdef HAVE_SYS_PARAM_H 171ca08ab68Smrg#include <sys/param.h> 172ca08ab68Smrg#endif 173ca08ab68Smrg#ifdef HAVE_SYS_MOUNT_H 174ca08ab68Smrg#include <sys/mount.h> 175ca08ab68Smrg#endif]) 176ca08ab68Smrgfi 177ca08ab68SmrgAC_CHECK_MEMBERS([struct dirent.d_type],,, 178ca08ab68Smrg [#include <dirent.h>]) 179ca08ab68Smrg# 180ca08ab68Smrg# regex 181ca08ab68Smrg# 182ca08ab68Smrgif test "x$ac_cv_func_regcomp" = "xyes" -a "x$ac_cv_func_regerror" = "xyes" -a "x$ac_cv_func_regexec" = "xyes" -a "x$ac_cv_func_regfree"; then 183ca08ab68Smrg AC_DEFINE(USE_REGEX,,[Use regex]) 184ca08ab68Smrgfi 185ca08ab68Smrg 186ca08ab68Smrg# 187ca08ab68Smrg# Checks for iconv 188ca08ab68Smrg# 189ca08ab68SmrgAC_ARG_ENABLE(iconv, 190ca08ab68Smrg [AC_HELP_STRING([--enable-iconv], 191ca08ab68Smrg [Use iconv to support non-Unicode SFNT name])], 192ca08ab68Smrg ,enable_iconv=no) 193ca08ab68SmrgAC_ARG_WITH(libiconv, 194ca08ab68Smrg [AC_HELP_STRING([--with-libiconv=DIR], 195ca08ab68Smrg [Use libiconv in DIR])], 196ca08ab68Smrg [if test "x$withval" = "xyes"; then 197ca08ab68Smrg libiconv_prefix=$prefix 198ca08ab68Smrg else 199ca08ab68Smrg libiconv_prefix=$withval 200ca08ab68Smrg fi], 201ca08ab68Smrg [libiconv_prefix=auto]) 202ca08ab68SmrgAC_ARG_WITH(libiconv-includes, 203ca08ab68Smrg [AC_HELP_STRING([--with-libiconv-includes=DIR], 204ca08ab68Smrg [Use libiconv includes in DIR])], 205ca08ab68Smrg [libiconv_includes=$withval], 206ca08ab68Smrg [libiconv_includes=auto]) 207ca08ab68SmrgAC_ARG_WITH(libiconv-lib, 208ca08ab68Smrg [AC_HELP_STRING([--with-libiconv-lib=DIR], 209ca08ab68Smrg [Use libiconv library in DIR])], 210ca08ab68Smrg [libiconv_lib=$withval], 211ca08ab68Smrg [libiconv_lib=auto]) 212ca08ab68Smrg 213ca08ab68Smrg# if no libiconv,libiconv-includes,libiconv-lib are specified, 214ca08ab68Smrg# libc's iconv has a priority. 215ca08ab68Smrgif test "$libiconv_includes" != "auto" -a -r ${libiconv_includes}/iconv.h; then 216ca08ab68Smrg libiconv_cflags="-I${libiconv_includes}" 217ca08ab68Smrgelif test "$libiconv_prefix" != "auto" -a -r ${libiconv_prefix}/include/iconv.h; then 218ca08ab68Smrg libiconv_cflags="-I${libiconv_prefix}/include" 219ca08ab68Smrgelse 220ca08ab68Smrg libiconv_cflags="" 221ca08ab68Smrgfi 222ca08ab68Smrglibiconv_libs="" 223ca08ab68Smrgif test "x$libiconv_cflags" != "x"; then 224ca08ab68Smrg if test "$libiconv_lib" != "auto" -a -d ${libiconv_lib}; then 225ca08ab68Smrg libiconv_libs="-L${libiconv_lib} -liconv" 226ca08ab68Smrg elif test "$libiconv_prefix" != "auto" -a -d ${libiconv_prefix}/lib; then 227ca08ab68Smrg libiconv_libs="-L${libiconv_prefix}/lib -liconv" 228ca08ab68Smrg else 229ca08ab68Smrg libiconv_libs="-liconv" 230ca08ab68Smrg fi 231ca08ab68Smrgfi 232ca08ab68Smrg 233ca08ab68Smrguse_iconv=0 234ca08ab68Smrgif test "x$enable_iconv" != "xno"; then 235ca08ab68Smrg AC_MSG_CHECKING([for a usable iconv]) 236ca08ab68Smrg if test "x$libiconv_cflags" != "x" -o "x$libiconv_libs" != "x"; then 237ca08ab68Smrg iconvsaved_CFLAGS="$CFLAGS" 238ca08ab68Smrg iconvsaved_LIBS="$LIBS" 239ca08ab68Smrg CFLAGS="$CFLAGS $libiconv_cflags" 240ca08ab68Smrg LIBS="$LIBS $libiconv_libs" 241ca08ab68Smrg 242ca08ab68Smrg AC_TRY_LINK([#include <iconv.h>], 243ca08ab68Smrg [iconv_open ("from", "to");], 244ca08ab68Smrg [iconv_type="libiconv" 245ca08ab68Smrg use_iconv=1], 246ca08ab68Smrg [use_iconv=0]) 247ca08ab68Smrg 248ca08ab68Smrg CFLAGS="$iconvsaved_CFLAGS" 249ca08ab68Smrg LIBS="$iconvsaved_LIBS" 250ca08ab68Smrg ICONV_CFLAGS="$libiconv_cflags" 251ca08ab68Smrg ICONV_LIBS="$libiconv_libs" 252ca08ab68Smrg fi 253ca08ab68Smrg if test "x$use_iconv" = "x0"; then 254ca08ab68Smrg AC_TRY_LINK([#include <iconv.h>], 255ca08ab68Smrg [iconv_open ("from", "to");], 256ca08ab68Smrg [iconv_type="libc" 257ca08ab68Smrg use_iconv=1], 258ca08ab68Smrg [iconv_type="not found" 259ca08ab68Smrg use_iconv=0]) 260ca08ab68Smrg fi 261ca08ab68Smrg 262ca08ab68Smrg AC_MSG_RESULT([$iconv_type]) 263ca08ab68Smrg AC_SUBST(ICONV_CFLAGS) 264ca08ab68Smrg AC_SUBST(ICONV_LIBS) 265ca08ab68Smrgfi 266ca08ab68SmrgAC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.]) 267ca08ab68Smrg# 268ca08ab68Smrg# Checks for FreeType 269ca08ab68Smrg# 270ca08ab68SmrgPKG_CHECK_MODULES(FREETYPE, freetype2) 271ca08ab68Smrg 272ca08ab68SmrgAC_SUBST(FREETYPE_LIBS) 273ca08ab68SmrgAC_SUBST(FREETYPE_CFLAGS) 274ca08ab68Smrg 275ca08ab68Smrgfontconfig_save_libs="$LIBS" 276ca08ab68Smrgfontconfig_save_cflags="$CFLAGS" 277ca08ab68SmrgLIBS="$LIBS $FREETYPE_LIBS" 278ca08ab68SmrgCFLAGS="$CFLAGS $FREETYPE_CFLAGS" 279ca08ab68SmrgAC_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 FT_Select_Size) 280ca08ab68SmrgAC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem, 281ca08ab68Smrg HAVE_FT_BITMAP_SIZE_Y_PPEM=1, 282ca08ab68Smrg HAVE_FT_BITMAP_SIZE_Y_PPEM=0, 283ca08ab68Smrg[#include <ft2build.h> 284ca08ab68Smrg#include FT_FREETYPE_H]) 285ca08ab68SmrgAC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM, 286ca08ab68Smrg [FT_Bitmap_Size structure includes y_ppem field]) 287ca08ab68SmrgCFLAGS="$fontconfig_save_cflags" 288ca08ab68SmrgLIBS="$fontconfig_save_libs" 289ca08ab68Smrg 290ca08ab68Smrg# 291ca08ab68Smrg# Check expat configuration 292ca08ab68Smrg# 293ca08ab68SmrgAC_ARG_WITH(expat, 294ca08ab68Smrg [AC_HELP_STRING([--with-expat=DIR], 295ca08ab68Smrg [Use Expat in DIR])], 296ca08ab68Smrg [expat_prefix=$withval], 297ca08ab68Smrg [expat_prefix=auto]) 298ca08ab68SmrgAC_ARG_WITH(expat-includes, 299ca08ab68Smrg [AC_HELP_STRING([--with-expat-includes=DIR], 300ca08ab68Smrg [Use Expat includes in DIR])], 301ca08ab68Smrg [expat_includes=$withval], 302ca08ab68Smrg [expat_includes=auto]) 303ca08ab68SmrgAC_ARG_WITH(expat-lib, 304ca08ab68Smrg [AC_HELP_STRING([--with-expat-lib=DIR])], 305ca08ab68Smrg [expat_lib=$withval], 306ca08ab68Smrg [expat_lib=auto]) 307ca08ab68Smrg 308ca08ab68Smrgif test "$enable_libxml2" != "yes"; then 309ca08ab68Smrg use_pkgconfig_for_expat=yes 310ca08ab68Smrg if test "$expat_prefix" = "auto" -a "$expat_includes" = "auto" -a "$expat_lib" = "auto"; then 311ca08ab68Smrg PKG_CHECK_MODULES(EXPAT, expat,,use_pkgconfig_for_expat=no) 312ca08ab68Smrg else 313ca08ab68Smrg use_pkgconfig_for_expat=no 314ca08ab68Smrg fi 315ca08ab68Smrg if test "x$use_pkgconfig_for_expat" = "xno"; then 316ca08ab68Smrg if test "$expat_includes" != "auto" -a -r ${expat_includes}/expat.h; then 317ca08ab68Smrg EXPAT_CFLAGS="-I${expat_includes}" 318ca08ab68Smrg elif test "$expat_prefix" != "auto" -a -r ${expat_prefix}/include/expat.h; then 319ca08ab68Smrg EXPAT_CFLAGS="-I${expat_prefix}/include" 320ca08ab68Smrg else 321ca08ab68Smrg EXPAT_CFLAGS="" 322ca08ab68Smrg fi 323ca08ab68Smrg if test "$expat_lib" != "auto"; then 324ca08ab68Smrg EXPAT_LIBS="-L${expat_lib} -lexpat" 325ca08ab68Smrg elif test "$expat_prefix" != "auto"; then 326ca08ab68Smrg EXPAT_LIBS="-L${expat_prefix}/lib -lexpat" 327ca08ab68Smrg else 328ca08ab68Smrg EXPAT_LIBS="-lexpat" 329ca08ab68Smrg fi 330ca08ab68Smrg fi 331ca08ab68Smrg 332ca08ab68Smrg expatsaved_CPPFLAGS="$CPPFLAGS" 333ca08ab68Smrg expatsaved_LIBS="$LIBS" 334ca08ab68Smrg CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS" 335ca08ab68Smrg LIBS="$LIBS $EXPAT_LIBS" 336ca08ab68Smrg 337ca08ab68Smrg AC_CHECK_HEADER(expat.h) 338ca08ab68Smrg if test "$ac_cv_header_expat_h" = "no"; then 339ca08ab68Smrg AC_CHECK_HEADER(xmlparse.h) 340ca08ab68Smrg if test "$ac_cv_header_xmlparse_h" = "yes"; then 341ca08ab68Smrg HAVE_XMLPARSE_H=1 342ca08ab68Smrg AC_SUBST(HAVE_XMLPARSE_H) 343ca08ab68Smrg AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H, 344ca08ab68Smrg [Use xmlparse.h instead of expat.h]) 345ca08ab68Smrg else 346ca08ab68Smrg AC_MSG_ERROR([ 347ca08ab68Smrg*** expat is required. or try to use --enable-libxml2]) 348ca08ab68Smrg fi 349ca08ab68Smrg fi 350ca08ab68Smrg AC_CHECK_FUNCS(XML_SetDoctypeDeclHandler) 351ca08ab68Smrg if test "$ac_cv_func_XML_SetDoctypeDeclHandler" = "no"; then 352ca08ab68Smrg AC_MSG_ERROR([ 353ca08ab68Smrg*** expat is required. or try to use --enable-libxml2]) 354ca08ab68Smrg fi 355ca08ab68Smrg CPPFLAGS="$expatsaved_CPPFLAGS" 356ca08ab68Smrg LIBS="$expatsaved_LIBS" 357ca08ab68Smrg 358ca08ab68Smrg AC_SUBST(EXPAT_CFLAGS) 359ca08ab68Smrg AC_SUBST(EXPAT_LIBS) 360ca08ab68Smrgfi 361ca08ab68Smrg 362ca08ab68Smrg# 363ca08ab68Smrg# Check libxml2 configuration 364ca08ab68Smrg# 365ca08ab68SmrgAC_ARG_ENABLE(libxml2, 366ca08ab68Smrg [AC_HELP_STRING([--enable-libxml2], 367ca08ab68Smrg [Use libxml2 instead of Expat])]) 368ca08ab68Smrg 369ca08ab68Smrgif test "$enable_libxml2" = "yes"; then 370ca08ab68Smrg PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6]) 371ca08ab68Smrg AC_DEFINE_UNQUOTED(ENABLE_LIBXML2,1,[Use libxml2 instead of Expat]) 372ca08ab68Smrg 373ca08ab68Smrg AC_SUBST(LIBXML2_CFLAGS) 374ca08ab68Smrg AC_SUBST(LIBXML2_LIBS) 375ca08ab68Smrg 376ca08ab68Smrg fc_saved_CFLAGS="$CFLAGS" 377ca08ab68Smrg CFLAGS="$CFLAGS $LIBXML2_CFLAGS" 378ca08ab68Smrg AC_MSG_CHECKING([SAX1 support in libxml2]) 379ca08ab68Smrg AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 380ca08ab68Smrg #include <libxml/xmlversion.h> 381ca08ab68Smrg #if !defined(LIBXML_SAX1_ENABLED) 382ca08ab68Smrg # include "error: No SAX1 support in libxml2" 383ca08ab68Smrg #endif 384ca08ab68Smrg ]])], [AC_MSG_RESULT([found])], [AC_MSG_ERROR([ 385ca08ab68Smrg*** SAX1 support in libxml2 is required. enable it or use expat instead.])]) 386ca08ab68Smrg CFLAGS="$fc_saved_CFLAGS" 387ca08ab68Smrgfi 388ca08ab68Smrg 389ca08ab68Smrg# 390ca08ab68Smrg# Set default font directory 391ca08ab68Smrg# 392ca08ab68Smrg 393ca08ab68SmrgAC_ARG_WITH(default-fonts, 394ca08ab68Smrg [AC_HELP_STRING([--with-default-fonts=DIR], 395ca08ab68Smrg [Use fonts from DIR when config is busted])], 396ca08ab68Smrg default_fonts="$withval", default_fonts=yes) 397ca08ab68Smrg 398ca08ab68Smrgcase "$default_fonts" in 399ca08ab68Smrgyes) 400ca08ab68Smrg if test "$os_win32" = "yes"; then 401ca08ab68Smrg FC_DEFAULT_FONTS="WINDOWSFONTDIR" 402ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "WINDOWSFONTDIR", 403ca08ab68Smrg [Windows font directory]) 404ca08ab68Smrg else 405ca08ab68Smrg FC_DEFAULT_FONTS="/usr/share/fonts" 406ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts", 407ca08ab68Smrg [System font directory]) 408ca08ab68Smrg fi 409ca08ab68Smrg ;; 410ca08ab68Smrg*) 411ca08ab68Smrg FC_DEFAULT_FONTS="$default_fonts" 412ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts", 413ca08ab68Smrg [System font directory]) 414ca08ab68Smrg ;; 415ca08ab68Smrgesac 416ca08ab68Smrg 417ca08ab68SmrgAC_SUBST(FC_DEFAULT_FONTS) 418ca08ab68Smrg 419ca08ab68Smrg# 420ca08ab68Smrg# Add more fonts if available. By default, add only the directories 421ca08ab68Smrg# with outline fonts; those with bitmaps can be added as desired in 422ca08ab68Smrg# local.conf or ~/.fonts.conf 423ca08ab68Smrg# 424ca08ab68SmrgAC_ARG_WITH(add-fonts, 425ca08ab68Smrg [AC_HELP_STRING([--with-add-fonts=DIR1,DIR2,...], 426ca08ab68Smrg [Find additional fonts in DIR1,DIR2,... ])], 427ca08ab68Smrg add_fonts="$withval", add_fonts=yes) 428ca08ab68Smrg 429ca08ab68Smrgcase "$add_fonts" in 430ca08ab68Smrgyes) 431ca08ab68Smrg FC_ADD_FONTS="" 432ca08ab68Smrg for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do 433ca08ab68Smrg case x"$FC_ADD_FONTS" in 434ca08ab68Smrg x) 435ca08ab68Smrg sub="$dir/fonts" 436ca08ab68Smrg if test -d "$sub"; then 437ca08ab68Smrg case x$FC_ADD_FONTS in 438ca08ab68Smrg x) 439ca08ab68Smrg FC_ADD_FONTS="$sub" 440ca08ab68Smrg ;; 441ca08ab68Smrg *) 442ca08ab68Smrg FC_ADD_FONTS="$FC_ADD_FONTS,$sub" 443ca08ab68Smrg ;; 444ca08ab68Smrg esac 445ca08ab68Smrg fi 446ca08ab68Smrg ;; 447ca08ab68Smrg esac 448ca08ab68Smrg done 449ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) 450ca08ab68Smrg ;; 451ca08ab68Smrgno) 452ca08ab68Smrg FC_ADD_FONTS="" 453ca08ab68Smrg ;; 454ca08ab68Smrg*) 455ca08ab68Smrg FC_ADD_FONTS="$add_fonts" 456ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) 457ca08ab68Smrg ;; 458ca08ab68Smrgesac 459ca08ab68Smrg 460ca08ab68SmrgAC_SUBST(FC_ADD_FONTS) 461ca08ab68Smrg 462ca08ab68SmrgFC_FONTPATH="" 463ca08ab68Smrg 464ca08ab68Smrgcase "$FC_ADD_FONTS" in 465ca08ab68Smrg"") 466ca08ab68Smrg ;; 467ca08ab68Smrg*) 468ca08ab68Smrg FC_FONTPATH=`echo $FC_ADD_FONTS | 469ca08ab68Smrg sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'` 470ca08ab68Smrg ;; 471ca08ab68Smrgesac 472ca08ab68Smrg 473ca08ab68SmrgAC_SUBST(FC_FONTPATH) 474ca08ab68Smrg 475ca08ab68Smrg# 476ca08ab68Smrg# Set default cache directory path 477ca08ab68Smrg# 478ca08ab68SmrgAC_ARG_WITH(cache-dir, 479ca08ab68Smrg [AC_HELP_STRING([--with-cache-dir=DIR], 480ca08ab68Smrg [Use DIR to store cache files [default=LOCALSTATEDIR/cache/fontconfig]])], 481ca08ab68Smrg fc_cachedir="$withval", fc_cachedir=yes) 482ca08ab68Smrg 483ca08ab68Smrgcase $fc_cachedir in 484ca08ab68Smrgno|yes) 485ca08ab68Smrg if test "$os_win32" = "yes"; then 486ca08ab68Smrg fc_cachedir="WINDOWSTEMPDIR_FONTCONFIG_CACHE" 487ca08ab68Smrg else 488ca08ab68Smrg fc_cachedir='${localstatedir}/cache/${PACKAGE}' 489ca08ab68Smrg fi 490ca08ab68Smrg ;; 491ca08ab68Smrg*) 492ca08ab68Smrg ;; 493ca08ab68Smrgesac 494ca08ab68SmrgAC_SUBST(fc_cachedir) 495ca08ab68SmrgFC_CACHEDIR=${fc_cachedir} 496ca08ab68SmrgAC_SUBST(FC_CACHEDIR) 497ca08ab68Smrg 498ca08ab68SmrgFC_FONTDATE=`LC_ALL=C date` 499ca08ab68Smrg 500ca08ab68SmrgAC_SUBST(FC_FONTDATE) 501ca08ab68Smrg 502ca08ab68Smrg# 503ca08ab68Smrg# Set configuration paths 504ca08ab68Smrg# 505ca08ab68Smrg 506ca08ab68SmrgAC_ARG_WITH(templatedir, 507ca08ab68Smrg [AC_HELP_STRING([--with-templatedir=DIR], 508ca08ab68Smrg [Use DIR to store the configuration template files [default=DATADIR/fontconfig/conf.avail]])], 509ca08ab68Smrg [templatedir="$withval"], 510ca08ab68Smrg [templatedir=yes]) 511ca08ab68SmrgAC_ARG_WITH(baseconfigdir, 512ca08ab68Smrg [AC_HELP_STRING([--with-baseconfigdir=DIR], 513ca08ab68Smrg [Use DIR to store the base configuration files [default=SYSCONFDIR/fonts]])], 514ca08ab68Smrg [baseconfigdir="$withval"], 515ca08ab68Smrg [baseconfigdir=yes]) 516ca08ab68SmrgAC_ARG_WITH(configdir, 517ca08ab68Smrg [AC_HELP_STRING([--with-configdir=DIR], 518ca08ab68Smrg [Use DIR to store active configuration files [default=BASECONFIGDIR/conf.d]])], 519ca08ab68Smrg [configdir="$withval"], 520ca08ab68Smrg [configdir=yes]) 521ca08ab68SmrgAC_ARG_WITH(xmldir, 522ca08ab68Smrg [AC_HELP_STRING([--with-xmldir=DIR], 523ca08ab68Smrg [Use DIR to store XML schema files [default=DATADIR/xml/fontconfig]])], 524ca08ab68Smrg [xmldir="$withval"], 525ca08ab68Smrg [xmldir=yes]) 526ca08ab68Smrg 527ca08ab68Smrgcase "$templatedir" in 528ca08ab68Smrgno|yes) 529ca08ab68Smrg templatedir='${datadir}'/fontconfig/conf.avail 530ca08ab68Smrg ;; 531ca08ab68Smrg*) 532ca08ab68Smrg ;; 533ca08ab68Smrgesac 534ca08ab68Smrgcase "$baseconfigdir" in 535ca08ab68Smrgno|yes) 536ca08ab68Smrg baseconfigdir='${sysconfdir}'/fonts 537ca08ab68Smrg ;; 538ca08ab68Smrg*) 539ca08ab68Smrg ;; 540ca08ab68Smrgesac 541ca08ab68Smrgcase "$configdir" in 542ca08ab68Smrgno|yes) 543ca08ab68Smrg configdir='${baseconfigdir}'/conf.d 544ca08ab68Smrg ;; 545ca08ab68Smrg*) 546ca08ab68Smrg ;; 547ca08ab68Smrgesac 548ca08ab68Smrgcase "$xmldir" in 549ca08ab68Smrgno|yes) 550ca08ab68Smrg xmldir='${datadir}'/xml/fontconfig 551ca08ab68Smrg ;; 552ca08ab68Smrg*) 553ca08ab68Smrg ;; 554ca08ab68Smrgesac 555ca08ab68Smrg 556ca08ab68SmrgTEMPLATEDIR=${templatedir} 557ca08ab68SmrgBASECONFIGDIR=${baseconfigdir} 558ca08ab68SmrgCONFIGDIR=${configdir} 559ca08ab68SmrgXMLDIR=${xmldir} 560ca08ab68SmrgAC_SUBST(templatedir) 561ca08ab68SmrgAC_SUBST(TEMPLATEDIR) 562ca08ab68SmrgAC_SUBST(baseconfigdir) 563ca08ab68SmrgAC_SUBST(BASECONFIGDIR) 564ca08ab68SmrgAC_SUBST(configdir) 565ca08ab68SmrgAC_SUBST(CONFIGDIR) 566ca08ab68SmrgAC_SUBST(xmldir) 567ca08ab68SmrgAC_SUBST(XMLDIR) 568ca08ab68Smrg 569ca08ab68Smrg# 570ca08ab68Smrg# Let people not build/install docs if they don't have docbook 571ca08ab68Smrg# 572ca08ab68Smrg 573ca08ab68SmrgAC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no) 574ca08ab68Smrg 575ca08ab68SmrgAM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes) 576ca08ab68Smrg 577ca08ab68Smrgdefault_docs="yes" 578ca08ab68Smrg# 579ca08ab68Smrg# Check if docs exist or can be created 580ca08ab68Smrg# 581ca08ab68Smrgif test x$HASDOCBOOK = xno; then 582ca08ab68Smrg if test -f $srcdir/doc/fonts-conf.5; then 583ca08ab68Smrg : 584ca08ab68Smrg else 585ca08ab68Smrg default_docs="no" 586ca08ab68Smrg fi 587ca08ab68Smrgfi 588ca08ab68Smrg 589ca08ab68SmrgAC_ARG_ENABLE(docs, 590ca08ab68Smrg [AC_HELP_STRING([--disable-docs], 591ca08ab68Smrg [Don't build and install documentation])], 592ca08ab68Smrg , 593ca08ab68Smrg enable_docs=$default_docs) 594ca08ab68Smrg 595ca08ab68SmrgAM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes) 596ca08ab68Smrg 597ca08ab68Smrgif test "x$enable_docs" = xyes; then 598ca08ab68Smrg DOCSRC="doc" 599ca08ab68Smrg tmp=funcs.$$ 600ca08ab68Smrg cat $srcdir/doc/*.fncs | awk ' 601ca08ab68Smrg /^@TITLE@/ { if (!done) { printf ("%s\n", $2); done = 1; } } 602ca08ab68Smrg /^@FUNC@/ { if (!done) { printf ("%s\n", $2); done = 1; } } 603ca08ab68Smrg /^@@/ { done = 0; }' > $tmp 604ca08ab68Smrg DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'` 605ca08ab68Smrg echo DOCMAN3 $DOCMAN3 606ca08ab68Smrg rm -f $tmp 607ca08ab68Smrgelse 608ca08ab68Smrg DOCSRC="" 609ca08ab68Smrg DOCMAN3="" 610ca08ab68Smrgfi 611ca08ab68Smrg 612ca08ab68SmrgAC_SUBST(DOCSRC) 613ca08ab68SmrgAC_SUBST(DOCMAN3) 614ca08ab68Smrg 615ca08ab68Smrg 616ca08ab68Smrgdnl Figure out what cache format suffix to use for this architecture 617ca08ab68SmrgAC_C_BIGENDIAN 618ca08ab68SmrgAC_CHECK_SIZEOF([void *]) 619ca08ab68SmrgAC_CHECK_ALIGNOF([double]) 620ca08ab68Smrg 621ca08ab68Smrgdnl include the header file for workaround of miscalculating size on autoconf 622ca08ab68Smrgdnl particularly for fat binaries 623ca08ab68SmrgAH_BOTTOM([#include "config-fixups.h"]) 624ca08ab68Smrg 625ca08ab68SmrgAC_OUTPUT([ 626ca08ab68SmrgMakefile 627ca08ab68Smrgfontconfig/Makefile 628ca08ab68Smrgfc-lang/Makefile 629ca08ab68Smrgfc-glyphname/Makefile 630ca08ab68Smrgfc-case/Makefile 631ca08ab68Smrgsrc/Makefile 632ca08ab68Smrgconf.d/Makefile 633ca08ab68Smrgfc-cache/Makefile 634ca08ab68Smrgfc-cat/Makefile 635ca08ab68Smrgfc-list/Makefile 636ca08ab68Smrgfc-match/Makefile 637ca08ab68Smrgfc-pattern/Makefile 638ca08ab68Smrgfc-query/Makefile 639ca08ab68Smrgfc-scan/Makefile 640ca08ab68Smrgdoc/Makefile 641ca08ab68Smrgdoc/version.sgml 642ca08ab68Smrgtest/Makefile 643ca08ab68Smrgfontconfig.spec 644ca08ab68Smrgfontconfig.pc 645ca08ab68Smrgfontconfig-zip 646ca08ab68Smrg]) 647