configure.ac 16.3 KB
Newer Older
Keith Packard's avatar
Keith Packard committed
1
dnl 
Behdad Esfahbod's avatar
Behdad Esfahbod committed
2
dnl  fontconfig/configure.in
Keith Packard's avatar
Keith Packard committed
3
dnl 
4
dnl  Copyright © 2003 Keith Packard
Keith Packard's avatar
Keith Packard committed
5
6
7
8
9
dnl 
dnl  Permission to use, copy, modify, distribute, and sell this software and its
dnl  documentation for any purpose is hereby granted without fee, provided that
dnl  the above copyright notice appear in all copies and that both that
dnl  copyright notice and this permission notice appear in supporting
10
dnl  documentation, and that the name of the author(s) not be used in
Keith Packard's avatar
Keith Packard committed
11
dnl  advertising or publicity pertaining to distribution of the software without
12
dnl  specific, written prior permission.  The authors make no
Keith Packard's avatar
Keith Packard committed
13
14
15
dnl  representations about the suitability of this software for any purpose.  It
dnl  is provided "as is" without express or implied warranty.
dnl 
16
dnl  THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
Keith Packard's avatar
Keith Packard committed
17
dnl  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18
dnl  EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
Keith Packard's avatar
Keith Packard committed
19
20
21
22
dnl  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
dnl  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
dnl  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
dnl  PERFORMANCE OF THIS SOFTWARE.
23
dnl
Keith Packard's avatar
Keith Packard committed
24
dnl Process this file with autoconf to create configure.
Keith Packard's avatar
Keith Packard committed
25

26
AC_PREREQ(2.61)
27
28
AC_INIT(fonts.dtd)

Keith Packard's avatar
Keith Packard committed
29
30
31
dnl ==========================================================================
dnl                               Versioning              
dnl ==========================================================================
32

33
34
35
36
dnl This is the package version number, not the shared library
dnl version.  This same version number must appear in fontconfig/fontconfig.h
dnl Yes, it is a pain to synchronize version numbers.  Unfortunately, it's
dnl not possible to extract the version number here from fontconfig.h
Akira TAGOH's avatar
Akira TAGOH committed
37
AM_INIT_AUTOMAKE(fontconfig, 2.10)
Behdad Esfahbod's avatar
Behdad Esfahbod committed
38
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
Keith Packard's avatar
Keith Packard committed
39

Keith Packard's avatar
Keith Packard committed
40
41
dnl libtool versioning

42
43
44
dnl bump revision when fixing bugs
dnl bump current and age, reset revision to zero when adding APIs
dnl bump current, leave age, reset revision to zero when changing/removing APIS
Akira TAGOH's avatar
Akira TAGOH committed
45
LIBT_CURRENT=7
Akira TAGOH's avatar
Akira TAGOH committed
46
LIBT_REVISION=2
47
48
AC_SUBST(LIBT_CURRENT)
AC_SUBST(LIBT_REVISION)
Akira TAGOH's avatar
Akira TAGOH committed
49
LIBT_AGE=6
50

51
52
LIBT_VERSION_INFO="$LIBT_CURRENT:$LIBT_REVISION:$LIBT_AGE"
AC_SUBST(LIBT_VERSION_INFO)
Keith Packard's avatar
Keith Packard committed
53

54
55
LIBT_CURRENT_MINUS_AGE=`expr $LIBT_CURRENT - $LIBT_AGE`
AC_SUBST(LIBT_CURRENT_MINUS_AGE)
Tor Lillqvist's avatar
Tor Lillqvist committed
56

Keith Packard's avatar
Keith Packard committed
57
58
dnl ==========================================================================

59
AC_CONFIG_HEADERS(config.h)
60

Keith Packard's avatar
Keith Packard committed
61
62
63
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
Tor Lillqvist's avatar
Tor Lillqvist committed
64
AC_LIBTOOL_WIN32_DLL
Keith Packard's avatar
Keith Packard committed
65
66
AM_PROG_LIBTOOL
AC_PROG_MAKE_SET
Akira TAGOH's avatar
Akira TAGOH committed
67
PKG_PROG_PKG_CONFIG
Keith Packard's avatar
Keith Packard committed
68

69
70
71
72
73
74
75
76
77
AC_MSG_CHECKING([for RM macro])
_predefined_rm=`make -p -f /dev/null 2>/dev/null|grep '^RM ='|sed -e 's/^RM = //'`
if test "x$_predefined_rm" = "x"; then
	AC_MSG_RESULT([no predefined RM])
	AC_CHECK_PROG(RM, rm, [rm -f])
else
	AC_MSG_RESULT($_predefined_rm)
fi

Tor Lillqvist's avatar
Tor Lillqvist committed
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
dnl ==========================================================================

case "$host" in
  *-*-mingw*)
    os_win32=yes
    ;;
  *)
    os_win32=no
esac
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")

if test "$os_win32" = "yes"; then
  AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)

94
95
96
97
98
WARN_CFLAGS=""
if test "x$GCC" = "xyes"; then
	WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \
	-Wmissing-prototypes -Wmissing-declarations \
	-Wnested-externs -fno-strict-aliasing"
99
100
	AC_DEFINE_UNQUOTED(HAVE_WARNING_CPP_DIRECTIVE,1,
	[Can use #warning in C files])
101
102
103
fi
AC_SUBST(WARN_CFLAGS)

104

Tor Lillqvist's avatar
Tor Lillqvist committed
105
106
dnl ==========================================================================

107
AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
108
AM_CONDITIONAL(ENABLE_SHARED, test "$enable_shared" = "yes")
109
110
111

dnl ==========================================================================

112
113
114
115
AC_ARG_WITH(arch,
	[AC_HELP_STRING([--with-arch=ARCH],
			[Force architecture to ARCH])],
	arch="$withval", arch=auto)
116

117
118
if test "x$arch" != xauto; then
	AC_DEFINE_UNQUOTED([FC_ARCHITECTURE], "$arch", [Architecture prefix to use for cache file names])
119
120
121
122
123
fi


dnl ==========================================================================

124
125
126
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
127
AC_CHECK_HEADERS([fcntl.h regex.h stdlib.h string.h unistd.h sys/vfs.h sys/statfs.h sys/param.h sys/mount.h])
128
129
130

# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
131
AC_C_INLINE
132
AC_C_FLEXIBLE_ARRAY_MEMBER
133
134
135
136
AC_TYPE_PID_T

# Checks for library functions.
AC_FUNC_VPRINTF
Patrick Lam's avatar
Patrick Lam committed
137
AC_FUNC_MMAP
138
AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long sysconf ftruncate chsize rand random lrand48 random_r rand_r regcomp regerror regexec regfree posix_fadvise fstatvfs fstatfs])
139

140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#
if test "x$ac_cv_func_fstatvfs" = "xyes"; then
	AC_CHECK_MEMBERS([struct statvfs.f_basetype, struct statvfs.f_fstypename],,,
		[#include <sys/statvfs.h>])
fi
if test "x$ac_cv_func_fstatfs" = "xyes"; then
	AC_CHECK_MEMBERS([struct statfs.f_flags, struct statfs.f_fstypename],,, [
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#endif
#ifdef HAVE_SYS_STATFS_H
#include <sys/statfs.h>
#endif
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif])
fi
Akira TAGOH's avatar
Akira TAGOH committed
160
161
AC_CHECK_MEMBERS([struct dirent.d_type],,,
	[#include <dirent.h>])
162
163
164
165
#
# regex
#
if test "x$ac_cv_func_regcomp" = "xyes" -a "x$ac_cv_func_regerror" = "xyes" -a "x$ac_cv_func_regexec" = "xyes" -a "x$ac_cv_func_regfree"; then
166
	AC_DEFINE(USE_REGEX,,[Use regex])
167
168
fi

169
170
171
#
# Checks for iconv
#
172
173
AC_ARG_ENABLE(iconv,
	[AC_HELP_STRING([--enable-iconv],
Akira TAGOH's avatar
Akira TAGOH committed
174
175
			[Use iconv to support non-Unicode SFNT name])],
	,enable_iconv=no)
176
177
178
AC_ARG_WITH(libiconv,
	[AC_HELP_STRING([--with-libiconv=DIR],
			[Use libiconv in DIR])],
179
180
181
182
183
	[if test "x$withval" = "xyes"; then
		libiconv_prefix=$prefix
	 else
		libiconv_prefix=$withval
	 fi],
184
185
186
187
188
189
190
191
192
193
194
195
	[libiconv_prefix=auto])
AC_ARG_WITH(libiconv-includes,
	[AC_HELP_STRING([--with-libiconv-includes=DIR],
			[Use libiconv includes in DIR])],
	[libiconv_includes=$withval],
	[libiconv_includes=auto])
AC_ARG_WITH(libiconv-lib,
	[AC_HELP_STRING([--with-libiconv-lib=DIR],
			[Use libiconv library in DIR])],
	[libiconv_lib=$withval],
	[libiconv_lib=auto])

196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# if no libiconv,libiconv-includes,libiconv-lib are specified,
# libc's iconv has a priority.
if test "$libiconv_includes" != "auto" -a -r ${libiconv_includes}/iconv.h; then
	libiconv_cflags="-I${libiconv_includes}"
elif test "$libiconv_prefix" != "auto" -a -r ${libiconv_prefix}/include/iconv.h; then
	libiconv_cflags="-I${libiconv_prefix}/include"
else
	libiconv_cflags=""
fi
libiconv_libs=""
if test "x$libiconv_cflags" != "x"; then
	if test "$libiconv_lib" != "auto" -a -d ${libiconv_lib}; then
		libiconv_libs="-L${libiconv_lib} -liconv"
	elif test "$libiconv_prefix" != "auto" -a -d ${libiconv_prefix}/lib; then
		libiconv_libs="-L${libiconv_prefix}/lib -liconv"
211
	else
212
		libiconv_libs="-liconv"
213
214
	fi
fi
215

216
use_iconv=0
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
if test "x$enable_iconv" != "xno"; then
	AC_MSG_CHECKING([for a usable iconv])
	if test "x$libiconv_cflags" != "x" -o "x$libiconv_libs" != "x"; then
		iconvsaved_CFLAGS="$CFLAGS"
		iconvsaved_LIBS="$LIBS"
		CFLAGS="$CFLAGS $libiconv_cflags"
		LIBS="$LIBS $libiconv_libs"

		AC_TRY_LINK([#include <iconv.h>],
			[iconv_open ("from", "to");],
			[iconv_type="libiconv"
			 use_iconv=1],
			[use_iconv=0])

		CFLAGS="$iconvsaved_CFLAGS"
		LIBS="$iconvsaved_LIBS"
		ICONV_CFLAGS="$libiconv_cflags"
		ICONV_LIBS="$libiconv_libs"
	fi
	if test "x$use_iconv" = "x0"; then
		AC_TRY_LINK([#include <iconv.h>],
			[iconv_open ("from", "to");],
			[iconv_type="libc"
			 use_iconv=1],
			[iconv_type="not found"
			 use_iconv=0])
	fi
244

245
246
247
248
	AC_MSG_RESULT([$iconv_type])
	AC_SUBST(ICONV_CFLAGS)
	AC_SUBST(ICONV_LIBS)
fi
249
AC_DEFINE_UNQUOTED(USE_ICONV,$use_iconv,[Use iconv.])
250
#
Keith Packard's avatar
Keith Packard committed
251
# Checks for FreeType
252
#
Akira TAGOH's avatar
Akira TAGOH committed
253
PKG_CHECK_MODULES(FREETYPE, freetype2)
Keith Packard's avatar
Keith Packard committed
254

Keith Packard's avatar
Keith Packard committed
255
256
AC_SUBST(FREETYPE_LIBS)
AC_SUBST(FREETYPE_CFLAGS)
257

258
259
fontconfig_save_libs="$LIBS"
fontconfig_save_cflags="$CFLAGS"
Keith Packard's avatar
Keith Packard committed
260
LIBS="$LIBS $FREETYPE_LIBS"
261
CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
262
AC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names FT_Get_X11_Font_Format FT_Select_Size)
263
264
265
AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem,
		HAVE_FT_BITMAP_SIZE_Y_PPEM=1,
		HAVE_FT_BITMAP_SIZE_Y_PPEM=0,
266
267
268
269
[#include <ft2build.h>
#include FT_FREETYPE_H])
AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM,
		   [FT_Bitmap_Size structure includes y_ppem field])
270
271
CFLAGS="$fontconfig_save_cflags"
LIBS="$fontconfig_save_libs"
272

273
274
275
#
# Check expat configuration
#
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
AC_ARG_WITH(expat,
	[AC_HELP_STRING([--with-expat=DIR],
			[Use Expat in DIR])],
	[expat_prefix=$withval],
	[expat_prefix=auto])
AC_ARG_WITH(expat-includes,
	[AC_HELP_STRING([--with-expat-includes=DIR],
			[Use Expat includes in DIR])],
	[expat_includes=$withval],
	[expat_includes=auto])
AC_ARG_WITH(expat-lib,
	[AC_HELP_STRING([--with-expat-lib=DIR])],
	[expat_lib=$withval],
	[expat_lib=auto])

291
if test "$enable_libxml2" != "yes"; then
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
	use_pkgconfig_for_expat=yes
	if test "$expat_prefix" = "auto" -a "$expat_includes" = "auto" -a "$expat_lib" = "auto"; then
		PKG_CHECK_MODULES(EXPAT, expat,,use_pkgconfig_for_expat=no)
	else
		use_pkgconfig_for_expat=no
	fi
	if test "x$use_pkgconfig_for_expat" = "xno"; then
		if test "$expat_includes" != "auto" -a -r ${expat_includes}/expat.h; then
			EXPAT_CFLAGS="-I${expat_includes}"
		elif test "$expat_prefix" != "auto" -a -r ${expat_prefix}/include/expat.h; then
			EXPAT_CFLAGS="-I${expat_prefix}/include"
		else
			EXPAT_CFLAGS=""
		fi
		if test "$expat_lib" != "auto"; then
			EXPAT_LIBS="-L${expat_lib} -lexpat"
		elif test "$expat_prefix" != "auto"; then
			EXPAT_LIBS="-L${expat_prefix}/lib -lexpat"
		else
			EXPAT_LIBS="-lexpat"
		fi
	fi

Akira TAGOH's avatar
Akira TAGOH committed
315
316
317
318
319
320
321
322
323
324
325
326
	expatsaved_CPPFLAGS="$CPPFLAGS"
	expatsaved_LIBS="$LIBS"
	CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS"
	LIBS="$LIBS $EXPAT_LIBS"

	AC_CHECK_HEADER(expat.h)
	if test "$ac_cv_header_expat_h" = "no"; then
		AC_CHECK_HEADER(xmlparse.h)
		if test "$ac_cv_header_xmlparse_h" = "yes"; then
			HAVE_XMLPARSE_H=1
			AC_SUBST(HAVE_XMLPARSE_H)
			AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H,
327
				[Use xmlparse.h instead of expat.h])
Akira TAGOH's avatar
Akira TAGOH committed
328
329
330
331
332
333
334
335
336
337
338
339
340
		else
			AC_MSG_ERROR([
*** expat is required. or try to use --enable-libxml2])
		fi
	fi
	AC_CHECK_FUNCS(XML_SetDoctypeDeclHandler)
	if test "$ac_cv_func_XML_SetDoctypeDeclHandler" = "no"; then
		AC_MSG_ERROR([
*** expat is required. or try to use --enable-libxml2])
	fi
	CPPFLAGS="$expatsaved_CPPFLAGS"
	LIBS="$expatsaved_LIBS"

341
342
343
344
345
346
347
	AC_SUBST(EXPAT_CFLAGS)
	AC_SUBST(EXPAT_LIBS)
fi

#
# Check libxml2 configuration
#
348
349
350
AC_ARG_ENABLE(libxml2,
	[AC_HELP_STRING([--enable-libxml2],
			[Use libxml2 instead of Expat])])
351

Akira TAGOH's avatar
Akira TAGOH committed
352
if test "$enable_libxml2" = "yes"; then
353
354
355
356
357
    PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6])
    AC_DEFINE_UNQUOTED(ENABLE_LIBXML2,1,[Use libxml2 instead of Expat])

    AC_SUBST(LIBXML2_CFLAGS)
    AC_SUBST(LIBXML2_LIBS)
358
359
360
361
362
363
364
365
366
367
368
369

    fc_saved_CFLAGS="$CFLAGS"
    CFLAGS="$CFLAGS $LIBXML2_CFLAGS"
    AC_MSG_CHECKING([SAX1 support in libxml2])
    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
	#include <libxml/xmlversion.h>
	#if !defined(LIBXML_SAX1_ENABLED)
	#  include "error: No SAX1 support in libxml2"
	#endif
	]])], [AC_MSG_RESULT([found])], [AC_MSG_ERROR([
*** SAX1 support in libxml2 is required. enable it or use expat instead.])])
    CFLAGS="$fc_saved_CFLAGS"
370
fi
Keith Packard's avatar
Keith Packard committed
371

Keith Packard's avatar
Keith Packard committed
372
373
374
375
#
# Set default font directory
#

376
377
378
379
AC_ARG_WITH(default-fonts,
	[AC_HELP_STRING([--with-default-fonts=DIR],
			[Use fonts from DIR when config is busted])],
	default_fonts="$withval", default_fonts=yes)
Keith Packard's avatar
Keith Packard committed
380
381
382

case "$default_fonts" in
yes)
383
384
385
386
387
388
389
390
391
	if test "$os_win32" = "yes"; then
		FC_DEFAULT_FONTS="WINDOWSFONTDIR"
		AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "WINDOWSFONTDIR", 
				   [Windows font directory])
	else
		FC_DEFAULT_FONTS="/usr/share/fonts"
		AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts", 
				   [System font directory])
	fi
Keith Packard's avatar
Keith Packard committed
392
393
394
395
396
397
398
399
400
401
402
	;;
*)
	FC_DEFAULT_FONTS="$default_fonts"
	AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts",
			   [System font directory])
	;;
esac

AC_SUBST(FC_DEFAULT_FONTS)

#
403
404
405
# Add more fonts if available.  By default, add only the directories
# with outline fonts; those with bitmaps can be added as desired in
# local.conf or ~/.fonts.conf
Keith Packard's avatar
Keith Packard committed
406
#
407
408
409
410
AC_ARG_WITH(add-fonts,
	[AC_HELP_STRING([--with-add-fonts=DIR1,DIR2,...],
			[Find additional fonts in DIR1,DIR2,... ])],
	add_fonts="$withval", add_fonts=yes)
Keith Packard's avatar
Keith Packard committed
411

412
case "$add_fonts" in
Keith Packard's avatar
Keith Packard committed
413
yes)
414
	FC_ADD_FONTS=""
415
	for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do
416
		case x"$FC_ADD_FONTS" in
Keith Packard's avatar
Keith Packard committed
417
		x)
418
419
420
421
422
423
424
425
426
427
			sub="$dir/fonts"
			if test -d "$sub"; then
				case x$FC_ADD_FONTS in
				x)
					FC_ADD_FONTS="$sub"
					;;
				*)
					FC_ADD_FONTS="$FC_ADD_FONTS,$sub"
					;;
				esac
Keith Packard's avatar
Keith Packard committed
428
429
430
431
			fi
			;;
		esac
	done
432
	AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
Keith Packard's avatar
Keith Packard committed
433
434
	;;
no)
435
	FC_ADD_FONTS=""
Keith Packard's avatar
Keith Packard committed
436
437
	;;
*)
438
439
	FC_ADD_FONTS="$add_fonts"
	AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
Keith Packard's avatar
Keith Packard committed
440
441
442
	;;
esac

443
AC_SUBST(FC_ADD_FONTS)
Keith Packard's avatar
Keith Packard committed
444
445
446

FC_FONTPATH=""

447
case "$FC_ADD_FONTS" in
Keith Packard's avatar
Keith Packard committed
448
449
450
"")
	;;
*)
451
452
	FC_FONTPATH=`echo $FC_ADD_FONTS | 
			sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'`
Keith Packard's avatar
Keith Packard committed
453
454
455
456
457
	;;
esac

AC_SUBST(FC_FONTPATH)

458
459
460
#
# Set default cache directory path
#
461
462
AC_ARG_WITH(cache-dir,
	[AC_HELP_STRING([--with-cache-dir=DIR],
463
			[Use DIR to store cache files [default=LOCALSTATEDIR/cache/fontconfig]])],
464
	fc_cachedir="$withval", fc_cachedir=yes)
465
466
467

case $fc_cachedir in
no|yes)
468
469
470
	if test "$os_win32" = "yes"; then
		fc_cachedir="WINDOWSTEMPDIR_FONTCONFIG_CACHE"
	else
471
		fc_cachedir='${localstatedir}/cache/${PACKAGE}'
472
	fi
473
474
475
476
477
478
479
480
	;;
*)
	;;
esac
AC_SUBST(fc_cachedir)
FC_CACHEDIR=${fc_cachedir}
AC_SUBST(FC_CACHEDIR)

481
FC_FONTDATE=`LC_ALL=C date`
Keith Packard's avatar
Keith Packard committed
482
483
484
485

AC_SUBST(FC_FONTDATE)

#
486
# Set configuration paths
Keith Packard's avatar
Keith Packard committed
487
488
#

489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
AC_ARG_WITH(templatedir,
	[AC_HELP_STRING([--with-templatedir=DIR],
			[Use DIR to store the configuration template files [default=DATADIR/fontconfig/conf.avail]])],
	[templatedir="$withval"],
	[templatedir=yes])
AC_ARG_WITH(baseconfigdir,
	[AC_HELP_STRING([--with-baseconfigdir=DIR],
			[Use DIR to store the base configuration files [default=SYSCONFDIR/fonts]])],
	[baseconfigdir="$withval"],
	[baseconfigdir=yes])
AC_ARG_WITH(configdir,
	[AC_HELP_STRING([--with-configdir=DIR],
			[Use DIR to store active configuration files [default=BASECONFIGDIR/conf.d]])],
	[configdir="$withval"],
	[configdir=yes])
AC_ARG_WITH(xmldir,
	[AC_HELP_STRING([--with-xmldir=DIR],
			[Use DIR to store XML schema files [default=DATADIR/xml/fontconfig]])],
	[xmldir="$withval"],
	[xmldir=yes])

case "$templatedir" in
Keith Packard's avatar
Keith Packard committed
511
no|yes)
512
	templatedir='${datadir}'/fontconfig/conf.avail
Keith Packard's avatar
Keith Packard committed
513
514
515
516
	;;
*)
	;;
esac
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
case "$baseconfigdir" in
no|yes)
	baseconfigdir='${sysconfdir}'/fonts
	;;
*)
	;;
esac
case "$configdir" in
no|yes)
	configdir='${baseconfigdir}'/conf.d
	;;
*)
	;;
esac
case "$xmldir" in
no|yes)
	xmldir='${datadir}'/xml/fontconfig
	;;
*)
	;;
esac

TEMPLATEDIR=${templatedir}
BASECONFIGDIR=${baseconfigdir}
CONFIGDIR=${configdir}
XMLDIR=${xmldir}
AC_SUBST(templatedir)
AC_SUBST(TEMPLATEDIR)
AC_SUBST(baseconfigdir)
AC_SUBST(BASECONFIGDIR)
AC_SUBST(configdir)
AC_SUBST(CONFIGDIR)
AC_SUBST(xmldir)
AC_SUBST(XMLDIR)
Keith Packard's avatar
Keith Packard committed
551

Keith Packard's avatar
Keith Packard committed
552
553
554
555
556
557
#
# Let people not build/install docs if they don't have docbook
#

AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)

558
AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)
Keith Packard's avatar
Keith Packard committed
559

560
561
562
563
564
default_docs="yes"
#
# Check if docs exist or can be created
#
if test x$HASDOCBOOK = xno; then
565
	if test -f $srcdir/doc/fonts-conf.5; then
566
567
568
569
		:
	else
		default_docs="no"
	fi
Keith Packard's avatar
Keith Packard committed
570
571
fi

572
573
574
575
576
AC_ARG_ENABLE(docs,
	[AC_HELP_STRING([--disable-docs],
			[Don't build and install documentation])],
	,
	enable_docs=$default_docs)
577

Keith Packard's avatar
Keith Packard committed
578
579
AM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes)

580
581
if test "x$enable_docs" = xyes; then
	DOCSRC="doc"
582
583
584
585
586
587
588
589
	tmp=funcs.$$
	cat $srcdir/doc/*.fncs | awk '
	/^@TITLE@/	{ if (!done) { printf ("%s\n", $2); done = 1; } }
	/^@FUNC@/	{ if (!done) { printf ("%s\n", $2); done = 1; } }
	/^@@/		{ done = 0; }' > $tmp
	DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'`
	echo DOCMAN3 $DOCMAN3
	rm -f $tmp
590
591
else
	DOCSRC=""
592
	DOCMAN3=""
593
594
595
fi

AC_SUBST(DOCSRC)
596
AC_SUBST(DOCMAN3)
597

598
599
600
601
602
603

dnl Figure out what cache format suffix to use for this architecture
AC_C_BIGENDIAN
AC_CHECK_SIZEOF([void *])
AC_CHECK_ALIGNOF([double])

604
605
606
dnl include the header file for workaround of miscalculating size on autoconf
dnl particularly for fat binaries
AH_BOTTOM([#include "config-fixups.h"])
607

Keith Packard's avatar
Keith Packard committed
608
AC_OUTPUT([
609
Makefile
Keith Packard's avatar
Keith Packard committed
610
611
fontconfig/Makefile
fc-lang/Makefile
612
fc-glyphname/Makefile
613
fc-case/Makefile
Keith Packard's avatar
Keith Packard committed
614
src/Makefile
615
conf.d/Makefile
Keith Packard's avatar
Keith Packard committed
616
fc-cache/Makefile
617
fc-cat/Makefile
Keith Packard's avatar
Keith Packard committed
618
fc-list/Makefile
619
fc-match/Makefile
Behdad Esfahbod's avatar
Behdad Esfahbod committed
620
fc-pattern/Makefile
Behdad Esfahbod's avatar
Behdad Esfahbod committed
621
fc-query/Makefile
622
fc-scan/Makefile
623
doc/Makefile
624
doc/version.sgml
Keith Packard's avatar
Keith Packard committed
625
test/Makefile
Keith Packard's avatar
Keith Packard committed
626
627
fontconfig.spec
fontconfig.pc
Tor Lillqvist's avatar
Tor Lillqvist committed
628
fontconfig-zip
Keith Packard's avatar
Keith Packard committed
629
])