11cc69409Smrgdnl 2ca08ab68Smrgdnl fontconfig/configure.in 31cc69409Smrgdnl 4ca08ab68Smrgdnl Copyright © 2003 Keith Packard 51cc69409Smrgdnl 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. 151cc69409Smrgdnl 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 26ae02b298SmrgAC_PREREQ([2.71]) 27ca08ab68Smrg 28ca08ab68Smrgdnl ========================================================================== 291cc69409Smrgdnl 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 36ae02b298SmrgAC_INIT([fontconfig],[2.15.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 77ae02b298SmrgLIBT_REVISION=1 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, 152ae02b298Smrg [AS_HELP_STRING([--with-arch=ARCH],[Force architecture to ARCH])], 153ca08ab68Smrg arch="$withval", arch=auto) 154ca08ab68Smrg 155ca08ab68Smrgif test "x$arch" != xauto; then 156ca08ab68Smrg AC_DEFINE_UNQUOTED([FC_ARCHITECTURE], "$arch", [Architecture prefix to use for cache file names]) 157ca08ab68Smrgfi 158ca08ab68Smrg 159ca08ab68Smrg 160ca08ab68Smrgdnl ========================================================================== 161ca08ab68Smrg 162ca08ab68Smrg# Checks for header files. 163ca08ab68SmrgAC_HEADER_DIRENT 164ae02b298Smrg# Autoupdate added the next two lines to ensure that your configure 165ae02b298Smrg# script's behavior did not change. They are probably safe to remove. 166ae02b298SmrgAC_CHECK_INCLUDES_DEFAULT 167ae02b298SmrgAC_PROG_EGREP 168ae02b298Smrg 169a4e54154SmrgAC_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]) 170c9710b42SmrgAX_CREATE_STDINT_H([src/fcstdint.h]) 171ca08ab68Smrg 172ca08ab68Smrg# Checks for typedefs, structures, and compiler characteristics. 173ca08ab68SmrgAC_C_CONST 174ca08ab68SmrgAC_C_INLINE 175ca08ab68SmrgAC_C_FLEXIBLE_ARRAY_MEMBER 176ca08ab68SmrgAC_TYPE_PID_T 177ca08ab68Smrg 178ca08ab68Smrg# Checks for library functions. 179ca08ab68SmrgAC_FUNC_VPRINTF 180ca08ab68SmrgAC_FUNC_MMAP 181a32e9e42SmrgAC_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]) 182ca08ab68Smrg 183ca08ab68Smrgdnl AC_CHECK_FUNCS doesn't check for header files. 184ca08ab68Smrgdnl posix_fadvise() may be not available in older libc. 185b09479dcSmrgAC_CHECK_SYMBOL([posix_fadvise], [fcntl.h], [fc_func_posix_fadvise=1], [fc_func_posix_fadvise=0]) 186953daebaSmrgAC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadvise' function.]) 187953daebaSmrg 188953daebaSmrg# 189953daebaSmrgAC_CHECK_MEMBERS([struct stat.st_mtim],,, [#include <sys/stat.h>]) 190ca08ab68Smrg 191ca08ab68Smrg# 192ca08ab68Smrgif test "x$ac_cv_func_fstatvfs" = "xyes"; then 193ca08ab68Smrg AC_CHECK_MEMBERS([struct statvfs.f_basetype, struct statvfs.f_fstypename],,, 194ca08ab68Smrg [#include <sys/statvfs.h>]) 195ca08ab68Smrgfi 196ca08ab68Smrgif test "x$ac_cv_func_fstatfs" = "xyes"; then 197ca08ab68Smrg AC_CHECK_MEMBERS([struct statfs.f_flags, struct statfs.f_fstypename],,, [ 198ca08ab68Smrg#ifdef HAVE_SYS_VFS_H 199ca08ab68Smrg#include <sys/vfs.h> 200ca08ab68Smrg#endif 201ca08ab68Smrg#ifdef HAVE_SYS_STATFS_H 202ca08ab68Smrg#include <sys/statfs.h> 203ca08ab68Smrg#endif 204ca08ab68Smrg#ifdef HAVE_SYS_PARAM_H 205ca08ab68Smrg#include <sys/param.h> 206ca08ab68Smrg#endif 207ca08ab68Smrg#ifdef HAVE_SYS_MOUNT_H 208ca08ab68Smrg#include <sys/mount.h> 209ca08ab68Smrg#endif]) 210ca08ab68Smrgfi 211ca08ab68SmrgAC_CHECK_MEMBERS([struct dirent.d_type],,, 212ca08ab68Smrg [#include <dirent.h>]) 213953daebaSmrg 214953daebaSmrg# Check the argument type of the gperf hash/lookup function 215953daebaSmrgAC_MSG_CHECKING([The type of len parameter of gperf hash/lookup function]) 216953daebaSmrgfc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)" 217953daebaSmrgAC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 218953daebaSmrg #include <string.h> 219953daebaSmrg 220953daebaSmrg const char *in_word_set(register const char *, register size_t); 221953daebaSmrg $fc_gperf_test 222953daebaSmrg ]])], [FC_GPERF_SIZE_T=size_t], 223953daebaSmrg [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ 224953daebaSmrg #include <string.h> 225953daebaSmrg 226953daebaSmrg const char *in_word_set(register const char *, register unsigned int); 227953daebaSmrg $fc_gperf_test 228953daebaSmrg ]])], [FC_GPERF_SIZE_T="unsigned int"], 229953daebaSmrg [AC_MSG_ERROR([Unable to determine the type of the len parameter of the gperf hash/lookup function])] 230953daebaSmrg)]) 231953daebaSmrgAC_DEFINE_UNQUOTED(FC_GPERF_SIZE_T, $FC_GPERF_SIZE_T, [The type of len parameter of the gperf hash/lookup function]) 232953daebaSmrgAC_MSG_RESULT($FC_GPERF_SIZE_T) 233ca08ab68Smrg 234ca08ab68Smrg# 235ca08ab68Smrg# Checks for iconv 236ca08ab68Smrg# 237ca08ab68SmrgAC_ARG_ENABLE(iconv, 238ae02b298Smrg [AS_HELP_STRING([--enable-iconv],[Use iconv to support non-Unicode SFNT name])], 239ca08ab68Smrg ,enable_iconv=no) 240ca08ab68SmrgAC_ARG_WITH(libiconv, 241ae02b298Smrg [AS_HELP_STRING([--with-libiconv=DIR],[Use libiconv in DIR])], 242ca08ab68Smrg [if test "x$withval" = "xyes"; then 243ca08ab68Smrg libiconv_prefix=$prefix 244ca08ab68Smrg else 245ca08ab68Smrg libiconv_prefix=$withval 246ca08ab68Smrg fi], 247ca08ab68Smrg [libiconv_prefix=auto]) 248ca08ab68SmrgAC_ARG_WITH(libiconv-includes, 249ae02b298Smrg [AS_HELP_STRING([--with-libiconv-includes=DIR],[Use libiconv includes in DIR])], 250ca08ab68Smrg [libiconv_includes=$withval], 251ca08ab68Smrg [libiconv_includes=auto]) 252ca08ab68SmrgAC_ARG_WITH(libiconv-lib, 253ae02b298Smrg [AS_HELP_STRING([--with-libiconv-lib=DIR],[Use libiconv library in DIR])], 254ca08ab68Smrg [libiconv_lib=$withval], 255ca08ab68Smrg [libiconv_lib=auto]) 256ca08ab68Smrg 257ca08ab68Smrg# if no libiconv,libiconv-includes,libiconv-lib are specified, 258ca08ab68Smrg# libc's iconv has a priority. 259ca08ab68Smrgif test "$libiconv_includes" != "auto" -a -r ${libiconv_includes}/iconv.h; then 260ca08ab68Smrg libiconv_cflags="-I${libiconv_includes}" 261ca08ab68Smrgelif test "$libiconv_prefix" != "auto" -a -r ${libiconv_prefix}/include/iconv.h; then 262ca08ab68Smrg libiconv_cflags="-I${libiconv_prefix}/include" 263ca08ab68Smrgelse 264ca08ab68Smrg libiconv_cflags="" 265ca08ab68Smrgfi 266ca08ab68Smrglibiconv_libs="" 267ca08ab68Smrgif test "x$libiconv_cflags" != "x"; then 268ca08ab68Smrg if test "$libiconv_lib" != "auto" -a -d ${libiconv_lib}; then 269ca08ab68Smrg libiconv_libs="-L${libiconv_lib} -liconv" 270ca08ab68Smrg elif test "$libiconv_prefix" != "auto" -a -d ${libiconv_prefix}/lib; then 271ca08ab68Smrg libiconv_libs="-L${libiconv_prefix}/lib -liconv" 272ca08ab68Smrg else 273ca08ab68Smrg libiconv_libs="-liconv" 274ca08ab68Smrg fi 275ca08ab68Smrgfi 276ca08ab68Smrg 277ca08ab68Smrguse_iconv=0 278ca08ab68Smrgif test "x$enable_iconv" != "xno"; then 279ca08ab68Smrg AC_MSG_CHECKING([for a usable iconv]) 280ca08ab68Smrg if test "x$libiconv_cflags" != "x" -o "x$libiconv_libs" != "x"; then 281ca08ab68Smrg iconvsaved_CFLAGS="$CFLAGS" 282ca08ab68Smrg iconvsaved_LIBS="$LIBS" 283ca08ab68Smrg CFLAGS="$CFLAGS $libiconv_cflags" 284ca08ab68Smrg LIBS="$LIBS $libiconv_libs" 285ca08ab68Smrg 286ae02b298Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]], [[iconv_open ("from", "to");]])],[iconv_type="libiconv" 2876fc018e4Smrg use_iconv=1 2886fc018e4Smrg ICONV_CFLAGS="$libiconv_cflags" 2896fc018e4Smrg ICONV_LIBS="$libiconv_libs" 290ae02b298Smrg ],[use_iconv=0]) 291ca08ab68Smrg 292ca08ab68Smrg CFLAGS="$iconvsaved_CFLAGS" 293ca08ab68Smrg LIBS="$iconvsaved_LIBS" 294ca08ab68Smrg fi 295ca08ab68Smrg if test "x$use_iconv" = "x0"; then 296ae02b298Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <iconv.h>]], [[iconv_open ("from", "to");]])],[iconv_type="libc" 297ae02b298Smrg use_iconv=1],[iconv_type="not found" 298ca08ab68Smrg use_iconv=0]) 299ca08ab68Smrg fi 300ca08ab68Smrg 301ca08ab68Smrg AC_MSG_RESULT([$iconv_type]) 302ca08ab68Smrg AC_SUBST(ICONV_CFLAGS) 303ca08ab68Smrg AC_SUBST(ICONV_LIBS) 304ca08ab68Smrgfi 305ca08ab68SmrgAC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.]) 306ca08ab68Smrg# 307ca08ab68Smrg# Checks for FreeType 308ca08ab68Smrg# 309a32e9e42Smrgdnl See http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT for versioning in freetype 310a32e9e42SmrgPKG_CHECK_MODULES(FREETYPE, freetype2 >= 21.0.15) 311a32e9e42SmrgPKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 21.0.15" 312ca08ab68Smrg 313ca08ab68SmrgAC_SUBST(FREETYPE_LIBS) 314ca08ab68SmrgAC_SUBST(FREETYPE_CFLAGS) 315ca08ab68Smrg 316ca08ab68Smrgfontconfig_save_libs="$LIBS" 317ca08ab68Smrgfontconfig_save_cflags="$CFLAGS" 318ca08ab68SmrgLIBS="$LIBS $FREETYPE_LIBS" 319ca08ab68SmrgCFLAGS="$CFLAGS $FREETYPE_CFLAGS" 320a32e9e42SmrgAC_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) 321953daebaSmrg 322a32e9e42SmrgAC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 323a32e9e42Smrg #include <ft2build.h> 324a32e9e42Smrg #include FT_CONFIG_OPTIONS_H 325a32e9e42Smrg #ifndef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES 326a32e9e42Smrg # error "No pcf long family names support" 327a32e9e42Smrg #endif 328a32e9e42Smrg ]])], [have_pcf_long_family_names=yes], [have_pcf_long_family_names=no]) 329a32e9e42SmrgAM_CONDITIONAL(FREETYPE_PCF_LONG_FAMILY_NAMES, test "x$have_pcf_long_family_names" = xyes) 330953daebaSmrg 331ca08ab68SmrgLIBS="$fontconfig_save_libs" 332a32e9e42SmrgCFLAGS="$fontconfig_save_cflags" 333a32e9e42Smrg 334ca08ab68Smrg# 335ca08ab68Smrg# Check expat configuration 336ca08ab68Smrg# 337ca08ab68SmrgAC_ARG_WITH(expat, 338ae02b298Smrg [AS_HELP_STRING([--with-expat=DIR],[Use Expat in DIR])], 339ca08ab68Smrg [expat_prefix=$withval], 340ca08ab68Smrg [expat_prefix=auto]) 341ca08ab68SmrgAC_ARG_WITH(expat-includes, 342ae02b298Smrg [AS_HELP_STRING([--with-expat-includes=DIR],[Use Expat includes in DIR])], 343ca08ab68Smrg [expat_includes=$withval], 344ca08ab68Smrg [expat_includes=auto]) 345ca08ab68SmrgAC_ARG_WITH(expat-lib, 346ae02b298Smrg [AS_HELP_STRING([--with-expat-lib=DIR])], 347ca08ab68Smrg [expat_lib=$withval], 348ca08ab68Smrg [expat_lib=auto]) 349ca08ab68Smrg 350ca08ab68Smrgif test "$enable_libxml2" != "yes"; then 351ca08ab68Smrg use_pkgconfig_for_expat=yes 352ca08ab68Smrg if test "$expat_prefix" = "auto" -a "$expat_includes" = "auto" -a "$expat_lib" = "auto"; then 353ca08ab68Smrg PKG_CHECK_MODULES(EXPAT, expat,,use_pkgconfig_for_expat=no) 354ca08ab68Smrg else 355ca08ab68Smrg use_pkgconfig_for_expat=no 356ca08ab68Smrg fi 357ca08ab68Smrg if test "x$use_pkgconfig_for_expat" = "xno"; then 358ca08ab68Smrg if test "$expat_includes" != "auto" -a -r ${expat_includes}/expat.h; then 359ca08ab68Smrg EXPAT_CFLAGS="-I${expat_includes}" 360ca08ab68Smrg elif test "$expat_prefix" != "auto" -a -r ${expat_prefix}/include/expat.h; then 361ca08ab68Smrg EXPAT_CFLAGS="-I${expat_prefix}/include" 362ca08ab68Smrg else 363ca08ab68Smrg EXPAT_CFLAGS="" 364ca08ab68Smrg fi 365ca08ab68Smrg if test "$expat_lib" != "auto"; then 366ca08ab68Smrg EXPAT_LIBS="-L${expat_lib} -lexpat" 367ca08ab68Smrg elif test "$expat_prefix" != "auto"; then 368ca08ab68Smrg EXPAT_LIBS="-L${expat_prefix}/lib -lexpat" 369ca08ab68Smrg else 370ca08ab68Smrg EXPAT_LIBS="-lexpat" 371ca08ab68Smrg fi 372a32e9e42Smrg PKG_EXPAT_CFLAGS=$EXPAT_CFLAGS 373a32e9e42Smrg PKG_EXPAT_LIBS=$EXPAT_LIBS 3746fc018e4Smrg else 3756fc018e4Smrg PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY expat" 376a32e9e42Smrg PKG_EXPAT_CFLAGS= 377a32e9e42Smrg PKG_EXPAT_LIBS= 378ca08ab68Smrg fi 379ca08ab68Smrg 380ca08ab68Smrg expatsaved_CPPFLAGS="$CPPFLAGS" 381ca08ab68Smrg expatsaved_LIBS="$LIBS" 382ca08ab68Smrg CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS" 383ca08ab68Smrg LIBS="$LIBS $EXPAT_LIBS" 384ca08ab68Smrg 385ca08ab68Smrg AC_CHECK_HEADER(expat.h) 386ca08ab68Smrg if test "$ac_cv_header_expat_h" = "no"; then 387ca08ab68Smrg AC_CHECK_HEADER(xmlparse.h) 388ca08ab68Smrg if test "$ac_cv_header_xmlparse_h" = "yes"; then 389ca08ab68Smrg HAVE_XMLPARSE_H=1 390ca08ab68Smrg AC_SUBST(HAVE_XMLPARSE_H) 391ca08ab68Smrg AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H, 392ca08ab68Smrg [Use xmlparse.h instead of expat.h]) 393ca08ab68Smrg else 394ca08ab68Smrg AC_MSG_ERROR([ 395ca08ab68Smrg*** expat is required. or try to use --enable-libxml2]) 396ca08ab68Smrg fi 397ca08ab68Smrg fi 398ca08ab68Smrg AC_CHECK_FUNCS(XML_SetDoctypeDeclHandler) 399ca08ab68Smrg if test "$ac_cv_func_XML_SetDoctypeDeclHandler" = "no"; then 400ca08ab68Smrg AC_MSG_ERROR([ 401ca08ab68Smrg*** expat is required. or try to use --enable-libxml2]) 402ca08ab68Smrg fi 403ca08ab68Smrg CPPFLAGS="$expatsaved_CPPFLAGS" 404ca08ab68Smrg LIBS="$expatsaved_LIBS" 405ca08ab68Smrg 406ca08ab68Smrg AC_SUBST(EXPAT_CFLAGS) 407ca08ab68Smrg AC_SUBST(EXPAT_LIBS) 408a32e9e42Smrg AC_SUBST(PKG_EXPAT_CFLAGS) 409a32e9e42Smrg AC_SUBST(PKG_EXPAT_LIBS) 410ca08ab68Smrgfi 411ca08ab68Smrg 412ca08ab68Smrg# 413ca08ab68Smrg# Check libxml2 configuration 414ca08ab68Smrg# 415ca08ab68SmrgAC_ARG_ENABLE(libxml2, 416ae02b298Smrg [AS_HELP_STRING([--enable-libxml2],[Use libxml2 instead of Expat])]) 417ca08ab68Smrg 418ca08ab68Smrgif test "$enable_libxml2" = "yes"; then 419ca08ab68Smrg PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6]) 420a32e9e42Smrg PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0 >= 2.6" 421ca08ab68Smrg AC_DEFINE_UNQUOTED(ENABLE_LIBXML2,1,[Use libxml2 instead of Expat]) 422ca08ab68Smrg 423ca08ab68Smrg AC_SUBST(LIBXML2_CFLAGS) 424ca08ab68Smrg AC_SUBST(LIBXML2_LIBS) 425ca08ab68Smrg 426ca08ab68Smrg fc_saved_CFLAGS="$CFLAGS" 427ca08ab68Smrg CFLAGS="$CFLAGS $LIBXML2_CFLAGS" 428ca08ab68Smrg AC_MSG_CHECKING([SAX1 support in libxml2]) 429ca08ab68Smrg AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ 430ca08ab68Smrg #include <libxml/xmlversion.h> 431ca08ab68Smrg #if !defined(LIBXML_SAX1_ENABLED) 432ca08ab68Smrg # include "error: No SAX1 support in libxml2" 433ca08ab68Smrg #endif 434ca08ab68Smrg ]])], [AC_MSG_RESULT([found])], [AC_MSG_ERROR([ 435ca08ab68Smrg*** SAX1 support in libxml2 is required. enable it or use expat instead.])]) 436ca08ab68Smrg CFLAGS="$fc_saved_CFLAGS" 437ca08ab68Smrgfi 438ca08ab68Smrg 439a32e9e42Smrg# 440a32e9e42Smrg# Check json-c 441a32e9e42Smrg# 442a32e9e42SmrgPKG_CHECK_MODULES([JSONC], [json-c], [use_jsonc=yes], [use_jsonc=no]) 443a32e9e42Smrg 444a32e9e42SmrgAM_CONDITIONAL(ENABLE_JSONC, test "x$use_jsonc" = "xyes") 445a32e9e42SmrgAC_SUBST(JSONC_CFLAGS) 446a32e9e42SmrgAC_SUBST(JSONC_LIBS) 447a32e9e42Smrg 4481cc69409Smrg# 4491cc69409Smrg# Set default sub-pixel rendering 4501cc69409Smrg# 4511cc69409Smrg 4521cc69409SmrgAC_ARG_WITH(default-sub-pixel-rendering, 453ae02b298Smrg [AS_HELP_STRING([--with-default-sub-pixel-rendering=NAME],[Enable your preferred sub-pixel rendering configuration (none/bgr/rgb/vbgr/vrgb) [default=none]])], 4541cc69409Smrg preferred_sub_pixel_rendering="$withval", preferred_sub_pixel_rendering=none) 4551cc69409Smrg 4561cc69409Smrgcase "$preferred_sub_pixel_rendering" in 4571cc69409Smrgnone|bgr|rgb|vbgr|vrgb) 4581cc69409Smrg PREFERRED_SUB_PIXEL_RENDERING="$preferred_sub_pixel_rendering" 4591cc69409Smrg AC_SUBST(PREFERRED_SUB_PIXEL_RENDERING) 4601cc69409Smrg ;; 4611cc69409Smrg*) 4621cc69409Smrg AC_MSG_ERROR([Invalid sub-pixel rendering. please choose one of none, bgr, rgb, vbgr, or vrgb]) 4631cc69409Smrg ;; 4641cc69409Smrgesac 4651cc69409Smrg 466953daebaSmrg# 467953daebaSmrg# Set default hinting 468953daebaSmrg# 469953daebaSmrg 470953daebaSmrgAC_ARG_WITH(default-hinting, 471ae02b298Smrg [AS_HELP_STRING([--with-default-hinting=NAME],[Enable your preferred hinting configuration (none/slight/medium/full) [default=slight]])], 472953daebaSmrg preferred_hinting="$withval", preferred_hinting=slight) 473953daebaSmrg 474953daebaSmrgcase "$preferred_hinting" in 475953daebaSmrgnone|slight|medium|full) 476953daebaSmrg PREFERRED_HINTING="$preferred_hinting" 477953daebaSmrg AC_SUBST(PREFERRED_HINTING) 478953daebaSmrg ;; 479953daebaSmrg*) 480953daebaSmrg AC_MSG_ERROR([Invalid hinting. please choose one of none, slight, medium, or full]) 481953daebaSmrg ;; 482953daebaSmrgesac 483953daebaSmrg 484ca08ab68Smrg# 485ca08ab68Smrg# Set default font directory 486ca08ab68Smrg# 487ca08ab68Smrg 488ca08ab68SmrgAC_ARG_WITH(default-fonts, 489ae02b298Smrg [AS_HELP_STRING([--with-default-fonts=DIR1,DIR2,...],[Use fonts from DIR1,DIR2,... when config is busted])], 490ca08ab68Smrg default_fonts="$withval", default_fonts=yes) 491ca08ab68Smrg 492ca08ab68Smrgcase "$default_fonts" in 493ca08ab68Smrgyes) 494ca08ab68Smrg if test "$os_win32" = "yes"; then 495a4e54154Smrg default_fonts="WINDOWSFONTDIR,WINDOWSUSERFONTDIR" 496a4e54154Smrg elif test "$os_darwin" = "yes"; then 497a4e54154Smrg default_fonts="/System/Library/Fonts,/Library/Fonts,~/Library/Fonts,/System/Library/Assets/com_apple_MobileAsset_Font3,/System/Library/Assets/com_apple_MobileAsset_Font4" 498ca08ab68Smrg else 499a4e54154Smrg default_fonts="/usr/share/fonts" 500ca08ab68Smrg fi 501ca08ab68Smrg ;; 502ca08ab68Smrgesac 503ca08ab68Smrg 504a4e54154SmrgFC_DEFAULT_FONTS="" 505a4e54154Smrgif test x${default_fonts+set} = xset; then 506a4e54154Smrg fc_IFS=$IFS 507a4e54154Smrg IFS="," 508a4e54154Smrg for p in $default_fonts; do 509a4e54154Smrg if test x"$FC_DEFAULT_FONTS" != x; then 510a4e54154Smrg FC_DEFAULT_FONTS="$FC_DEFAULT_FONTS " 511a4e54154Smrg fi 512a4e54154Smrg FC_DEFAULT_FONTS="$FC_DEFAULT_FONTS<dir>$p</dir>" 513a4e54154Smrg done 514a4e54154Smrg IFS=$fc_IFS 515a4e54154Smrgfi 516a4e54154Smrg 517a4e54154SmrgAC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$FC_DEFAULT_FONTS", 518a4e54154Smrg [System font directory]) 519a4e54154Smrg 520ca08ab68SmrgAC_SUBST(FC_DEFAULT_FONTS) 521ca08ab68Smrg 522ca08ab68Smrg# 523ca08ab68Smrg# Add more fonts if available. By default, add only the directories 524ca08ab68Smrg# with outline fonts; those with bitmaps can be added as desired in 525ca08ab68Smrg# local.conf or ~/.fonts.conf 526ca08ab68Smrg# 527ca08ab68SmrgAC_ARG_WITH(add-fonts, 528ae02b298Smrg [AS_HELP_STRING([--with-add-fonts=DIR1,DIR2,...],[Find additional fonts in DIR1,DIR2,... ])], 529ca08ab68Smrg add_fonts="$withval", add_fonts=yes) 530ca08ab68Smrg 531ca08ab68Smrgcase "$add_fonts" in 532ca08ab68Smrgyes) 533ca08ab68Smrg FC_ADD_FONTS="" 534ca08ab68Smrg for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do 535ca08ab68Smrg case x"$FC_ADD_FONTS" in 536ca08ab68Smrg x) 537ca08ab68Smrg sub="$dir/fonts" 538ca08ab68Smrg if test -d "$sub"; then 539ca08ab68Smrg case x$FC_ADD_FONTS in 540ca08ab68Smrg x) 541ca08ab68Smrg FC_ADD_FONTS="$sub" 542ca08ab68Smrg ;; 543ca08ab68Smrg *) 544ca08ab68Smrg FC_ADD_FONTS="$FC_ADD_FONTS,$sub" 545ca08ab68Smrg ;; 546ca08ab68Smrg esac 547ca08ab68Smrg fi 548ca08ab68Smrg ;; 549ca08ab68Smrg esac 550ca08ab68Smrg done 551ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) 552ca08ab68Smrg ;; 553ca08ab68Smrgno) 554ca08ab68Smrg FC_ADD_FONTS="" 555ca08ab68Smrg ;; 556ca08ab68Smrg*) 557ca08ab68Smrg FC_ADD_FONTS="$add_fonts" 558ca08ab68Smrg AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) 559ca08ab68Smrg ;; 560ca08ab68Smrgesac 561ca08ab68Smrg 562ca08ab68SmrgAC_SUBST(FC_ADD_FONTS) 563ca08ab68Smrg 564ca08ab68SmrgFC_FONTPATH="" 565ca08ab68Smrg 566ca08ab68Smrgcase "$FC_ADD_FONTS" in 567ca08ab68Smrg"") 568ca08ab68Smrg ;; 569ca08ab68Smrg*) 5701cc69409Smrg FC_FONTPATH=`echo $FC_ADD_FONTS | 571ca08ab68Smrg sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'` 572ca08ab68Smrg ;; 573ca08ab68Smrgesac 574ca08ab68Smrg 575ca08ab68SmrgAC_SUBST(FC_FONTPATH) 576ca08ab68Smrg 577ca08ab68Smrg# 578ca08ab68Smrg# Set default cache directory path 579ca08ab68Smrg# 580ca08ab68SmrgAC_ARG_WITH(cache-dir, 581ae02b298Smrg [AS_HELP_STRING([--with-cache-dir=DIR],[Use DIR to store cache files [default=LOCALSTATEDIR/cache/fontconfig]])], 582ca08ab68Smrg fc_cachedir="$withval", fc_cachedir=yes) 583ca08ab68Smrg 584ca08ab68Smrgcase $fc_cachedir in 585ca08ab68Smrgno|yes) 586ca08ab68Smrg if test "$os_win32" = "yes"; then 587b09479dcSmrg fc_cachedir="LOCAL_APPDATA_FONTCONFIG_CACHE" 588ca08ab68Smrg else 589ca08ab68Smrg fc_cachedir='${localstatedir}/cache/${PACKAGE}' 590ca08ab68Smrg fi 591ca08ab68Smrg ;; 592ca08ab68Smrg*) 593ca08ab68Smrg ;; 594ca08ab68Smrgesac 595ca08ab68SmrgAC_SUBST(fc_cachedir) 596ca08ab68SmrgFC_CACHEDIR=${fc_cachedir} 597ca08ab68SmrgAC_SUBST(FC_CACHEDIR) 598ca08ab68Smrg 599ca08ab68SmrgFC_FONTDATE=`LC_ALL=C date` 600ca08ab68Smrg 601ca08ab68SmrgAC_SUBST(FC_FONTDATE) 602ca08ab68Smrg 603ca08ab68Smrg# 604ca08ab68Smrg# Set configuration paths 605ca08ab68Smrg# 606ca08ab68Smrg 607ca08ab68SmrgAC_ARG_WITH(templatedir, 608ae02b298Smrg [AS_HELP_STRING([--with-templatedir=DIR],[Use DIR to store the configuration template files [default=DATADIR/fontconfig/conf.avail]])], 609ca08ab68Smrg [templatedir="$withval"], 610ca08ab68Smrg [templatedir=yes]) 611ca08ab68SmrgAC_ARG_WITH(baseconfigdir, 612ae02b298Smrg [AS_HELP_STRING([--with-baseconfigdir=DIR],[Use DIR to store the base configuration files [default=SYSCONFDIR/fonts]])], 613ca08ab68Smrg [baseconfigdir="$withval"], 614ca08ab68Smrg [baseconfigdir=yes]) 615ca08ab68SmrgAC_ARG_WITH(configdir, 616ae02b298Smrg [AS_HELP_STRING([--with-configdir=DIR],[Use DIR to store active configuration files [default=BASECONFIGDIR/conf.d]])], 617ca08ab68Smrg [configdir="$withval"], 618ca08ab68Smrg [configdir=yes]) 619ca08ab68SmrgAC_ARG_WITH(xmldir, 620ae02b298Smrg [AS_HELP_STRING([--with-xmldir=DIR],[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 671ae02b298Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 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); } 678ae02b298Smrg ]], [[]])],[fc_cv_have_stdatomic_atomic_primitives=true 679ae02b298Smrg ],[]) 680a4e54154Smrg]) 681a4e54154Smrgif $fc_cv_have_stdatomic_atomic_primitives; then 6821cc69409Smrg AC_DEFINE(HAVE_STDATOMIC_PRIMITIVES, 1, [Have C99 stdatomic 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 687ae02b298Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 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); } 692ae02b298Smrg ]], [[]])],[fc_cv_have_intel_atomic_primitives=true 693ae02b298Smrg ],[]) 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 701ae02b298Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[ 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); } 708ae02b298Smrg ]], [[]])],[fc_cv_have_solaris_atomic_ops=true 709ae02b298Smrg ],[]) 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 739eceda581SmrgAC_ARG_ENABLE(docbook, 740eceda581Smrg [AS_HELP_STRING([--disable-docbook], 741eceda581Smrg [Disable building docs with docbook2html (default: no)])],,) 742eceda581Smrg 743eceda581Smrgif test x$enable_docbook != xno; then 744eceda581Smrg AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no) 745eceda581Smrgfi 746ca08ab68Smrg 747ca08ab68SmrgAM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes) 748ca08ab68Smrg 749ca08ab68Smrgdefault_docs="yes" 750ca08ab68Smrg# 751ca08ab68Smrg# Check if docs exist or can be created 752ca08ab68Smrg# 753ca08ab68Smrgif test x$HASDOCBOOK = xno; then 754ca08ab68Smrg if test -f $srcdir/doc/fonts-conf.5; then 755ca08ab68Smrg : 756ca08ab68Smrg else 757ca08ab68Smrg default_docs="no" 758ca08ab68Smrg fi 759ca08ab68Smrgfi 760ca08ab68Smrg 761ca08ab68SmrgAC_ARG_ENABLE(docs, 762ae02b298Smrg [AS_HELP_STRING([--disable-docs],[Don't build and install documentation])], 763ca08ab68Smrg , 764ca08ab68Smrg enable_docs=$default_docs) 765ca08ab68Smrg 766ca08ab68SmrgAM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes) 767ca08ab68Smrg 768ca08ab68Smrgif test "x$enable_docs" = xyes; then 769ca08ab68Smrg tmp=funcs.$$ 770ca08ab68Smrg cat $srcdir/doc/*.fncs | awk ' 771ca08ab68Smrg /^@TITLE@/ { if (!done) { printf ("%s\n", $2); done = 1; } } 772ca08ab68Smrg /^@FUNC@/ { if (!done) { printf ("%s\n", $2); done = 1; } } 773ca08ab68Smrg /^@@/ { done = 0; }' > $tmp 774ca08ab68Smrg DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'` 775ca08ab68Smrg echo DOCMAN3 $DOCMAN3 776ca08ab68Smrg rm -f $tmp 777ca08ab68Smrgelse 778ca08ab68Smrg DOCMAN3="" 779ca08ab68Smrgfi 780ca08ab68SmrgAC_SUBST(DOCMAN3) 781ca08ab68Smrg 782a4e54154Smrgdnl =========================================================================== 783a4e54154Smrgdefault_cache_build="yes" 784a4e54154Smrgif test $cross_compiling = "yes"; then 785a4e54154Smrg default_cache_build="no" 786a4e54154Smrgfi 787a4e54154SmrgAC_ARG_ENABLE(cache-build, 788ae02b298Smrg [AS_HELP_STRING([--disable-cache-build],[Don't run fc-cache during the build])], 789a4e54154Smrg , 790a4e54154Smrg enable_cache_build=$default_cache_build) 791a4e54154Smrg 792a4e54154SmrgAM_CONDITIONAL(ENABLE_CACHE_BUILD, test "x$enable_cache_build" = xyes) 793a4e54154Smrg 794ca08ab68Smrg 795ca08ab68Smrgdnl Figure out what cache format suffix to use for this architecture 796ca08ab68SmrgAC_C_BIGENDIAN 797ca08ab68SmrgAC_CHECK_SIZEOF([void *]) 798ca08ab68SmrgAC_CHECK_ALIGNOF([double]) 799953daebaSmrgAC_CHECK_ALIGNOF([void *]) 800ca08ab68Smrg 801ca08ab68Smrgdnl include the header file for workaround of miscalculating size on autoconf 802ca08ab68Smrgdnl particularly for fat binaries 803ca08ab68SmrgAH_BOTTOM([#include "config-fixups.h"]) 804ca08ab68Smrg 8056fc018e4Smrgdnl 8066fc018e4Smrgdnl 8076fc018e4SmrgAC_SUBST(PKGCONFIG_REQUIRES) 8086fc018e4SmrgAC_SUBST(PKGCONFIG_REQUIRES_PRIVATELY) 8096fc018e4Smrg 8106fc018e4Smrgdnl 811c9710b42SmrgAC_CONFIG_FILES([ 812ca08ab68SmrgMakefile 813ca08ab68Smrgfontconfig/Makefile 814ca08ab68Smrgfc-lang/Makefile 815ca08ab68Smrgfc-case/Makefile 816ca08ab68Smrgsrc/Makefile 817ca08ab68Smrgconf.d/Makefile 818ca08ab68Smrgfc-cache/Makefile 819ca08ab68Smrgfc-cat/Makefile 820a32e9e42Smrgfc-conflist/Makefile 821ca08ab68Smrgfc-list/Makefile 822ca08ab68Smrgfc-match/Makefile 823ca08ab68Smrgfc-pattern/Makefile 824ca08ab68Smrgfc-query/Makefile 825ca08ab68Smrgfc-scan/Makefile 826c9710b42Smrgfc-validate/Makefile 827ca08ab68Smrgdoc/Makefile 828ca08ab68Smrgdoc/version.sgml 829a32e9e42Smrgits/Makefile 830a32e9e42Smrgpo/Makefile.in 831a32e9e42Smrgpo-conf/Makefile.in 832ca08ab68Smrgtest/Makefile 833ca08ab68Smrgfontconfig.pc 834ca08ab68Smrgfontconfig-zip 835ca08ab68Smrg]) 836c9710b42SmrgAC_OUTPUT 837