configure.ac revision a32e9e42
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
36a32e9e42SmrgAC_INIT([fontconfig], [2.13.1], [https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new])
37c9710b42SmrgAM_INIT_AUTOMAKE([1.11 parallel-tests dist-bzip2])
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])
56ca08ab68Smrg
57ca08ab68SmrgAC_MSG_CHECKING([for RM macro])
58ca08ab68Smrg_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'`
59ca08ab68Smrgif test "x$_predefined_rm" = "x"; then
60ca08ab68Smrg	AC_MSG_RESULT([no predefined RM])
61ca08ab68Smrg	AC_CHECK_PROG(RM, rm, [rm -f])
62ca08ab68Smrgelse
63ca08ab68Smrg	AC_MSG_RESULT($_predefined_rm)
64ca08ab68Smrgfi
65ca08ab68Smrg
66b09479dcSmrgdnl Initialize libtool
67b09479dcSmrgLT_PREREQ([2.2])
68b09479dcSmrgLT_INIT([disable-static win32-dll])
69b09479dcSmrg
70b09479dcSmrgdnl libtool versioning
71b09479dcSmrg
72b09479dcSmrgdnl bump revision when fixing bugs
73b09479dcSmrgdnl bump current and age, reset revision to zero when adding APIs
74b09479dcSmrgdnl bump current, leave age, reset revision to zero when changing/removing APIS
75a32e9e42SmrgLIBT_CURRENT=13
76a32e9e42SmrgLIBT_REVISION=0
77b09479dcSmrgAC_SUBST(LIBT_CURRENT)
78b09479dcSmrgAC_SUBST(LIBT_REVISION)
79a32e9e42SmrgLIBT_AGE=12
80b09479dcSmrg
81b09479dcSmrgLIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
82b09479dcSmrgAC_SUBST(LIBT_VERSION_INFO)
83b09479dcSmrg
84b09479dcSmrgLIBT_CURRENT_MINUS_AGE=`expr $LIBT_CURRENT - $LIBT_AGE`
85b09479dcSmrgAC_SUBST(LIBT_CURRENT_MINUS_AGE)
86b09479dcSmrg
87b09479dcSmrgPKGCONFIG_REQUIRES=
88b09479dcSmrgPKGCONFIG_REQUIRES_PRIVATELY=
89b09479dcSmrg
90ca08ab68Smrgdnl ==========================================================================
91ca08ab68Smrgcase "$host" in
92ca08ab68Smrg  *-*-mingw*)
93ca08ab68Smrg    os_win32=yes
94ca08ab68Smrg    ;;
95ca08ab68Smrg  *)
96ca08ab68Smrg    os_win32=no
97ca08ab68Smrgesac
98ca08ab68SmrgAM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
99ca08ab68Smrg
100a32e9e42Smrgdnl ==========================================================================
101a32e9e42Smrgdnl gettext stuff
102a32e9e42Smrgdnl ==========================================================================
103a32e9e42SmrgGETTEXT_PACKAGE=$PACKAGE
104a32e9e42SmrgAC_SUBST(GETTEXT_PACKAGE)
105a32e9e42SmrgAC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
106a32e9e42Smrg
107a32e9e42SmrgAM_GNU_GETTEXT_VERSION([0.19.8])
108a32e9e42SmrgAM_GNU_GETTEXT([external])
109a32e9e42Smrg
110a32e9e42Smrgdnl ==========================================================================
111a32e9e42Smrg
112ca08ab68Smrgif test "$os_win32" = "yes"; then
113ca08ab68Smrg  AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
114ca08ab68Smrgfi
115ca08ab68SmrgAM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
116ca08ab68Smrg
117953daebaSmrgAC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
118ca08ab68SmrgWARN_CFLAGS=""
119953daebaSmrgWARNING_CPP_DIRECTIVE="no"
120ca08ab68Smrgif test "x$GCC" = "xyes"; then
121ca08ab68Smrg	WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
122ca08ab68Smrg	-Wmissing-prototypes -Wmissing-declarations \
123ca08ab68Smrg	-Wnested-externs -fno-strict-aliasing"
124953daebaSmrg	WARNING_CPP_DIRECTIVE="yes"
125953daebaSmrgelif test "x$SUNCC" = "xyes"; then
126953daebaSmrg	WARN_CFLAGS="-v -fd"
127953daebaSmrg	WARNING_CPP_DIRECTIVE="yes"
128953daebaSmrgfi
129953daebaSmrgif test "x$WARNING_CPP_DIRECTIVE" = "xyes"; then
130ca08ab68Smrg	AC_DEFINE_UNQUOTED(HAVE_WARNING_CPP_DIRECTIVE,1,
131ca08ab68Smrg	[Can use #warning in C files])
132ca08ab68Smrgfi
133ca08ab68SmrgAC_SUBST(WARN_CFLAGS)
134ca08ab68Smrg
135ca08ab68Smrg
136ca08ab68Smrgdnl ==========================================================================
137ca08ab68Smrg
138c9710b42SmrgAX_CC_FOR_BUILD()
139c9710b42SmrgAC_ARG_VAR(CC_FOR_BUILD, [build system C compiler])
140ca08ab68SmrgAM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
141ca08ab68SmrgAM_CONDITIONAL(ENABLE_SHARED, test "$enable_shared" = "yes")
142ca08ab68Smrg
143ca08ab68Smrgdnl ==========================================================================
144ca08ab68Smrg
145ca08ab68SmrgAC_ARG_WITH(arch,
146ca08ab68Smrg	[AC_HELP_STRING([--with-arch=ARCH],
147ca08ab68Smrg			[Force architecture to ARCH])],
148ca08ab68Smrg	arch="$withval", arch=auto)
149ca08ab68Smrg
150ca08ab68Smrgif test "x$arch" != xauto; then
151ca08ab68Smrg	AC_DEFINE_UNQUOTED([FC_ARCHITECTURE], "$arch", [Architecture prefix to use for cache file names])
152ca08ab68Smrgfi
153ca08ab68Smrg
154ca08ab68Smrg
155ca08ab68Smrgdnl ==========================================================================
156ca08ab68Smrg
157ca08ab68Smrg# Checks for header files.
158ca08ab68SmrgAC_HEADER_DIRENT
159ca08ab68SmrgAC_HEADER_STDC
160953daebaSmrgAC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h sys/statvfs.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h])
161c9710b42SmrgAX_CREATE_STDINT_H([src/fcstdint.h])
162ca08ab68Smrg
163ca08ab68Smrg# Checks for typedefs, structures, and compiler characteristics.
164ca08ab68SmrgAC_C_CONST
165ca08ab68SmrgAC_C_INLINE
166ca08ab68SmrgAC_C_FLEXIBLE_ARRAY_MEMBER
167ca08ab68SmrgAC_TYPE_PID_T
168ca08ab68Smrg
169ca08ab68Smrg# Checks for library functions.
170ca08ab68SmrgAC_FUNC_VPRINTF
171ca08ab68SmrgAC_FUNC_MMAP
172a32e9e42SmrgAC_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])
173ca08ab68Smrg
174ca08ab68Smrgdnl AC_CHECK_FUNCS doesn't check for header files.
175ca08ab68Smrgdnl posix_fadvise() may be not available in older libc.
176b09479dcSmrgAC_CHECK_SYMBOL([posix_fadvise], [fcntl.h], [fc_func_posix_fadvise=1], [fc_func_posix_fadvise=0])
177953daebaSmrgAC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadvise' function.])
178953daebaSmrg
179953daebaSmrg#
180953daebaSmrgAC_CHECK_MEMBERS([struct stat.st_mtim],,, [#include <sys/stat.h>])
181ca08ab68Smrg
182ca08ab68Smrg#
183ca08ab68Smrgif test "x$ac_cv_func_fstatvfs" = "xyes"; then
184ca08ab68Smrg	AC_CHECK_MEMBERS([struct statvfs.f_basetype, struct statvfs.f_fstypename],,,
185ca08ab68Smrg		[#include <sys/statvfs.h>])
186ca08ab68Smrgfi
187ca08ab68Smrgif test "x$ac_cv_func_fstatfs" = "xyes"; then
188ca08ab68Smrg	AC_CHECK_MEMBERS([struct statfs.f_flags, struct statfs.f_fstypename],,, [
189ca08ab68Smrg#ifdef HAVE_SYS_VFS_H
190ca08ab68Smrg#include <sys/vfs.h>
191ca08ab68Smrg#endif
192ca08ab68Smrg#ifdef HAVE_SYS_STATFS_H
193ca08ab68Smrg#include <sys/statfs.h>
194ca08ab68Smrg#endif
195ca08ab68Smrg#ifdef HAVE_SYS_PARAM_H
196ca08ab68Smrg#include <sys/param.h>
197ca08ab68Smrg#endif
198ca08ab68Smrg#ifdef HAVE_SYS_MOUNT_H
199ca08ab68Smrg#include <sys/mount.h>
200ca08ab68Smrg#endif])
201ca08ab68Smrgfi
202ca08ab68SmrgAC_CHECK_MEMBERS([struct dirent.d_type],,,
203ca08ab68Smrg	[#include <dirent.h>])
204953daebaSmrg
205953daebaSmrg# Check the argument type of the gperf hash/lookup function
206953daebaSmrgAC_MSG_CHECKING([The type of len parameter of gperf hash/lookup function])
207953daebaSmrgfc_gperf_test="$(echo 'foo' | gperf -L ANSI-C)"
208953daebaSmrgAC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
209953daebaSmrg	#include <string.h>
210953daebaSmrg
211953daebaSmrg	const char *in_word_set(register const char *, register size_t);
212953daebaSmrg	$fc_gperf_test
213953daebaSmrg	]])], [FC_GPERF_SIZE_T=size_t],
214953daebaSmrg	[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
215953daebaSmrg		#include <string.h>
216953daebaSmrg
217953daebaSmrg		const char *in_word_set(register const char *, register unsigned int);
218953daebaSmrg		$fc_gperf_test
219953daebaSmrg	]])], [FC_GPERF_SIZE_T="unsigned int"],
220953daebaSmrg	[AC_MSG_ERROR([Unable to determine the type of the len parameter of the gperf hash/lookup function])]
221953daebaSmrg)])
222953daebaSmrgAC_DEFINE_UNQUOTED(FC_GPERF_SIZE_T, $FC_GPERF_SIZE_T, [The type of len parameter of the gperf hash/lookup function])
223953daebaSmrgAC_MSG_RESULT($FC_GPERF_SIZE_T)
224ca08ab68Smrg
225ca08ab68Smrg#
226ca08ab68Smrg# Checks for iconv
227ca08ab68Smrg#
228ca08ab68SmrgAC_ARG_ENABLE(iconv,
229ca08ab68Smrg	[AC_HELP_STRING([--enable-iconv],
230ca08ab68Smrg			[Use iconv to support non-Unicode SFNT name])],
231ca08ab68Smrg	,enable_iconv=no)
232ca08ab68SmrgAC_ARG_WITH(libiconv,
233ca08ab68Smrg	[AC_HELP_STRING([--with-libiconv=DIR],
234ca08ab68Smrg			[Use libiconv in DIR])],
235ca08ab68Smrg	[if test "x$withval" = "xyes"; then
236ca08ab68Smrg		libiconv_prefix=$prefix
237ca08ab68Smrg	 else
238ca08ab68Smrg		libiconv_prefix=$withval
239ca08ab68Smrg	 fi],
240ca08ab68Smrg	[libiconv_prefix=auto])
241ca08ab68SmrgAC_ARG_WITH(libiconv-includes,
242ca08ab68Smrg	[AC_HELP_STRING([--with-libiconv-includes=DIR],
243ca08ab68Smrg			[Use libiconv includes in DIR])],
244ca08ab68Smrg	[libiconv_includes=$withval],
245ca08ab68Smrg	[libiconv_includes=auto])
246ca08ab68SmrgAC_ARG_WITH(libiconv-lib,
247ca08ab68Smrg	[AC_HELP_STRING([--with-libiconv-lib=DIR],
248ca08ab68Smrg			[Use libiconv library in DIR])],
249ca08ab68Smrg	[libiconv_lib=$withval],
250ca08ab68Smrg	[libiconv_lib=auto])
251ca08ab68Smrg
252ca08ab68Smrg# if no libiconv,libiconv-includes,libiconv-lib are specified,
253ca08ab68Smrg# libc's iconv has a priority.
254ca08ab68Smrgif test "$libiconv_includes" != "auto" -a -r ${libiconv_includes}/iconv.h; then
255ca08ab68Smrg	libiconv_cflags="-I${libiconv_includes}"
256ca08ab68Smrgelif test "$libiconv_prefix" != "auto" -a -r ${libiconv_prefix}/include/iconv.h; then
257ca08ab68Smrg	libiconv_cflags="-I${libiconv_prefix}/include"
258ca08ab68Smrgelse
259ca08ab68Smrg	libiconv_cflags=""
260ca08ab68Smrgfi
261ca08ab68Smrglibiconv_libs=""
262ca08ab68Smrgif test "x$libiconv_cflags" != "x"; then
263ca08ab68Smrg	if test "$libiconv_lib" != "auto" -a -d ${libiconv_lib}; then
264ca08ab68Smrg		libiconv_libs="-L${libiconv_lib} -liconv"
265ca08ab68Smrg	elif test "$libiconv_prefix" != "auto" -a -d ${libiconv_prefix}/lib; then
266ca08ab68Smrg		libiconv_libs="-L${libiconv_prefix}/lib -liconv"
267ca08ab68Smrg	else
268ca08ab68Smrg		libiconv_libs="-liconv"
269ca08ab68Smrg	fi
270ca08ab68Smrgfi
271ca08ab68Smrg
272ca08ab68Smrguse_iconv=0
273ca08ab68Smrgif test "x$enable_iconv" != "xno"; then
274ca08ab68Smrg	AC_MSG_CHECKING([for a usable iconv])
275ca08ab68Smrg	if test "x$libiconv_cflags" != "x" -o "x$libiconv_libs" != "x"; then
276ca08ab68Smrg		iconvsaved_CFLAGS="$CFLAGS"
277ca08ab68Smrg		iconvsaved_LIBS="$LIBS"
278ca08ab68Smrg		CFLAGS="$CFLAGS $libiconv_cflags"
279ca08ab68Smrg		LIBS="$LIBS $libiconv_libs"
280ca08ab68Smrg
281ca08ab68Smrg		AC_TRY_LINK([#include <iconv.h>],
282ca08ab68Smrg			[iconv_open ("from", "to");],
283ca08ab68Smrg			[iconv_type="libiconv"
2846fc018e4Smrg			 use_iconv=1
2856fc018e4Smrg			 ICONV_CFLAGS="$libiconv_cflags"
2866fc018e4Smrg			 ICONV_LIBS="$libiconv_libs"
2876fc018e4Smrg			 ],
288ca08ab68Smrg			[use_iconv=0])
289ca08ab68Smrg
290ca08ab68Smrg		CFLAGS="$iconvsaved_CFLAGS"
291ca08ab68Smrg		LIBS="$iconvsaved_LIBS"
292ca08ab68Smrg	fi
293ca08ab68Smrg	if test "x$use_iconv" = "x0"; then
294ca08ab68Smrg		AC_TRY_LINK([#include <iconv.h>],
295ca08ab68Smrg			[iconv_open ("from", "to");],
296ca08ab68Smrg			[iconv_type="libc"
297ca08ab68Smrg			 use_iconv=1],
298ca08ab68Smrg			[iconv_type="not found"
299ca08ab68Smrg			 use_iconv=0])
300ca08ab68Smrg	fi
301ca08ab68Smrg
302ca08ab68Smrg	AC_MSG_RESULT([$iconv_type])
303ca08ab68Smrg	AC_SUBST(ICONV_CFLAGS)
304ca08ab68Smrg	AC_SUBST(ICONV_LIBS)
305ca08ab68Smrgfi
306ca08ab68SmrgAC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.])
307ca08ab68Smrg#
308ca08ab68Smrg# Checks for FreeType
309ca08ab68Smrg#
310a32e9e42Smrgdnl See http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/VERSIONS.TXT for versioning in freetype
311a32e9e42SmrgPKG_CHECK_MODULES(FREETYPE, freetype2 >= 21.0.15)
312a32e9e42SmrgPKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES freetype2 >= 21.0.15"
313ca08ab68Smrg
314ca08ab68SmrgAC_SUBST(FREETYPE_LIBS)
315ca08ab68SmrgAC_SUBST(FREETYPE_CFLAGS)
316ca08ab68Smrg
317ca08ab68Smrgfontconfig_save_libs="$LIBS"
318ca08ab68Smrgfontconfig_save_cflags="$CFLAGS"
319ca08ab68SmrgLIBS="$LIBS $FREETYPE_LIBS"
320ca08ab68SmrgCFLAGS="$CFLAGS $FREETYPE_CFLAGS"
321a32e9e42SmrgAC_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)
322953daebaSmrg
323a32e9e42SmrgAC_COMPILE_IFELSE([AC_LANG_SOURCE([[
324a32e9e42Smrg	#include <ft2build.h>
325a32e9e42Smrg	#include FT_CONFIG_OPTIONS_H
326a32e9e42Smrg	#ifndef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
327a32e9e42Smrg	#  error "No pcf long family names support"
328a32e9e42Smrg	#endif
329a32e9e42Smrg	]])], [have_pcf_long_family_names=yes], [have_pcf_long_family_names=no])
330a32e9e42SmrgAM_CONDITIONAL(FREETYPE_PCF_LONG_FAMILY_NAMES, test "x$have_pcf_long_family_names" = xyes)
331953daebaSmrg
332ca08ab68SmrgLIBS="$fontconfig_save_libs"
333a32e9e42SmrgCFLAGS="$fontconfig_save_cflags"
334a32e9e42Smrg
335a32e9e42Smrg#
336a32e9e42Smrg# Check for uuid
337a32e9e42Smrg#
338a32e9e42Smrgif test "$os_win32" != "yes"; then
339a32e9e42Smrg	use_pkgconfig_for_uuid=yes
340a32e9e42Smrg	if test -n "${UUID_LIBS}"; then
341a32e9e42Smrg		save_UUID_LIBS=$UUID_LIBS
342a32e9e42Smrg	fi
343a32e9e42Smrg	PKG_CHECK_MODULES([UUID], [uuid],
344a32e9e42Smrg			  [use_pkgconfig_for_uuid=yes],
345a32e9e42Smrg			  [use_pkgconfig_for_uuid=no])
346a32e9e42Smrg	if test "x$use_pkgconfig_for_uuid" = "xno"; then
347a32e9e42Smrg		AC_MSG_CHECKING([where uuid functions comes from])
348a32e9e42Smrg		AC_TRY_LINK([#include <uuid/uuid.h>],
349a32e9e42Smrg			[uuid_t a; uuid_generate(a);],
350a32e9e42Smrg			[AC_MSG_RESULT([builtin])
351a32e9e42Smrg			 UUID_CFLAGS=""
352a32e9e42Smrg			 UUID_LIBS=""
353a32e9e42Smrg			],[AC_MSG_ERROR([
354a32e9e42Smrg*** uuid is required. install util-linux.
355a32e9e42Smrg			])])
356a32e9e42Smrg	else
357a32e9e42Smrg		if test -z "${save_UUID_LIBS+x}" && test "x${UUID_LIBS}" != "x"; then
358a32e9e42Smrg			PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY uuid"
359a32e9e42Smrg		fi
360a32e9e42Smrg	fi
361a32e9e42Smrgelse
362a32e9e42Smrg	UUID_CFLAGS=""
363a32e9e42Smrg	UUID_LIBS=""
364a32e9e42Smrgfi
365a32e9e42SmrgAC_SUBST(UUID_CFLAGS)
366a32e9e42SmrgAC_SUBST(UUID_LIBS)
367ca08ab68Smrg
368ca08ab68Smrg#
369ca08ab68Smrg# Check expat configuration
370ca08ab68Smrg#
371ca08ab68SmrgAC_ARG_WITH(expat,
372ca08ab68Smrg	[AC_HELP_STRING([--with-expat=DIR],
373ca08ab68Smrg			[Use Expat in DIR])],
374ca08ab68Smrg	[expat_prefix=$withval],
375ca08ab68Smrg	[expat_prefix=auto])
376ca08ab68SmrgAC_ARG_WITH(expat-includes,
377ca08ab68Smrg	[AC_HELP_STRING([--with-expat-includes=DIR],
378ca08ab68Smrg			[Use Expat includes in DIR])],
379ca08ab68Smrg	[expat_includes=$withval],
380ca08ab68Smrg	[expat_includes=auto])
381ca08ab68SmrgAC_ARG_WITH(expat-lib,
382ca08ab68Smrg	[AC_HELP_STRING([--with-expat-lib=DIR])],
383ca08ab68Smrg	[expat_lib=$withval],
384ca08ab68Smrg	[expat_lib=auto])
385ca08ab68Smrg
386ca08ab68Smrgif test "$enable_libxml2" != "yes"; then
387ca08ab68Smrg	use_pkgconfig_for_expat=yes
388ca08ab68Smrg	if test "$expat_prefix" = "auto" -a "$expat_includes" = "auto" -a "$expat_lib" = "auto"; then
389ca08ab68Smrg		PKG_CHECK_MODULES(EXPAT, expat,,use_pkgconfig_for_expat=no)
390ca08ab68Smrg	else
391ca08ab68Smrg		use_pkgconfig_for_expat=no
392ca08ab68Smrg	fi
393ca08ab68Smrg	if test "x$use_pkgconfig_for_expat" = "xno"; then
394ca08ab68Smrg		if test "$expat_includes" != "auto" -a -r ${expat_includes}/expat.h; then
395ca08ab68Smrg			EXPAT_CFLAGS="-I${expat_includes}"
396ca08ab68Smrg		elif test "$expat_prefix" != "auto" -a -r ${expat_prefix}/include/expat.h; then
397ca08ab68Smrg			EXPAT_CFLAGS="-I${expat_prefix}/include"
398ca08ab68Smrg		else
399ca08ab68Smrg			EXPAT_CFLAGS=""
400ca08ab68Smrg		fi
401ca08ab68Smrg		if test "$expat_lib" != "auto"; then
402ca08ab68Smrg			EXPAT_LIBS="-L${expat_lib} -lexpat"
403ca08ab68Smrg		elif test "$expat_prefix" != "auto"; then
404ca08ab68Smrg			EXPAT_LIBS="-L${expat_prefix}/lib -lexpat"
405ca08ab68Smrg		else
406ca08ab68Smrg			EXPAT_LIBS="-lexpat"
407ca08ab68Smrg		fi
408a32e9e42Smrg		PKG_EXPAT_CFLAGS=$EXPAT_CFLAGS
409a32e9e42Smrg		PKG_EXPAT_LIBS=$EXPAT_LIBS
4106fc018e4Smrg	else
4116fc018e4Smrg		PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY expat"
412a32e9e42Smrg		PKG_EXPAT_CFLAGS=
413a32e9e42Smrg		PKG_EXPAT_LIBS=
414ca08ab68Smrg	fi
415ca08ab68Smrg
416ca08ab68Smrg	expatsaved_CPPFLAGS="$CPPFLAGS"
417ca08ab68Smrg	expatsaved_LIBS="$LIBS"
418ca08ab68Smrg	CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS"
419ca08ab68Smrg	LIBS="$LIBS $EXPAT_LIBS"
420ca08ab68Smrg
421ca08ab68Smrg	AC_CHECK_HEADER(expat.h)
422ca08ab68Smrg	if test "$ac_cv_header_expat_h" = "no"; then
423ca08ab68Smrg		AC_CHECK_HEADER(xmlparse.h)
424ca08ab68Smrg		if test "$ac_cv_header_xmlparse_h" = "yes"; then
425ca08ab68Smrg			HAVE_XMLPARSE_H=1
426ca08ab68Smrg			AC_SUBST(HAVE_XMLPARSE_H)
427ca08ab68Smrg			AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H,
428ca08ab68Smrg				[Use xmlparse.h instead of expat.h])
429ca08ab68Smrg		else
430ca08ab68Smrg			AC_MSG_ERROR([
431ca08ab68Smrg*** expat is required. or try to use --enable-libxml2])
432ca08ab68Smrg		fi
433ca08ab68Smrg	fi
434ca08ab68Smrg	AC_CHECK_FUNCS(XML_SetDoctypeDeclHandler)
435ca08ab68Smrg	if test "$ac_cv_func_XML_SetDoctypeDeclHandler" = "no"; then
436ca08ab68Smrg		AC_MSG_ERROR([
437ca08ab68Smrg*** expat is required. or try to use --enable-libxml2])
438ca08ab68Smrg	fi
439ca08ab68Smrg	CPPFLAGS="$expatsaved_CPPFLAGS"
440ca08ab68Smrg	LIBS="$expatsaved_LIBS"
441ca08ab68Smrg
442ca08ab68Smrg	AC_SUBST(EXPAT_CFLAGS)
443ca08ab68Smrg	AC_SUBST(EXPAT_LIBS)
444a32e9e42Smrg	AC_SUBST(PKG_EXPAT_CFLAGS)
445a32e9e42Smrg	AC_SUBST(PKG_EXPAT_LIBS)
446ca08ab68Smrgfi
447ca08ab68Smrg
448ca08ab68Smrg#
449ca08ab68Smrg# Check libxml2 configuration
450ca08ab68Smrg#
451ca08ab68SmrgAC_ARG_ENABLE(libxml2,
452ca08ab68Smrg	[AC_HELP_STRING([--enable-libxml2],
453ca08ab68Smrg			[Use libxml2 instead of Expat])])
454ca08ab68Smrg
455ca08ab68Smrgif test "$enable_libxml2" = "yes"; then
456ca08ab68Smrg    PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6])
457a32e9e42Smrg    PKGCONFIG_REQUIRES_PRIVATELY="$PKGCONFIG_REQUIRES_PRIVATELY libxml-2.0 >= 2.6"
458ca08ab68Smrg    AC_DEFINE_UNQUOTED(ENABLE_LIBXML2,1,[Use libxml2 instead of Expat])
459ca08ab68Smrg
460ca08ab68Smrg    AC_SUBST(LIBXML2_CFLAGS)
461ca08ab68Smrg    AC_SUBST(LIBXML2_LIBS)
462ca08ab68Smrg
463ca08ab68Smrg    fc_saved_CFLAGS="$CFLAGS"
464ca08ab68Smrg    CFLAGS="$CFLAGS $LIBXML2_CFLAGS"
465ca08ab68Smrg    AC_MSG_CHECKING([SAX1 support in libxml2])
466ca08ab68Smrg    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
467ca08ab68Smrg	#include <libxml/xmlversion.h>
468ca08ab68Smrg	#if !defined(LIBXML_SAX1_ENABLED)
469ca08ab68Smrg	#  include "error: No SAX1 support in libxml2"
470ca08ab68Smrg	#endif
471ca08ab68Smrg	]])], [AC_MSG_RESULT([found])], [AC_MSG_ERROR([
472ca08ab68Smrg*** SAX1 support in libxml2 is required. enable it or use expat instead.])])
473ca08ab68Smrg    CFLAGS="$fc_saved_CFLAGS"
474ca08ab68Smrgfi
475ca08ab68Smrg
476a32e9e42Smrg#
477a32e9e42Smrg# Check json-c
478a32e9e42Smrg#
479a32e9e42SmrgPKG_CHECK_MODULES([JSONC], [json-c], [use_jsonc=yes], [use_jsonc=no])
480a32e9e42Smrg
481a32e9e42SmrgAM_CONDITIONAL(ENABLE_JSONC, test "x$use_jsonc" = "xyes")
482a32e9e42SmrgAC_SUBST(JSONC_CFLAGS)
483a32e9e42SmrgAC_SUBST(JSONC_LIBS)
484a32e9e42Smrg
485953daebaSmrg#
486953daebaSmrg# Set default hinting
487953daebaSmrg#
488953daebaSmrg
489953daebaSmrgAC_ARG_WITH(default-hinting,
490953daebaSmrg	[AC_HELP_STRING([--with-default-hinting=NAME],
491953daebaSmrg			[Enable your preferred hinting configuration (none/slight/medium/full) [default=slight]])],
492953daebaSmrg	preferred_hinting="$withval", preferred_hinting=slight)
493953daebaSmrg
494953daebaSmrgcase "$preferred_hinting" in
495953daebaSmrgnone|slight|medium|full)
496953daebaSmrg	PREFERRED_HINTING="$preferred_hinting"
497953daebaSmrg	AC_SUBST(PREFERRED_HINTING)
498953daebaSmrg	;;
499953daebaSmrg*)
500953daebaSmrg	AC_MSG_ERROR([Invalid hinting. please choose one of none, slight, medium, or full])
501953daebaSmrg	;;
502953daebaSmrgesac
503953daebaSmrg
504ca08ab68Smrg#
505ca08ab68Smrg# Set default font directory
506ca08ab68Smrg#
507ca08ab68Smrg
508ca08ab68SmrgAC_ARG_WITH(default-fonts,
509ca08ab68Smrg	[AC_HELP_STRING([--with-default-fonts=DIR],
510ca08ab68Smrg			[Use fonts from DIR when config is busted])],
511ca08ab68Smrg	default_fonts="$withval", default_fonts=yes)
512ca08ab68Smrg
513ca08ab68Smrgcase "$default_fonts" in
514ca08ab68Smrgyes)
515ca08ab68Smrg	if test "$os_win32" = "yes"; then
516ca08ab68Smrg		FC_DEFAULT_FONTS="WINDOWSFONTDIR"
517ca08ab68Smrg		AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "WINDOWSFONTDIR", 
518ca08ab68Smrg				   [Windows font directory])
519ca08ab68Smrg	else
520ca08ab68Smrg		FC_DEFAULT_FONTS="/usr/share/fonts"
521ca08ab68Smrg		AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts", 
522ca08ab68Smrg				   [System font directory])
523ca08ab68Smrg	fi
524ca08ab68Smrg	;;
525ca08ab68Smrg*)
526ca08ab68Smrg	FC_DEFAULT_FONTS="$default_fonts"
527ca08ab68Smrg	AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts",
528ca08ab68Smrg			   [System font directory])
529ca08ab68Smrg	;;
530ca08ab68Smrgesac
531ca08ab68Smrg
532ca08ab68SmrgAC_SUBST(FC_DEFAULT_FONTS)
533ca08ab68Smrg
534ca08ab68Smrg#
535ca08ab68Smrg# Add more fonts if available.  By default, add only the directories
536ca08ab68Smrg# with outline fonts; those with bitmaps can be added as desired in
537ca08ab68Smrg# local.conf or ~/.fonts.conf
538ca08ab68Smrg#
539ca08ab68SmrgAC_ARG_WITH(add-fonts,
540ca08ab68Smrg	[AC_HELP_STRING([--with-add-fonts=DIR1,DIR2,...],
541ca08ab68Smrg			[Find additional fonts in DIR1,DIR2,... ])],
542ca08ab68Smrg	add_fonts="$withval", add_fonts=yes)
543ca08ab68Smrg
544ca08ab68Smrgcase "$add_fonts" in
545ca08ab68Smrgyes)
546ca08ab68Smrg	FC_ADD_FONTS=""
547ca08ab68Smrg	for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do
548ca08ab68Smrg		case x"$FC_ADD_FONTS" in
549ca08ab68Smrg		x)
550ca08ab68Smrg			sub="$dir/fonts"
551ca08ab68Smrg			if test -d "$sub"; then
552ca08ab68Smrg				case x$FC_ADD_FONTS in
553ca08ab68Smrg				x)
554ca08ab68Smrg					FC_ADD_FONTS="$sub"
555ca08ab68Smrg					;;
556ca08ab68Smrg				*)
557ca08ab68Smrg					FC_ADD_FONTS="$FC_ADD_FONTS,$sub"
558ca08ab68Smrg					;;
559ca08ab68Smrg				esac
560ca08ab68Smrg			fi
561ca08ab68Smrg			;;
562ca08ab68Smrg		esac
563ca08ab68Smrg	done
564ca08ab68Smrg	AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
565ca08ab68Smrg	;;
566ca08ab68Smrgno)
567ca08ab68Smrg	FC_ADD_FONTS=""
568ca08ab68Smrg	;;
569ca08ab68Smrg*)
570ca08ab68Smrg	FC_ADD_FONTS="$add_fonts"
571ca08ab68Smrg	AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
572ca08ab68Smrg	;;
573ca08ab68Smrgesac
574ca08ab68Smrg
575ca08ab68SmrgAC_SUBST(FC_ADD_FONTS)
576ca08ab68Smrg
577ca08ab68SmrgFC_FONTPATH=""
578ca08ab68Smrg
579ca08ab68Smrgcase "$FC_ADD_FONTS" in
580ca08ab68Smrg"")
581ca08ab68Smrg	;;
582ca08ab68Smrg*)
583ca08ab68Smrg	FC_FONTPATH=`echo $FC_ADD_FONTS | 
584ca08ab68Smrg			sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'`
585ca08ab68Smrg	;;
586ca08ab68Smrgesac
587ca08ab68Smrg
588ca08ab68SmrgAC_SUBST(FC_FONTPATH)
589ca08ab68Smrg
590ca08ab68Smrg#
591ca08ab68Smrg# Set default cache directory path
592ca08ab68Smrg#
593ca08ab68SmrgAC_ARG_WITH(cache-dir,
594ca08ab68Smrg	[AC_HELP_STRING([--with-cache-dir=DIR],
595ca08ab68Smrg			[Use DIR to store cache files [default=LOCALSTATEDIR/cache/fontconfig]])],
596ca08ab68Smrg	fc_cachedir="$withval", fc_cachedir=yes)
597ca08ab68Smrg
598ca08ab68Smrgcase $fc_cachedir in
599ca08ab68Smrgno|yes)
600ca08ab68Smrg	if test "$os_win32" = "yes"; then
601b09479dcSmrg		fc_cachedir="LOCAL_APPDATA_FONTCONFIG_CACHE"
602ca08ab68Smrg	else
603ca08ab68Smrg		fc_cachedir='${localstatedir}/cache/${PACKAGE}'
604ca08ab68Smrg	fi
605ca08ab68Smrg	;;
606ca08ab68Smrg*)
607ca08ab68Smrg	;;
608ca08ab68Smrgesac
609ca08ab68SmrgAC_SUBST(fc_cachedir)
610ca08ab68SmrgFC_CACHEDIR=${fc_cachedir}
611ca08ab68SmrgAC_SUBST(FC_CACHEDIR)
612ca08ab68Smrg
613ca08ab68SmrgFC_FONTDATE=`LC_ALL=C date`
614ca08ab68Smrg
615ca08ab68SmrgAC_SUBST(FC_FONTDATE)
616ca08ab68Smrg
617ca08ab68Smrg#
618ca08ab68Smrg# Set configuration paths
619ca08ab68Smrg#
620ca08ab68Smrg
621ca08ab68SmrgAC_ARG_WITH(templatedir,
622ca08ab68Smrg	[AC_HELP_STRING([--with-templatedir=DIR],
623ca08ab68Smrg			[Use DIR to store the configuration template files [default=DATADIR/fontconfig/conf.avail]])],
624ca08ab68Smrg	[templatedir="$withval"],
625ca08ab68Smrg	[templatedir=yes])
626ca08ab68SmrgAC_ARG_WITH(baseconfigdir,
627ca08ab68Smrg	[AC_HELP_STRING([--with-baseconfigdir=DIR],
628ca08ab68Smrg			[Use DIR to store the base configuration files [default=SYSCONFDIR/fonts]])],
629ca08ab68Smrg	[baseconfigdir="$withval"],
630ca08ab68Smrg	[baseconfigdir=yes])
631ca08ab68SmrgAC_ARG_WITH(configdir,
632ca08ab68Smrg	[AC_HELP_STRING([--with-configdir=DIR],
633ca08ab68Smrg			[Use DIR to store active configuration files [default=BASECONFIGDIR/conf.d]])],
634ca08ab68Smrg	[configdir="$withval"],
635ca08ab68Smrg	[configdir=yes])
636ca08ab68SmrgAC_ARG_WITH(xmldir,
637ca08ab68Smrg	[AC_HELP_STRING([--with-xmldir=DIR],
638ca08ab68Smrg			[Use DIR to store XML schema files [default=DATADIR/xml/fontconfig]])],
639ca08ab68Smrg	[xmldir="$withval"],
640ca08ab68Smrg	[xmldir=yes])
641ca08ab68Smrg
642ca08ab68Smrgcase "$templatedir" in
643ca08ab68Smrgno|yes)
644ca08ab68Smrg	templatedir='${datadir}'/fontconfig/conf.avail
645ca08ab68Smrg	;;
646ca08ab68Smrg*)
647ca08ab68Smrg	;;
648ca08ab68Smrgesac
649ca08ab68Smrgcase "$baseconfigdir" in
650ca08ab68Smrgno|yes)
651ca08ab68Smrg	baseconfigdir='${sysconfdir}'/fonts
652ca08ab68Smrg	;;
653ca08ab68Smrg*)
654ca08ab68Smrg	;;
655ca08ab68Smrgesac
656ca08ab68Smrgcase "$configdir" in
657ca08ab68Smrgno|yes)
6586fc018e4Smrg	configdir='${BASECONFIGDIR}'/conf.d
659ca08ab68Smrg	;;
660ca08ab68Smrg*)
661ca08ab68Smrg	;;
662ca08ab68Smrgesac
663ca08ab68Smrgcase "$xmldir" in
664ca08ab68Smrgno|yes)
665ca08ab68Smrg	xmldir='${datadir}'/xml/fontconfig
666ca08ab68Smrg	;;
667ca08ab68Smrg*)
668ca08ab68Smrg	;;
669ca08ab68Smrgesac
670ca08ab68Smrg
671ca08ab68SmrgTEMPLATEDIR=${templatedir}
672ca08ab68SmrgBASECONFIGDIR=${baseconfigdir}
673ca08ab68SmrgCONFIGDIR=${configdir}
674ca08ab68SmrgXMLDIR=${xmldir}
675ca08ab68SmrgAC_SUBST(TEMPLATEDIR)
676ca08ab68SmrgAC_SUBST(BASECONFIGDIR)
677ca08ab68SmrgAC_SUBST(CONFIGDIR)
678ca08ab68SmrgAC_SUBST(XMLDIR)
679ca08ab68Smrg
680c9710b42Smrg
681c9710b42Smrgdnl ===========================================================================
682c9710b42Smrg
683c9710b42Smrg#
684c9710b42Smrg# Thread-safety primitives
685c9710b42Smrg#
686c9710b42Smrg
687c9710b42SmrgAC_CACHE_CHECK([for Intel atomic primitives], fc_cv_have_intel_atomic_primitives, [
688c9710b42Smrg	fc_cv_have_intel_atomic_primitives=false
689c9710b42Smrg	AC_TRY_LINK([
690c9710b42Smrg		void memory_barrier (void) { __sync_synchronize (); }
691c9710b42Smrg		int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); }
692c9710b42Smrg		int mutex_trylock (int *m) { return __sync_lock_test_and_set (m, 1); }
693c9710b42Smrg		void mutex_unlock (int *m) { __sync_lock_release (m); }
694c9710b42Smrg		], [], fc_cv_have_intel_atomic_primitives=true
695c9710b42Smrg	)
696c9710b42Smrg])
697c9710b42Smrgif $fc_cv_have_intel_atomic_primitives; then
698c9710b42Smrg	AC_DEFINE(HAVE_INTEL_ATOMIC_PRIMITIVES, 1, [Have Intel __sync_* atomic primitives])
699c9710b42Smrgfi
700c9710b42Smrg
701c9710b42SmrgAC_CACHE_CHECK([for Solaris atomic operations], fc_cv_have_solaris_atomic_ops, [
702c9710b42Smrg	fc_cv_have_solaris_atomic_ops=false
703c9710b42Smrg	AC_TRY_LINK([
704c9710b42Smrg		#include <atomic.h>
705c9710b42Smrg		/* This requires Solaris Studio 12.2 or newer: */
706c9710b42Smrg		#include <mbarrier.h>
707c9710b42Smrg		void memory_barrier (void) { __machine_rw_barrier (); }
708c9710b42Smrg		int atomic_add (volatile unsigned *i) { return atomic_add_int_nv (i, 1); }
709c9710b42Smrg		void *atomic_ptr_cmpxchg (volatile void **target, void *cmp, void *newval) { return atomic_cas_ptr (target, cmp, newval); }
710c9710b42Smrg		], [], fc_cv_have_solaris_atomic_ops=true
711c9710b42Smrg	)
712c9710b42Smrg])
713c9710b42Smrgif $fc_cv_have_solaris_atomic_ops; then
714c9710b42Smrg	AC_DEFINE(HAVE_SOLARIS_ATOMIC_OPS, 1, [Have Solaris __machine_*_barrier and atomic_* operations])
715c9710b42Smrgfi
716c9710b42Smrg
717c9710b42Smrgif test "$os_win32" = no && ! $have_pthread; then
718c9710b42Smrg	AC_CHECK_HEADERS(sched.h)
719c9710b42Smrg	AC_SEARCH_LIBS(sched_yield,rt,AC_DEFINE(HAVE_SCHED_YIELD, 1, [Have sched_yield]))
720c9710b42Smrgfi
721c9710b42Smrg
722c9710b42Smrghave_pthread=false
723c9710b42Smrgif test "$os_win32" = no; then
724c9710b42Smrg	AX_PTHREAD([have_pthread=true])
725c9710b42Smrgfi
726c9710b42Smrgif $have_pthread; then
727c9710b42Smrg	LIBS="$PTHREAD_LIBS $LIBS"
728c9710b42Smrg	CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
729c9710b42Smrg	CC="$PTHREAD_CC"
730c9710b42Smrg	AC_DEFINE(HAVE_PTHREAD, 1, [Have POSIX threads])
731c9710b42Smrgfi
732c9710b42SmrgAM_CONDITIONAL(HAVE_PTHREAD, $have_pthread)
733c9710b42Smrg
734c9710b42Smrg
735c9710b42Smrgdnl ===========================================================================
736c9710b42Smrg
737ca08ab68Smrg#
738ca08ab68Smrg# Let people not build/install docs if they don't have docbook
739ca08ab68Smrg#
740ca08ab68Smrg
741ca08ab68SmrgAC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
742ca08ab68Smrg
743ca08ab68SmrgAM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)
744ca08ab68Smrg
745ca08ab68Smrgdefault_docs="yes"
746ca08ab68Smrg#
747ca08ab68Smrg# Check if docs exist or can be created
748ca08ab68Smrg#
749ca08ab68Smrgif test x$HASDOCBOOK = xno; then
750ca08ab68Smrg	if test -f $srcdir/doc/fonts-conf.5; then
751ca08ab68Smrg		:
752ca08ab68Smrg	else
753ca08ab68Smrg		default_docs="no"
754ca08ab68Smrg	fi
755ca08ab68Smrgfi
756ca08ab68Smrg
757ca08ab68SmrgAC_ARG_ENABLE(docs,
758ca08ab68Smrg	[AC_HELP_STRING([--disable-docs],
759ca08ab68Smrg			[Don't build and install documentation])],
760ca08ab68Smrg	,
761ca08ab68Smrg	enable_docs=$default_docs)
762ca08ab68Smrg
763ca08ab68SmrgAM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes)
764ca08ab68Smrg
765ca08ab68Smrgif test "x$enable_docs" = xyes; then
766ca08ab68Smrg	tmp=funcs.$$
767ca08ab68Smrg	cat $srcdir/doc/*.fncs | awk '
768ca08ab68Smrg	/^@TITLE@/	{ if (!done) { printf ("%s\n", $2); done = 1; } }
769ca08ab68Smrg	/^@FUNC@/	{ if (!done) { printf ("%s\n", $2); done = 1; } }
770ca08ab68Smrg	/^@@/		{ done = 0; }' > $tmp
771ca08ab68Smrg	DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'`
772ca08ab68Smrg	echo DOCMAN3 $DOCMAN3
773ca08ab68Smrg	rm -f $tmp
774ca08ab68Smrgelse
775ca08ab68Smrg	DOCMAN3=""
776ca08ab68Smrgfi
777ca08ab68SmrgAC_SUBST(DOCMAN3)
778ca08ab68Smrg
779ca08ab68Smrg
780ca08ab68Smrgdnl Figure out what cache format suffix to use for this architecture
781ca08ab68SmrgAC_C_BIGENDIAN
782ca08ab68SmrgAC_CHECK_SIZEOF([void *])
783ca08ab68SmrgAC_CHECK_ALIGNOF([double])
784953daebaSmrgAC_CHECK_ALIGNOF([void *])
785ca08ab68Smrg
786ca08ab68Smrgdnl include the header file for workaround of miscalculating size on autoconf
787ca08ab68Smrgdnl particularly for fat binaries
788ca08ab68SmrgAH_BOTTOM([#include "config-fixups.h"])
789ca08ab68Smrg
7906fc018e4Smrgdnl
7916fc018e4Smrgdnl
7926fc018e4SmrgAC_SUBST(PKGCONFIG_REQUIRES)
7936fc018e4SmrgAC_SUBST(PKGCONFIG_REQUIRES_PRIVATELY)
7946fc018e4Smrg
7956fc018e4Smrgdnl
796c9710b42SmrgAC_CONFIG_FILES([
797ca08ab68SmrgMakefile
798ca08ab68Smrgfontconfig/Makefile
799ca08ab68Smrgfc-lang/Makefile
800ca08ab68Smrgfc-case/Makefile
801ca08ab68Smrgsrc/Makefile
802ca08ab68Smrgconf.d/Makefile
803ca08ab68Smrgfc-cache/Makefile
804ca08ab68Smrgfc-cat/Makefile
805a32e9e42Smrgfc-conflist/Makefile
806ca08ab68Smrgfc-list/Makefile
807ca08ab68Smrgfc-match/Makefile
808ca08ab68Smrgfc-pattern/Makefile
809ca08ab68Smrgfc-query/Makefile
810ca08ab68Smrgfc-scan/Makefile
811c9710b42Smrgfc-validate/Makefile
812ca08ab68Smrgdoc/Makefile
813ca08ab68Smrgdoc/version.sgml
814a32e9e42Smrgits/Makefile
815a32e9e42Smrgpo/Makefile.in
816a32e9e42Smrgpo-conf/Makefile.in
817ca08ab68Smrgtest/Makefile
818ca08ab68Smrgfontconfig.spec
819ca08ab68Smrgfontconfig.pc
820ca08ab68Smrgfontconfig-zip
821ca08ab68Smrg])
822c9710b42SmrgAC_OUTPUT
823