configure.ac revision a4e54154
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) 27ca08ab68Smrg 28ca08ab68Smrgdnl ========================================================================== 29ca08ab68Smrgdnl Versioning 30ca08ab68Smrgdnl ========================================================================== 31ca08ab68Smrg 32ca08ab68Smrgdnl This is the package version number, not the shared library 33ca08ab68Smrgdnl version. This same version number must appear in fontconfig/fontconfig.h 34ca08ab68Smrgdnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's 35ca08ab68Smrgdnl not possible to extract the version number here from fontconfig.h 36a4e54154SmrgAC_INIT([fontconfig], [2.14.0], [https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new]) 37a4e54154SmrgAM_INIT_AUTOMAKE([1.11 parallel-tests dist-xz]) 38ca08ab68Smrgm4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) 39ca08ab68Smrg 40ca08ab68Smrgdnl ========================================================================== 41ca08ab68Smrg 42ca08ab68SmrgAC_CONFIG_HEADERS(config.h) 43ca08ab68SmrgAC_CONFIG_MACRO_DIR([m4]) 44ca08ab68Smrg 45ca08ab68SmrgAC_PROG_CC 46c9710b42SmrgAC_USE_SYSTEM_EXTENSIONS 47c9710b42SmrgAC_SYS_LARGEFILE 48ca08ab68SmrgAC_PROG_INSTALL 49ca08ab68SmrgAC_PROG_LN_S 50ca08ab68SmrgAC_PROG_MAKE_SET 51ca08ab68SmrgPKG_PROG_PKG_CONFIG 52c9710b42Smrgm4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR], AC_SUBST([pkgconfigdir], ${libdir}/pkgconfig)) 53c9710b42Smrg 54c9710b42SmrgAM_MISSING_PROG([GIT], [git]) 55c9710b42SmrgAM_MISSING_PROG([GPERF], [gperf]) 56a4e54154SmrgAM_PATH_PYTHON([3]) 57ca08ab68Smrg 58ca08ab68SmrgAC_MSG_CHECKING([for RM macro]) 59ca08ab68Smrg_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'` 60ca08ab68Smrgif test "x$_predefined_rm" = "x"; then 61ca08ab68Smrg AC_MSG_RESULT([no predefined RM]) 62ca08ab68Smrg AC_CHECK_PROG(RM, rm, [rm -f]) 63ca08ab68Smrgelse 64ca08ab68Smrg AC_MSG_RESULT($_predefined_rm) 65ca08ab68Smrgfi 66ca08ab68Smrg 67b09479dcSmrgdnl Initialize libtool 68b09479dcSmrgLT_PREREQ([2.2]) 69b09479dcSmrgLT_INIT([disable-static win32-dll]) 70b09479dcSmrg 71b09479dcSmrgdnl libtool versioning 72b09479dcSmrg 73b09479dcSmrgdnl bump revision when fixing bugs 74b09479dcSmrgdnl bump current and age, reset revision to zero when adding APIs 75b09479dcSmrgdnl bump current, leave age, reset revision to zero when changing/removing APIS 76a32e9e42SmrgLIBT_CURRENT=13 77a32e9e42SmrgLIBT_REVISION=0 78b09479dcSmrgAC_SUBST(LIBT_CURRENT) 79b09479dcSmrgAC_SUBST(LIBT_REVISION) 80a32e9e42SmrgLIBT_AGE=12 81b09479dcSmrg 82b09479dcSmrgLIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE" 83b09479dcSmrgAC_SUBST(LIBT_VERSION_INFO) 84b09479dcSmrg 85b09479dcSmrgLIBT_CURRENT_MINUS_AGE=`expr $LIBT_CURRENT - $LIBT_AGE` 86b09479dcSmrgAC_SUBST(LIBT_CURRENT_MINUS_AGE) 87b09479dcSmrg 88b09479dcSmrgPKGCONFIG_REQUIRES= 89b09479dcSmrgPKGCONFIG_REQUIRES_PRIVATELY= 90b09479dcSmrg 91ca08ab68Smrgdnl ========================================================================== 92a4e54154SmrgAC_CANONICAL_HOST 93a4e54154Smrgos_win32=no 94a4e54154Smrgos_darwin=no 95a4e54154Smrgcase "${host_os}" in 96a4e54154Smrg cygwin*|mingw*) 97a4e54154Smrg os_win32=yes 98a4e54154Smrg ;; 99a4e54154Smrg darwin*) 100a4e54154Smrg os_darwin=yes 101a4e54154Smrg ;; 102ca08ab68Smrgesac 103ca08ab68SmrgAM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") 104a4e54154SmrgAM_CONDITIONAL(OS_DARWIN, test "$os_darwin" = "yes") 105ca08ab68Smrg 106a32e9e42Smrgdnl ========================================================================== 107a32e9e42Smrgdnl gettext stuff 108a32e9e42Smrgdnl ========================================================================== 109a32e9e42SmrgGETTEXT_PACKAGE=$PACKAGE 110a32e9e42SmrgAC_SUBST(GETTEXT_PACKAGE) 111a32e9e42SmrgAC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package]) 112a32e9e42Smrg 113a4e54154SmrgAM_GNU_GETTEXT_VERSION([0.19.7]) 114a32e9e42SmrgAM_GNU_GETTEXT([external]) 115a32e9e42Smrg 116a32e9e42Smrgdnl ========================================================================== 117a32e9e42Smrg 118ca08ab68Smrgif test "$os_win32" = "yes"; then 119ca08ab68Smrg AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) 120ca08ab68Smrgfi 121ca08ab68SmrgAM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes) 122ca08ab68Smrg 123953daebaSmrgAC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"]) 124ca08ab68SmrgWARN_CFLAGS="" 125953daebaSmrgWARNING_CPP_DIRECTIVE="no" 126ca08ab68Smrgif test "x$GCC" = "xyes"; then 127ca08ab68Smrg WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \ 128ca08ab68Smrg -Wmissing-prototypes -Wmissing-declarations \ 129ca08ab68Smrg -Wnested-externs -fno-strict-aliasing" 130953daebaSmrg WARNING_CPP_DIRECTIVE="yes" 131953daebaSmrgelif test "x$SUNCC" = "xyes"; then 132953daebaSmrg WARN_CFLAGS="-v -fd" 133953daebaSmrg WARNING_CPP_DIRECTIVE="yes" 134953daebaSmrgfi 135953daebaSmrgif test "x$WARNING_CPP_DIRECTIVE" = "xyes"; then 136ca08ab68Smrg AC_DEFINE_UNQUOTED(HAVE_WARNING_CPP_DIRECTIVE,1, 137ca08ab68Smrg [Can use #warning in C files]) 138ca08ab68Smrgfi 139ca08ab68SmrgAC_SUBST(WARN_CFLAGS) 140ca08ab68Smrg 141ca08ab68Smrg 142ca08ab68Smrgdnl ========================================================================== 143ca08ab68Smrg 144c9710b42SmrgAX_CC_FOR_BUILD() 145c9710b42SmrgAC_ARG_VAR(CC_FOR_BUILD, [build system C compiler]) 146ca08ab68SmrgAM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) 147ca08ab68SmrgAM_CONDITIONAL(ENABLE_SHARED, test "$enable_shared" = "yes") 148ca08ab68Smrg 149ca08ab68Smrgdnl ========================================================================== 150ca08ab68Smrg 151ca08ab68SmrgAC_ARG_WITH(arch, 152ca08ab68Smrg [AC_HELP_STRING([--with-arch=ARCH], 153ca08ab68Smrg [Force architecture to ARCH])], 154ca08ab68Smrg arch="$withval", arch=auto) 155ca08ab68Smrg 156ca08ab68Smrgif test "x$arch" != xauto; then 157ca08ab68Smrg AC_DEFINE_UNQUOTED([FC_ARCHITECTURE], "$arch", [Architecture prefix to use for cache file names]) 158ca08ab68Smrgfi 159ca08ab68Smrg 160ca08ab68Smrg 161ca08ab68Smrgdnl ========================================================================== 162ca08ab68Smrg 163ca08ab68Smrg# Checks for header files. 164ca08ab68SmrgAC_HEADER_DIRENT 165ca08ab68SmrgAC_HEADER_STDC 166a4e54154SmrgAC_CHECK_HEADERS([dirent.h fcntl.h stdlib.h string.h unistd.h sys/statvfs.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h]) 167c9710b42SmrgAX_CREATE_STDINT_H([src/fcstdint.h]) 168ca08ab68Smrg 169ca08ab68Smrg# Checks for typedefs, structures, and compiler characteristics. 170ca08ab68SmrgAC_C_CONST 171ca08ab68SmrgAC_C_INLINE 172ca08ab68SmrgAC_C_FLEXIBLE_ARRAY_MEMBER 173ca08ab68SmrgAC_TYPE_PID_T 174ca08ab68Smrg 175ca08ab68Smrg# Checks for library functions. 176ca08ab68SmrgAC_FUNC_VPRINTF 177ca08ab68SmrgAC_FUNC_MMAP 178a32e9e42SmrgAC_CHECK_FUNCS([link mkstemp mkostemp _mktemp_s mkdtemp getopt getopt_long getprogname getexecname rand random lrand48 random_r rand_r readlink fstatvfs fstatfs lstat strerror strerror_r]) 179ca08ab68Smrg 180ca08ab68Smrgdnl AC_CHECK_FUNCS doesn't check for header files. 181ca08ab68Smrgdnl posix_fadvise() may be not available in older libc. 182b09479dcSmrgAC_CHECK_SYMBOL([posix_fadvise], [fcntl.h], [fc_func_posix_fadvise=1], [fc_func_posix_fadvise=0]) 183953daebaSmrgAC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadvise' function.]) 184953daebaSmrg 185953daebaSmrg# 186953daebaSmrgAC_CHECK_MEMBERS([struct stat.st_mtim],,, [#include <sys/stat.h>]) 187ca08ab68Smrg 188ca08ab68Smrg# 189ca08ab68Smrgif test "x$ac_cv_func_fstatvfs" = "xyes"; then 190ca08ab68Smrg AC_CHECK_MEMBERS([struct statvfs.f_basetype, struct statvfs.f_fstypename],,, 191ca08ab68Smrg [#include <sys/statvfs.h>]) 192ca08ab68Smrgfi 193ca08ab68Smrgif test "x$ac_cv_func_fstatfs" = "xyes"; then 194ca08ab68Smrg AC_CHECK_MEMBERS([struct statfs.f_flags, struct statfs.f_fstypename],,, [ 195ca08ab68Smrg#ifdef HAVE_SYS_VFS_H 196ca08ab68Smrg#include <sys/vfs.h> 197ca08ab68Smrg#endif 198ca08ab68Smrg#ifdef HAVE_SYS_STATFS_H 199ca08ab68Smrg#include <sys/statfs.h> 200ca08ab68Smrg#endif 201ca08ab68Smrg#ifdef HAVE_SYS_PARAM_H 202ca08ab68Smrg#include <sys/param.h> 203ca08ab68Smrg#endif 204ca08ab68Smrg#ifdef HAVE_SYS_MOUNT_H 205ca08ab68Smrg#include <sys/mount.h> 206ca08ab68Smrg#endif]) 207ca08ab68Smrgfi 208ca08ab68SmrgAC_CHECK_MEMBERS([struct dirent.d_type],,, 209ca08ab68Smrg [#include <dirent.h>]) 210953daebaSmrg 211953daebaSmrg# Check the argument type of the gperf hash/lookup function 212953daebaSmrgAC_MSG_CHECKING([The type of len parameter of gperf hash/lookup function]) 213953daebaSmrgfc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)" 214953daebaSmrgAC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 215953daebaSmrg #include <string.h> 216953daebaSmrg 217953daebaSmrg const char *in_word_set(register const char *, register size_t); 218953daebaSmrg $fc_gperf_test 219953daebaSmrg ]])], [FC_GPERF_SIZE_T=size_t], 220953daebaSmrg [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 221953daebaSmrg #include <string.h> 222953daebaSmrg 223953daebaSmrg const char *in_word_set(register const char *, register unsigned int); 224953daebaSmrg $fc_gperf_test 225953daebaSmrg ]])], [FC_GPERF_SIZE_T="unsigned int"], 226953daebaSmrg [AC_MSG_ERROR([Unable to determine the type of the len parameter of the gperf hash/lookup function])] 227953daebaSmrg)]) 228953daebaSmrgAC_DEFINE_UNQUOTED(FC_GPERF_SIZE_T, $FC_GPERF_SIZE_T, [The type of len parameter of the gperf hash/lookup function]) 229953daebaSmrgAC_MSG_RESULT($FC_GPERF_SIZE_T) 230ca08ab68Smrg 231ca08ab68Smrg# 232ca08ab68Smrg# Checks for iconv 233ca08ab68Smrg# 234ca08ab68SmrgAC_ARG_ENABLE(iconv, 235ca08ab68Smrg [AC_HELP_STRING([--enable-iconv], 236ca08ab68Smrg [Use iconv to support non-Unicode SFNT name])], 237ca08ab68Smrg ,enable_iconv=no) 238ca08ab68SmrgAC_ARG_WITH(libiconv, 239ca08ab68Smrg [AC_HELP_STRING([--with-libiconv=DIR], 240ca08ab68Smrg [Use libiconv in DIR])], 241ca08ab68Smrg [if test "x$withval" = "xyes"; then 242ca08ab68Smrg libiconv_prefix=$prefix 243ca08ab68Smrg else 244ca08ab68Smrg libiconv_prefix=$withval 245ca08ab68Smrg fi], 246ca08ab68Smrg [libiconv_prefix=auto]) 247ca08ab68SmrgAC_ARG_WITH(libiconv-includes, 248ca08ab68Smrg [AC_HELP_STRING([--with-libiconv-includes=DIR], 249ca08ab68Smrg [Use libiconv includes in DIR])], 250ca08ab68Smrg [libiconv_includes=$withval], 251ca08ab68Smrg [libiconv_includes=auto]) 252ca08ab68SmrgAC_ARG_WITH(libiconv-lib, 253ca08ab68Smrg [AC_HELP_STRING([--with-libiconv-lib=DIR], 254ca08ab68Smrg [Use libiconv library in DIR])], 255ca08ab68Smrg [libiconv_lib=$withval], 256ca08ab68Smrg [libiconv_lib=auto]) 257ca08ab68Smrg 258ca08ab68Smrg# if no libiconv,libiconv-includes,libiconv-lib are specified, 259ca08ab68Smrg# libc's iconv has a priority. 260ca08ab68Smrgif test "$libiconv_includes" != "auto" -a -r ${libiconv_includes}/iconv.h; then 261ca08ab68Smrg libiconv_cflags="-I${libiconv_includes}" 262ca08ab68Smrgelif test "$libiconv_prefix" != "auto" -a -r ${libiconv_prefix}/include/iconv.h; then 263ca08ab68Smrg libiconv_cflags="-I${libiconv_prefix}/include" 264ca08ab68Smrgelse 265ca08ab68Smrg libiconv_cflags="" 266ca08ab68Smrgfi 267ca08ab68Smrglibiconv_libs="" 268ca08ab68Smrgif test "x$libiconv_cflags" != "x"; then 269ca08ab68Smrg if test "$libiconv_lib" != "auto" -a -d ${libiconv_lib}; then 270ca08ab68Smrg libiconv_libs="-L${libiconv_lib} -liconv" 271ca08ab68Smrg elif test "$libiconv_prefix" != "auto" -a -d ${libiconv_prefix}/lib; then 272ca08ab68Smrg libiconv_libs="-L${libiconv_prefix}/lib -liconv" 273ca08ab68Smrg else 274ca08ab68Smrg libiconv_libs="-liconv" 275ca08ab68Smrg fi 276ca08ab68Smrgfi 277ca08ab68Smrg 278ca08ab68Smrguse_iconv=0 279ca08ab68Smrgif test "x$enable_iconv" != "xno"; then 280ca08ab68Smrg AC_MSG_CHECKING([for a usable iconv]) 281ca08ab68Smrg if test "x$libiconv_cflags" != "x" -o "x$libiconv_libs" != "x"; then 282ca08ab68Smrg iconvsaved_CFLAGS="$CFLAGS" 283ca08ab68Smrg iconvsaved_LIBS="$LIBS" 284ca08ab68Smrg CFLAGS="$CFLAGS $libiconv_cflags" 285ca08ab68Smrg LIBS="$LIBS $libiconv_libs" 286ca08ab68Smrg 287ca08ab68Smrg AC_TRY_LINK([#include <iconv.h>], 288ca08ab68Smrg [iconv_open ("from", "to");], 289ca08ab68Smrg [iconv_type="libiconv" 2906fc018e4Smrg use_iconv=1 2916fc018e4Smrg ICONV_CFLAGS="$libiconv_cflags" 2926fc018e4Smrg ICONV_LIBS="$libiconv_libs" 2936fc018e4Smrg ], 294ca08ab68Smrg [use_iconv=0]) 295ca08ab68Smrg 296ca08ab68Smrg CFLAGS="$iconvsaved_CFLAGS" 297ca08ab68Smrg LIBS="$iconvsaved_LIBS" 298ca08ab68Smrg fi 299ca08ab68Smrg if test "x$use_iconv" = "x0"; then 300ca08ab68Smrg AC_TRY_LINK([#include <iconv.h>], 301ca08ab68Smrg [iconv_open ("from", "to");], 302ca08ab68Smrg [iconv_type="libc" 303ca08ab68Smrg use_iconv=1], 304ca08ab68Smrg [iconv_type="not found" 305ca08ab68Smrg use_iconv=0]) 306ca08ab68Smrg fi 307ca08ab68Smrg 308ca08ab68Smrg AC_MSG_RESULT([$iconv_type]) 309ca08ab68Smrg AC_SUBST(ICONV_CFLAGS) 310ca08ab68Smrg AC_SUBST(ICONV_LIBS) 311ca08ab68Smrgfi 312ca08ab68SmrgAC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.]) 313ca08ab68Smrg# 314ca08ab68Smrg# Checks for FreeType 315ca08ab68Smrg# 316a32e9e42Smrgdnl See http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT for versioning in freetype 317a32e9e42SmrgPKG_CHECK_MODULES(FREETYPE, freetype2 >= 21.0.15) 318a32e9e42SmrgPKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 21.0.15" 319ca08ab68Smrg 320ca08ab68SmrgAC_SUBST(FREETYPE_LIBS) 321ca08ab68SmrgAC_SUBST(FREETYPE_CFLAGS) 322ca08ab68Smrg 323ca08ab68Smrgfontconfig_save_libs="$LIBS" 324ca08ab68Smrgfontconfig_save_cflags="$CFLAGS" 325ca08ab68SmrgLIBS="$LIBS $FREETYPE_LIBS" 326ca08ab68SmrgCFLAGS="$CFLAGS $FREETYPE_CFLAGS" 327a32e9e42SmrgAC_CHECK_FUNCS(FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Done_MM_Var) 328953daebaSmrg 329a32e9e42SmrgAC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 330a32e9e42Smrg #include <ft2build.h> 331a32e9e42Smrg #include FT_CONFIG_OPTIONS_H 332a32e9e42Smrg #ifndef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES 333a32e9e42Smrg # error "No pcf long family names support" 334a32e9e42Smrg #endif 335a32e9e42Smrg ]])], [have_pcf_long_family_names=yes], [have_pcf_long_family_names=no]) 336a32e9e42SmrgAM_CONDITIONAL(FREETYPE_PCF_LONG_FAMILY_NAMES, test "x$have_pcf_long_family_names" = xyes) 337953daebaSmrg 338ca08ab68SmrgLIBS="$fontconfig_save_libs" 339a32e9e42SmrgCFLAGS="$fontconfig_save_cflags" 340a32e9e42Smrg 341ca08ab68Smrg# 342ca08ab68Smrg# Check expat configuration 343ca08ab68Smrg# 344ca08ab68SmrgAC_ARG_WITH(expat, 345ca08ab68Smrg [AC_HELP_STRING([--with-expat=DIR], 346ca08ab68Smrg [Use Expat in DIR])], 347ca08ab68Smrg [expat_prefix=$withval], 348ca08ab68Smrg [expat_prefix=auto]) 349ca08ab68SmrgAC_ARG_WITH(expat-includes, 350ca08ab68Smrg [AC_HELP_STRING([--with-expat-includes=DIR], 351ca08ab68Smrg [Use Expat includes in DIR])], 352ca08ab68Smrg [expat_includes=$withval], 353ca08ab68Smrg [expat_includes=auto]) 354ca08ab68SmrgAC_ARG_WITH(expat-lib, 355ca08ab68Smrg [AC_HELP_STRING([--with-expat-lib=DIR])], 356ca08ab68Smrg [expat_lib=$withval], 357ca08ab68Smrg [expat_lib=auto]) 358ca08ab68Smrg 359ca08ab68Smrgif test "$enable_libxml2" != "yes"; then 360ca08ab68Smrg use_pkgconfig_for_expat=yes 361ca08ab68Smrg if test "$expat_prefix" = "auto" -a "$expat_includes" = "auto" -a "$expat_lib" = "auto"; then 362ca08ab68Smrg PKG_CHECK_MODULES(EXPAT, expat,,use_pkgconfig_for_expat=no) 363ca08ab68Smrg else 364ca08ab68Smrg use_pkgconfig_for_expat=no 365ca08ab68Smrg fi 366ca08ab68Smrg if test "x$use_pkgconfig_for_expat" = "xno"; then 367ca08ab68Smrg if test "$expat_includes" != "auto" -a -r ${expat_includes}/expat.h; then 368ca08ab68Smrg EXPAT_CFLAGS="-I${expat_includes}" 369ca08ab68Smrg elif test "$expat_prefix" != "auto" -a -r ${expat_prefix}/include/expat.h; then 370ca08ab68Smrg EXPAT_CFLAGS="-I${expat_prefix}/include" 371ca08ab68Smrg else 372ca08ab68Smrg EXPAT_CFLAGS="" 373ca08ab68Smrg fi 374ca08ab68Smrg if test "$expat_lib" != "auto"; then 375ca08ab68Smrg EXPAT_LIBS="-L${expat_lib} -lexpat" 376ca08ab68Smrg elif test "$expat_prefix" != "auto"; then 377ca08ab68Smrg EXPAT_LIBS="-L${expat_prefix}/lib -lexpat" 378ca08ab68Smrg else 379ca08ab68Smrg EXPAT_LIBS="-lexpat" 380ca08ab68Smrg fi 381a32e9e42Smrg PKG_EXPAT_CFLAGS=$EXPAT_CFLAGS 382a32e9e42Smrg PKG_EXPAT_LIBS=$EXPAT_LIBS 3836fc018e4Smrg else 3846fc018e4Smrg PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY expat" 385a32e9e42Smrg PKG_EXPAT_CFLAGS= 386a32e9e42Smrg PKG_EXPAT_LIBS= 387ca08ab68Smrg fi 388ca08ab68Smrg 389ca08ab68Smrg expatsaved_CPPFLAGS="$CPPFLAGS" 390ca08ab68Smrg expatsaved_LIBS="$LIBS" 391ca08ab68Smrg CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS" 392ca08ab68Smrg LIBS="$LIBS $EXPAT_LIBS" 393ca08ab68Smrg 394ca08ab68Smrg AC_CHECK_HEADER(expat.h) 395ca08ab68Smrg if test "$ac_cv_header_expat_h" = "no"; then 396ca08ab68Smrg AC_CHECK_HEADER(xmlparse.h) 397ca08ab68Smrg if test "$ac_cv_header_xmlparse_h" = "yes"; then 398ca08ab68Smrg HAVE_XMLPARSE_H=1 399ca08ab68Smrg AC_SUBST(HAVE_XMLPARSE_H) 400ca08ab68Smrg AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H, 401ca08ab68Smrg [Use xmlparse.h instead of expat.h]) 402ca08ab68Smrg else 403ca08ab68Smrg AC_MSG_ERROR([ 404ca08ab68Smrg*** expat is required. or try to use --enable-libxml2]) 405ca08ab68Smrg fi 406ca08ab68Smrg fi 407ca08ab68Smrg AC_CHECK_FUNCS(XML_SetDoctypeDeclHandler) 408ca08ab68Smrg if test "$ac_cv_func_XML_SetDoctypeDeclHandler" = "no"; then 409ca08ab68Smrg AC_MSG_ERROR([ 410ca08ab68Smrg*** expat is required. or try to use --enable-libxml2]) 411ca08ab68Smrg fi 412ca08ab68Smrg CPPFLAGS="$expatsaved_CPPFLAGS" 413ca08ab68Smrg LIBS="$expatsaved_LIBS" 414ca08ab68Smrg 415ca08ab68Smrg AC_SUBST(EXPAT_CFLAGS) 416ca08ab68Smrg AC_SUBST(EXPAT_LIBS) 417a32e9e42Smrg AC_SUBST(PKG_EXPAT_CFLAGS) 418a32e9e42Smrg AC_SUBST(PKG_EXPAT_LIBS) 419ca08ab68Smrgfi 420ca08ab68Smrg 421ca08ab68Smrg# 422ca08ab68Smrg# Check libxml2 configuration 423ca08ab68Smrg# 424ca08ab68SmrgAC_ARG_ENABLE(libxml2, 425ca08ab68Smrg [AC_HELP_STRING([--enable-libxml2], 426ca08ab68Smrg [Use libxml2 instead of Expat])]) 427ca08ab68Smrg 428ca08ab68Smrgif test "$enable_libxml2" = "yes"; then 429ca08ab68Smrg PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6]) 430a32e9e42Smrg PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0 >= 2.6" 431ca08ab68Smrg AC_DEFINE_UNQUOTED(ENABLE_LIBXML2,1,[Use libxml2 instead of Expat]) 432ca08ab68Smrg 433ca08ab68Smrg AC_SUBST(LIBXML2_CFLAGS) 434ca08ab68Smrg AC_SUBST(LIBXML2_LIBS) 435ca08ab68Smrg 436ca08ab68Smrg fc_saved_CFLAGS="$CFLAGS" 437ca08ab68Smrg CFLAGS="$CFLAGS $LIBXML2_CFLAGS" 438ca08ab68Smrg AC_MSG_CHECKING([SAX1 support in libxml2]) 439ca08ab68Smrg AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 440ca08ab68Smrg #include <libxml/xmlversion.h> 441ca08ab68Smrg #if !defined(LIBXML_SAX1_ENABLED) 442ca08ab68Smrg # include "error: No SAX1 support in libxml2" 443ca08ab68Smrg #endif 444ca08ab68Smrg ]])], [AC_MSG_RESULT([found])], [AC_MSG_ERROR([ 445ca08ab68Smrg*** SAX1 support in libxml2 is required. enable it or use expat instead.])]) 446ca08ab68Smrg CFLAGS="$fc_saved_CFLAGS" 447ca08ab68Smrgfi 448ca08ab68Smrg 449a32e9e42Smrg# 450a32e9e42Smrg# Check json-c 451a32e9e42Smrg# 452a32e9e42SmrgPKG_CHECK_MODULES([JSONC], [json-c], [use_jsonc=yes], [use_jsonc=no]) 453a32e9e42Smrg 454a32e9e42SmrgAM_CONDITIONAL(ENABLE_JSONC, test "x$use_jsonc" = "xyes") 455a32e9e42SmrgAC_SUBST(JSONC_CFLAGS) 456a32e9e42SmrgAC_SUBST(JSONC_LIBS) 457a32e9e42Smrg 458953daebaSmrg# 459953daebaSmrg# Set default hinting 460953daebaSmrg# 461953daebaSmrg 462953daebaSmrgAC_ARG_WITH(default-hinting, 463953daebaSmrg [AC_HELP_STRING([--with-default-hinting=NAME], 464953daebaSmrg [Enable your preferred hinting configuration (none/slight/medium/full) [default=slight]])], 465953daebaSmrg preferred_hinting="$withval", preferred_hinting=slight) 466953daebaSmrg 467953daebaSmrgcase "$preferred_hinting" in 468953daebaSmrgnone|slight|medium|full) 469953daebaSmrg PREFERRED_HINTING="$preferred_hinting" 470953daebaSmrg AC_SUBST(PREFERRED_HINTING) 471953daebaSmrg ;; 472953daebaSmrg*) 473953daebaSmrg AC_MSG_ERROR([Invalid hinting. please choose one of none, slight, medium, or full]) 474953daebaSmrg ;; 475953daebaSmrgesac 476953daebaSmrg 477ca08ab68Smrg# 478ca08ab68Smrg# Set default font directory 479ca08ab68Smrg# 480ca08ab68Smrg 481ca08ab68SmrgAC_ARG_WITH(default-fonts, 482a4e54154Smrg [AC_HELP_STRING([--with-default-fonts=DIR1,DIR2,...], 483a4e54154Smrg [Use fonts from DIR1,DIR2,... when config is busted])], 484ca08ab68Smrg default_fonts="$withval", default_fonts=yes) 485ca08ab68Smrg 486ca08ab68Smrgcase "$default_fonts" in 487ca08ab68Smrgyes) 488ca08ab68Smrg if test "$os_win32" = "yes"; then 489a4e54154Smrg default_fonts="WINDOWSFONTDIR,WINDOWSUSERFONTDIR" 490a4e54154Smrg elif test "$os_darwin" = "yes"; then 491a4e54154Smrg default_fonts="/System/Library/Fonts,/Library/Fonts,~/Library/Fonts,/System/Library/Assets/com_apple_MobileAsset_Font3,/System/Library/Assets/com_apple_MobileAsset_Font4" 492ca08ab68Smrg else 493a4e54154Smrg default_fonts="/usr/share/fonts" 494ca08ab68Smrg fi 495ca08ab68Smrg ;; 496ca08ab68Smrgesac 497ca08ab68Smrg 498a4e54154SmrgFC_DEFAULT_FONTS="" 499a4e54154Smrgif test x${default_fonts+set} = xset; then 500a4e54154Smrg fc_IFS=$IFS 501a4e54154Smrg IFS="," 502a4e54154Smrg for p in $default_fonts; do 503a4e54154Smrg if test x"$FC_DEFAULT_FONTS" != x; then 504a4e54154Smrg FC_DEFAULT_FONTS="$FC_DEFAULT_FONTS " 505a4e54154Smrg fi 506a4e54154Smrg FC_DEFAULT_FONTS="$FC_DEFAULT_FONTS<dir>$p</dir>" 507a4e54154Smrg done 508a4e54154Smrg IFS=$fc_IFS 509a4e54154Smrgfi 510a4e54154Smrg 511a4e54154SmrgAC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$FC_DEFAULT_FONTS", 512a4e54154Smrg [System font directory]) 513a4e54154Smrg 514ca08ab68SmrgAC_SUBST(FC_DEFAULT_FONTS) 515ca08ab68Smrg 516ca08ab68Smrg# 517ca08ab68Smrg# Add more fonts if available. By default, add only the directories 518ca08ab68Smrg# with outline fonts; those with bitmaps can be added as desired in 519ca08ab68Smrg# local.conf or ~/.fonts.conf 520ca08ab68Smrg# 521ca08ab68SmrgAC_ARG_WITH(add-fonts, 522ca08ab68Smrg [AC_HELP_STRING([--with-add-fonts=DIR1,DIR2,...], 523ca08ab68Smrg [Find additional fonts in DIR1,DIR2,... ])], 524ca08ab68Smrg add_fonts="$withval", add_fonts=yes) 525ca08ab68Smrg 526ca08ab68Smrgcase "$add_fonts" in 527ca08ab68Smrgyes) 528ca08ab68Smrg FC_ADD_FONTS="" 529ca08ab68Smrg for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do 530ca08ab68Smrg case x"$FC_ADD_FONTS" in 531ca08ab68Smrg x) 532ca08ab68Smrg sub="$dir/fonts" 533ca08ab68Smrg if test -d "$sub"; then 534ca08ab68Smrg case x$FC_ADD_FONTS in 535ca08ab68Smrg x) 536ca08ab68Smrg FC_ADD_FONTS="$sub" 537ca08ab68Smrg ;; 538ca08ab68Smrg *) 539ca08ab68Smrg FC_ADD_FONTS="$FC_ADD_FONTS,$sub" 540ca08ab68Smrg ;; 541ca08ab68Smrg esac 542ca08ab68Smrg fi 543ca08ab68Smrg ;; 544ca08ab68Smrg esac 545ca08ab68Smrg done 546ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) 547ca08ab68Smrg ;; 548ca08ab68Smrgno) 549ca08ab68Smrg FC_ADD_FONTS="" 550ca08ab68Smrg ;; 551ca08ab68Smrg*) 552ca08ab68Smrg FC_ADD_FONTS="$add_fonts" 553ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) 554ca08ab68Smrg ;; 555ca08ab68Smrgesac 556ca08ab68Smrg 557ca08ab68SmrgAC_SUBST(FC_ADD_FONTS) 558ca08ab68Smrg 559ca08ab68SmrgFC_FONTPATH="" 560ca08ab68Smrg 561ca08ab68Smrgcase "$FC_ADD_FONTS" in 562ca08ab68Smrg"") 563ca08ab68Smrg ;; 564ca08ab68Smrg*) 565ca08ab68Smrg FC_FONTPATH=`echo $FC_ADD_FONTS | 566ca08ab68Smrg sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'` 567ca08ab68Smrg ;; 568ca08ab68Smrgesac 569ca08ab68Smrg 570ca08ab68SmrgAC_SUBST(FC_FONTPATH) 571ca08ab68Smrg 572ca08ab68Smrg# 573ca08ab68Smrg# Set default cache directory path 574ca08ab68Smrg# 575ca08ab68SmrgAC_ARG_WITH(cache-dir, 576ca08ab68Smrg [AC_HELP_STRING([--with-cache-dir=DIR], 577ca08ab68Smrg [Use DIR to store cache files [default=LOCALSTATEDIR/cache/fontconfig]])], 578ca08ab68Smrg fc_cachedir="$withval", fc_cachedir=yes) 579ca08ab68Smrg 580ca08ab68Smrgcase $fc_cachedir in 581ca08ab68Smrgno|yes) 582ca08ab68Smrg if test "$os_win32" = "yes"; then 583b09479dcSmrg fc_cachedir="LOCAL_APPDATA_FONTCONFIG_CACHE" 584ca08ab68Smrg else 585ca08ab68Smrg fc_cachedir='${localstatedir}/cache/${PACKAGE}' 586ca08ab68Smrg fi 587ca08ab68Smrg ;; 588ca08ab68Smrg*) 589ca08ab68Smrg ;; 590ca08ab68Smrgesac 591ca08ab68SmrgAC_SUBST(fc_cachedir) 592ca08ab68SmrgFC_CACHEDIR=${fc_cachedir} 593ca08ab68SmrgAC_SUBST(FC_CACHEDIR) 594ca08ab68Smrg 595ca08ab68SmrgFC_FONTDATE=`LC_ALL=C date` 596ca08ab68Smrg 597ca08ab68SmrgAC_SUBST(FC_FONTDATE) 598ca08ab68Smrg 599ca08ab68Smrg# 600ca08ab68Smrg# Set configuration paths 601ca08ab68Smrg# 602ca08ab68Smrg 603ca08ab68SmrgAC_ARG_WITH(templatedir, 604ca08ab68Smrg [AC_HELP_STRING([--with-templatedir=DIR], 605ca08ab68Smrg [Use DIR to store the configuration template files [default=DATADIR/fontconfig/conf.avail]])], 606ca08ab68Smrg [templatedir="$withval"], 607ca08ab68Smrg [templatedir=yes]) 608ca08ab68SmrgAC_ARG_WITH(baseconfigdir, 609ca08ab68Smrg [AC_HELP_STRING([--with-baseconfigdir=DIR], 610ca08ab68Smrg [Use DIR to store the base configuration files [default=SYSCONFDIR/fonts]])], 611ca08ab68Smrg [baseconfigdir="$withval"], 612ca08ab68Smrg [baseconfigdir=yes]) 613ca08ab68SmrgAC_ARG_WITH(configdir, 614ca08ab68Smrg [AC_HELP_STRING([--with-configdir=DIR], 615ca08ab68Smrg [Use DIR to store active configuration files [default=BASECONFIGDIR/conf.d]])], 616ca08ab68Smrg [configdir="$withval"], 617ca08ab68Smrg [configdir=yes]) 618ca08ab68SmrgAC_ARG_WITH(xmldir, 619ca08ab68Smrg [AC_HELP_STRING([--with-xmldir=DIR], 620ca08ab68Smrg [Use DIR to store XML schema files [default=DATADIR/xml/fontconfig]])], 621ca08ab68Smrg [xmldir="$withval"], 622ca08ab68Smrg [xmldir=yes]) 623ca08ab68Smrg 624ca08ab68Smrgcase "$templatedir" in 625ca08ab68Smrgno|yes) 626ca08ab68Smrg templatedir='${datadir}'/fontconfig/conf.avail 627ca08ab68Smrg ;; 628ca08ab68Smrg*) 629ca08ab68Smrg ;; 630ca08ab68Smrgesac 631ca08ab68Smrgcase "$baseconfigdir" in 632ca08ab68Smrgno|yes) 633ca08ab68Smrg baseconfigdir='${sysconfdir}'/fonts 634ca08ab68Smrg ;; 635ca08ab68Smrg*) 636ca08ab68Smrg ;; 637ca08ab68Smrgesac 638ca08ab68Smrgcase "$configdir" in 639ca08ab68Smrgno|yes) 6406fc018e4Smrg configdir='${BASECONFIGDIR}'/conf.d 641ca08ab68Smrg ;; 642ca08ab68Smrg*) 643ca08ab68Smrg ;; 644ca08ab68Smrgesac 645ca08ab68Smrgcase "$xmldir" in 646ca08ab68Smrgno|yes) 647ca08ab68Smrg xmldir='${datadir}'/xml/fontconfig 648ca08ab68Smrg ;; 649ca08ab68Smrg*) 650ca08ab68Smrg ;; 651ca08ab68Smrgesac 652ca08ab68Smrg 653ca08ab68SmrgTEMPLATEDIR=${templatedir} 654ca08ab68SmrgBASECONFIGDIR=${baseconfigdir} 655ca08ab68SmrgCONFIGDIR=${configdir} 656ca08ab68SmrgXMLDIR=${xmldir} 657ca08ab68SmrgAC_SUBST(TEMPLATEDIR) 658ca08ab68SmrgAC_SUBST(BASECONFIGDIR) 659ca08ab68SmrgAC_SUBST(CONFIGDIR) 660ca08ab68SmrgAC_SUBST(XMLDIR) 661ca08ab68Smrg 662c9710b42Smrg 663c9710b42Smrgdnl =========================================================================== 664c9710b42Smrg 665c9710b42Smrg# 666c9710b42Smrg# Thread-safety primitives 667c9710b42Smrg# 668c9710b42Smrg 669a4e54154SmrgAC_CACHE_CHECK([stdatomic.h atomic primitives], fc_cv_have_stdatomic_atomic_primitives, [ 670a4e54154Smrg fc_cv_have_stdatomic_atomic_primitives=false 671a4e54154Smrg AC_TRY_LINK([ 672a4e54154Smrg #include <stdatomic.h> 673a4e54154Smrg 674a4e54154Smrg void memory_barrier (void) { atomic_thread_fence (memory_order_acq_rel); } 675a4e54154Smrg int atomic_add (atomic_int *i) { return atomic_fetch_add_explicit (i, 1, memory_order_relaxed); } 676a4e54154Smrg int mutex_trylock (atomic_flag *m) { return atomic_flag_test_and_set_explicit (m, memory_order_acquire); } 677a4e54154Smrg void mutex_unlock (atomic_flag *m) { atomic_flag_clear_explicit (m, memory_order_release); } 678a4e54154Smrg ], [], fc_cv_have_stdatomic_atomic_primitives=true 679a4e54154Smrg ) 680a4e54154Smrg]) 681a4e54154Smrgif $fc_cv_have_stdatomic_atomic_primitives; then 682a4e54154Smrg AC_DEFINE(HAVE_STDATOMIC_PRIMITIVES, 1, [Have Intel __sync_* atomic primitives]) 683a4e54154Smrgfi 684a4e54154Smrg 685c9710b42SmrgAC_CACHE_CHECK([for Intel atomic primitives], fc_cv_have_intel_atomic_primitives, [ 686c9710b42Smrg fc_cv_have_intel_atomic_primitives=false 687c9710b42Smrg AC_TRY_LINK([ 688c9710b42Smrg void memory_barrier (void) { __sync_synchronize (); } 689c9710b42Smrg int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); } 690c9710b42Smrg int mutex_trylock (int *m) { return __sync_lock_test_and_set (m, 1); } 691c9710b42Smrg void mutex_unlock (int *m) { __sync_lock_release (m); } 692c9710b42Smrg ], [], fc_cv_have_intel_atomic_primitives=true 693c9710b42Smrg ) 694c9710b42Smrg]) 695c9710b42Smrgif $fc_cv_have_intel_atomic_primitives; then 696c9710b42Smrg AC_DEFINE(HAVE_INTEL_ATOMIC_PRIMITIVES, 1, [Have Intel __sync_* atomic primitives]) 697c9710b42Smrgfi 698c9710b42Smrg 699c9710b42SmrgAC_CACHE_CHECK([for Solaris atomic operations], fc_cv_have_solaris_atomic_ops, [ 700c9710b42Smrg fc_cv_have_solaris_atomic_ops=false 701c9710b42Smrg AC_TRY_LINK([ 702c9710b42Smrg #include <atomic.h> 703c9710b42Smrg /* This requires Solaris Studio 12.2 or newer: */ 704c9710b42Smrg #include <mbarrier.h> 705c9710b42Smrg void memory_barrier (void) { __machine_rw_barrier (); } 706c9710b42Smrg int atomic_add (volatile unsigned *i) { return atomic_add_int_nv (i, 1); } 707c9710b42Smrg void *atomic_ptr_cmpxchg (volatile void **target, void *cmp, void *newval) { return atomic_cas_ptr (target, cmp, newval); } 708c9710b42Smrg ], [], fc_cv_have_solaris_atomic_ops=true 709c9710b42Smrg ) 710c9710b42Smrg]) 711c9710b42Smrgif $fc_cv_have_solaris_atomic_ops; then 712c9710b42Smrg AC_DEFINE(HAVE_SOLARIS_ATOMIC_OPS, 1, [Have Solaris __machine_*_barrier and atomic_* operations]) 713c9710b42Smrgfi 714c9710b42Smrg 715c9710b42Smrgif test "$os_win32" = no && ! $have_pthread; then 716c9710b42Smrg AC_CHECK_HEADERS(sched.h) 717c9710b42Smrg AC_SEARCH_LIBS(sched_yield,rt,AC_DEFINE(HAVE_SCHED_YIELD, 1, [Have sched_yield])) 718c9710b42Smrgfi 719c9710b42Smrg 720c9710b42Smrghave_pthread=false 721c9710b42Smrgif test "$os_win32" = no; then 722c9710b42Smrg AX_PTHREAD([have_pthread=true]) 723c9710b42Smrgfi 724c9710b42Smrgif $have_pthread; then 725c9710b42Smrg LIBS="$PTHREAD_LIBS $LIBS" 726c9710b42Smrg CFLAGS="$CFLAGS $PTHREAD_CFLAGS" 727c9710b42Smrg CC="$PTHREAD_CC" 728c9710b42Smrg AC_DEFINE(HAVE_PTHREAD, 1, [Have POSIX threads]) 729c9710b42Smrgfi 730c9710b42SmrgAM_CONDITIONAL(HAVE_PTHREAD, $have_pthread) 731c9710b42Smrg 732c9710b42Smrg 733c9710b42Smrgdnl =========================================================================== 734c9710b42Smrg 735ca08ab68Smrg# 736ca08ab68Smrg# Let people not build/install docs if they don't have docbook 737ca08ab68Smrg# 738ca08ab68Smrg 739ca08ab68SmrgAC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no) 740ca08ab68Smrg 741ca08ab68SmrgAM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes) 742ca08ab68Smrg 743ca08ab68Smrgdefault_docs="yes" 744ca08ab68Smrg# 745ca08ab68Smrg# Check if docs exist or can be created 746ca08ab68Smrg# 747ca08ab68Smrgif test x$HASDOCBOOK = xno; then 748ca08ab68Smrg if test -f $srcdir/doc/fonts-conf.5; then 749ca08ab68Smrg : 750ca08ab68Smrg else 751ca08ab68Smrg default_docs="no" 752ca08ab68Smrg fi 753ca08ab68Smrgfi 754ca08ab68Smrg 755ca08ab68SmrgAC_ARG_ENABLE(docs, 756ca08ab68Smrg [AC_HELP_STRING([--disable-docs], 757ca08ab68Smrg [Don't build and install documentation])], 758ca08ab68Smrg , 759ca08ab68Smrg enable_docs=$default_docs) 760ca08ab68Smrg 761ca08ab68SmrgAM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes) 762ca08ab68Smrg 763ca08ab68Smrgif test "x$enable_docs" = xyes; then 764ca08ab68Smrg tmp=funcs.$$ 765ca08ab68Smrg cat $srcdir/doc/*.fncs | awk ' 766ca08ab68Smrg /^@TITLE@/ { if (!done) { printf ("%s\n", $2); done = 1; } } 767ca08ab68Smrg /^@FUNC@/ { if (!done) { printf ("%s\n", $2); done = 1; } } 768ca08ab68Smrg /^@@/ { done = 0; }' > $tmp 769ca08ab68Smrg DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'` 770ca08ab68Smrg echo DOCMAN3 $DOCMAN3 771ca08ab68Smrg rm -f $tmp 772ca08ab68Smrgelse 773ca08ab68Smrg DOCMAN3="" 774ca08ab68Smrgfi 775ca08ab68SmrgAC_SUBST(DOCMAN3) 776ca08ab68Smrg 777a4e54154Smrgdnl =========================================================================== 778a4e54154Smrgdefault_cache_build="yes" 779a4e54154Smrgif test $cross_compiling = "yes"; then 780a4e54154Smrg default_cache_build="no" 781a4e54154Smrgfi 782a4e54154SmrgAC_ARG_ENABLE(cache-build, 783a4e54154Smrg [AC_HELP_STRING([--disable-cache-build], 784a4e54154Smrg [Don't run fc-cache during the build])], 785a4e54154Smrg , 786a4e54154Smrg enable_cache_build=$default_cache_build) 787a4e54154Smrg 788a4e54154SmrgAM_CONDITIONAL(ENABLE_CACHE_BUILD, test "x$enable_cache_build" = xyes) 789a4e54154Smrg 790ca08ab68Smrg 791ca08ab68Smrgdnl Figure out what cache format suffix to use for this architecture 792ca08ab68SmrgAC_C_BIGENDIAN 793ca08ab68SmrgAC_CHECK_SIZEOF([void *]) 794ca08ab68SmrgAC_CHECK_ALIGNOF([double]) 795953daebaSmrgAC_CHECK_ALIGNOF([void *]) 796ca08ab68Smrg 797ca08ab68Smrgdnl include the header file for workaround of miscalculating size on autoconf 798ca08ab68Smrgdnl particularly for fat binaries 799ca08ab68SmrgAH_BOTTOM([#include "config-fixups.h"]) 800ca08ab68Smrg 8016fc018e4Smrgdnl 8026fc018e4Smrgdnl 8036fc018e4SmrgAC_SUBST(PKGCONFIG_REQUIRES) 8046fc018e4SmrgAC_SUBST(PKGCONFIG_REQUIRES_PRIVATELY) 8056fc018e4Smrg 8066fc018e4Smrgdnl 807c9710b42SmrgAC_CONFIG_FILES([ 808ca08ab68SmrgMakefile 809ca08ab68Smrgfontconfig/Makefile 810ca08ab68Smrgfc-lang/Makefile 811ca08ab68Smrgfc-case/Makefile 812ca08ab68Smrgsrc/Makefile 813ca08ab68Smrgconf.d/Makefile 814ca08ab68Smrgfc-cache/Makefile 815ca08ab68Smrgfc-cat/Makefile 816a32e9e42Smrgfc-conflist/Makefile 817ca08ab68Smrgfc-list/Makefile 818ca08ab68Smrgfc-match/Makefile 819ca08ab68Smrgfc-pattern/Makefile 820ca08ab68Smrgfc-query/Makefile 821ca08ab68Smrgfc-scan/Makefile 822c9710b42Smrgfc-validate/Makefile 823ca08ab68Smrgdoc/Makefile 824ca08ab68Smrgdoc/version.sgml 825a32e9e42Smrgits/Makefile 826a32e9e42Smrgpo/Makefile.in 827a32e9e42Smrgpo-conf/Makefile.in 828ca08ab68Smrgtest/Makefile 829ca08ab68Smrgfontconfig.pc 830ca08ab68Smrgfontconfig-zip 831ca08ab68Smrg]) 832c9710b42SmrgAC_OUTPUT 833