]>
Commit | Line | Data |
---|---|---|
20fa60c9 KP |
1 | dnl |
2 | dnl $Id$ | |
3 | dnl | |
46b51147 | 4 | dnl Copyright © 2003 Keith Packard |
20fa60c9 KP |
5 | dnl |
6 | dnl Permission to use, copy, modify, distribute, and sell this software and its | |
7 | dnl documentation for any purpose is hereby granted without fee, provided that | |
8 | dnl the above copyright notice appear in all copies and that both that | |
9 | dnl copyright notice and this permission notice appear in supporting | |
10 | dnl documentation, and that the name of Keith Packard not be used in | |
11 | dnl advertising or publicity pertaining to distribution of the software without | |
12 | dnl specific, written prior permission. Keith Packard makes no | |
13 | dnl representations about the suitability of this software for any purpose. It | |
14 | dnl is provided "as is" without express or implied warranty. | |
15 | dnl | |
16 | dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, | |
17 | dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO | |
18 | dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR | |
19 | dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, | |
20 | dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | |
21 | dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | |
22 | dnl PERFORMANCE OF THIS SOFTWARE. | |
fb9545b1 | 23 | dnl |
20fa60c9 | 24 | dnl Process this file with autoconf to create configure. |
24330d27 | 25 | |
8fc10a72 KP |
26 | AC_INIT(fonts.dtd) |
27 | ||
20fa60c9 KP |
28 | dnl ========================================================================== |
29 | dnl Versioning | |
30 | dnl ========================================================================== | |
fa244f3d | 31 | |
ff3f1f98 KP |
32 | dnl This is the package version number, not the shared library |
33 | dnl version. This same version number must appear in fontconfig/fontconfig.h | |
34 | dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's | |
35 | dnl not possible to extract the version number here from fontconfig.h | |
d5346181 | 36 | AM_INIT_AUTOMAKE(fontconfig, 2.2.98) |
6ae6acf3 | 37 | AM_MAINTAINER_MODE |
24330d27 | 38 | |
20fa60c9 KP |
39 | dnl libtool versioning |
40 | ||
ff3f1f98 KP |
41 | LT_CURRENT=1 |
42 | LT_REVISION=4 | |
daeed6e0 TL |
43 | AC_SUBST(LT_CURRENT) |
44 | AC_SUBST(LT_REVISION) | |
ff3f1f98 KP |
45 | LT_AGE=0 |
46 | ||
47 | LT_VERSION_INFO="$LT_CURRENT:$LT_REVISION:$LT_AGE" | |
48 | AC_SUBST(LT_VERSION_INFO) | |
20fa60c9 | 49 | |
daeed6e0 TL |
50 | LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE` |
51 | AC_SUBST(LT_CURRENT_MINUS_AGE) | |
52 | ||
20fa60c9 KP |
53 | dnl ========================================================================== |
54 | ||
20fa60c9 | 55 | AM_CONFIG_HEADER(config.h) |
fb9545b1 | 56 | |
24330d27 | 57 | AC_PROG_CC |
24330d27 | 58 | AC_PROG_INSTALL |
24330d27 | 59 | AC_PROG_LN_S |
daeed6e0 | 60 | AC_LIBTOOL_WIN32_DLL |
20fa60c9 KP |
61 | AM_PROG_LIBTOOL |
62 | AC_PROG_MAKE_SET | |
63 | ||
daeed6e0 TL |
64 | dnl ========================================================================== |
65 | ||
66 | case "$host" in | |
67 | *-*-mingw*) | |
68 | os_win32=yes | |
69 | ;; | |
70 | *) | |
71 | os_win32=no | |
72 | esac | |
73 | AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") | |
74 | ||
75 | if test "$os_win32" = "yes"; then | |
76 | AC_CHECK_PROG(ms_librarian, lib.exe, yes, no) | |
77 | fi | |
78 | AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes) | |
79 | ||
6ae6acf3 KP |
80 | WARN_CFLAGS="" |
81 | ||
82 | if test "x$GCC" = "xyes"; then | |
83 | WARN_CFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes \ | |
84 | -Wmissing-prototypes -Wmissing-declarations \ | |
85 | -Wnested-externs -fno-strict-aliasing" | |
86 | fi | |
87 | AC_SUBST(WARN_CFLAGS) | |
88 | ||
daeed6e0 TL |
89 | dnl ========================================================================== |
90 | ||
fb9545b1 KP |
91 | # Checks for header files. |
92 | AC_HEADER_DIRENT | |
93 | AC_HEADER_STDC | |
4f27c1c0 | 94 | AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h iconv.h]) |
fb9545b1 KP |
95 | |
96 | # Checks for typedefs, structures, and compiler characteristics. | |
97 | AC_C_CONST | |
98 | AC_TYPE_PID_T | |
99 | ||
100 | # Checks for library functions. | |
fb9545b1 | 101 | AC_FUNC_VPRINTF |
4f27c1c0 | 102 | AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long iconv]) |
fb9545b1 | 103 | |
446bb9c9 | 104 | # |
20fa60c9 | 105 | # Checks for FreeType |
fb9545b1 | 106 | # |
24330d27 | 107 | |
3910f322 | 108 | AC_ARG_WITH(freetype-config, [ --with-freetype-config=PROG Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes) |
24330d27 | 109 | |
20fa60c9 KP |
110 | if test "$freetype_config" = "yes"; then |
111 | AC_PATH_PROG(ft_config,freetype-config,no) | |
112 | if test "$ft_config" = "no"; then | |
113 | AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/]) | |
114 | fi | |
115 | else | |
116 | ft_config="$freetype_config" | |
117 | fi | |
24330d27 | 118 | |
996580dc KP |
119 | FREETYPE_CFLAGS="`$ft_config --cflags`" |
120 | FREETYPE_LIBS="`$ft_config --libs`" | |
24330d27 | 121 | |
20fa60c9 KP |
122 | AC_SUBST(FREETYPE_LIBS) |
123 | AC_SUBST(FREETYPE_CFLAGS) | |
fb9545b1 | 124 | |
aefb2c41 | 125 | # |
79621aa5 KP |
126 | # Check to see whether we have: |
127 | # FT_Get_Next_Char | |
128 | # FT_Get_BDF_Property | |
129 | # FT_Get_PS_Font_Info | |
656c69d6 | 130 | # FT_Has_PS_Glyph_Names |
aefb2c41 KP |
131 | # |
132 | ||
4f38fa81 KP |
133 | fontconfig_save_libs="$LIBS" |
134 | fontconfig_save_cflags="$CFLAGS" | |
20fa60c9 | 135 | LIBS="$LIBS $FREETYPE_LIBS" |
4f38fa81 | 136 | CFLAGS="$CFLAGS $FREETYPE_CFLAGS" |
537e3d23 | 137 | 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) |
208a720f KP |
138 | AC_CHECK_MEMBER(FT_Bitmap_Size.y_ppem, |
139 | HAVE_FT_BITMAP_SIZE_Y_PPEM=1, | |
140 | HAVE_FT_BITMAP_SIZE_Y_PPEM=0, | |
4f38fa81 KP |
141 | [#include <ft2build.h> |
142 | #include FT_FREETYPE_H]) | |
4f38fa81 KP |
143 | AC_DEFINE_UNQUOTED(HAVE_FT_BITMAP_SIZE_Y_PPEM,$HAVE_FT_BITMAP_SIZE_Y_PPEM, |
144 | [FT_Bitmap_Size structure includes y_ppem field]) | |
6ae6acf3 KP |
145 | CFLAGS="$fontconfig_save_cflags" |
146 | LIBS="$fontconfig_save_libs" | |
fb9545b1 | 147 | |
fa244f3d KP |
148 | # |
149 | # Check expat configuration | |
150 | # | |
24330d27 | 151 | |
20fa60c9 | 152 | AC_ARG_WITH(expat, [ --with-expat=DIR Use Expat in DIR], expat=$withval, expat=yes) |
3910f322 KP |
153 | AC_ARG_WITH(expat-includes, [ --with-expat-includes=DIR Use Expat includes in DIR], expat_includes=$withval, expat_includes=yes) |
154 | AC_ARG_WITH(expat-lib, [ --with-expat-lib=DIR Use Expat library in DIR], expat_lib=$withval, expat_lib=yes) | |
20fa60c9 | 155 | |
fb9545b1 | 156 | case "$expat" in |
24330d27 | 157 | no) |
24330d27 | 158 | ;; |
fb9545b1 KP |
159 | *) |
160 | case "$expat_includes" in | |
161 | yes|no) | |
20fa60c9 | 162 | EXPAT_CFLAGS="" |
fb9545b1 KP |
163 | ;; |
164 | *) | |
20fa60c9 | 165 | EXPAT_CFLAGS="-I$expat_includes" |
fb9545b1 KP |
166 | ;; |
167 | esac | |
168 | case "$expat_lib" in | |
169 | yes) | |
170 | case "$expat" in | |
fa244f3d | 171 | yes) |
20fa60c9 | 172 | EXPAT_LIBS="-lexpat" |
fb9545b1 KP |
173 | ;; |
174 | *) | |
20fa60c9 | 175 | EXPAT_LIBS="-L$expat/lib -lexpat" |
fb9545b1 KP |
176 | ;; |
177 | esac | |
178 | ;; | |
24330d27 | 179 | no) |
24330d27 KP |
180 | ;; |
181 | *) | |
20fa60c9 | 182 | EXPAT_LIBS="-L$expat_lib -lexpat" |
fb9545b1 KP |
183 | ;; |
184 | esac | |
185 | ||
20fa60c9 KP |
186 | expatsaved_CPPFLAGS="$CPPFLAGS" |
187 | CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS" | |
188 | expatsaved_LIBS="$LIBS" | |
189 | LIBS="$LIBS $EXPAT_LIBS" | |
fb9545b1 KP |
190 | |
191 | AC_CHECK_HEADER(expat.h) | |
192 | case "$ac_cv_header_expat_h" in | |
193 | no) | |
194 | AC_CHECK_HEADER(xmlparse.h) | |
195 | case "$ac_cv_header_xmlparse_h" in | |
196 | no) | |
197 | have_expat_header=no; | |
198 | ;; | |
199 | yes) | |
200 | HAVE_XMLPARSE_H=1 | |
201 | AC_SUBST(HAVE_XMLPARSE_H) | |
20fa60c9 KP |
202 | AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H, |
203 | [Use xmlparse.h instead of expat.h]) | |
fb9545b1 KP |
204 | have_expat_header=yes |
205 | ;; | |
206 | esac | |
207 | ;; | |
208 | yes) | |
209 | have_expat_header=yes | |
210 | ;; | |
211 | esac | |
212 | case "$have_expat_header" in | |
213 | no) | |
fb9545b1 KP |
214 | expat=no |
215 | ;; | |
216 | yes) | |
700a4128 | 217 | AC_CHECK_FUNCS(XML_SetDoctypeDeclHandler) |
a6a66da0 | 218 | case "$ac_cv_func_XML_SetDoctypeDeclHandler" in |
fb9545b1 KP |
219 | yes) |
220 | HAVE_EXPAT=1 | |
221 | AC_SUBST(HAVE_EXPAT) | |
20fa60c9 KP |
222 | AC_DEFINE_UNQUOTED(HAVE_EXPAT,$HAVE_EXPAT, |
223 | [Found a useable expat library]) | |
fb9545b1 | 224 | ;; |
a6a66da0 NL |
225 | *) |
226 | expat=no | |
227 | ;; | |
fb9545b1 | 228 | esac |
24330d27 KP |
229 | ;; |
230 | esac | |
8eb4a52e NL |
231 | CPPFLAGS="$expatsaved_CPPFLAGS" |
232 | LIBS="$expatsaved_LIBS" | |
24330d27 KP |
233 | ;; |
234 | esac | |
20fa60c9 KP |
235 | AC_SUBST(EXPAT_LIBS) |
236 | AC_SUBST(EXPAT_CFLAGS) | |
fb9545b1 | 237 | |
fa244f3d KP |
238 | case "$expat" in |
239 | no) | |
700a4128 | 240 | AC_MSG_ERROR([Cannot find usable expat library. This could mean that your version is too old.]) |
fb9545b1 KP |
241 | ;; |
242 | esac | |
24330d27 | 243 | |
20fa60c9 KP |
244 | # |
245 | # Set default font directory | |
246 | # | |
247 | ||
3910f322 | 248 | AC_ARG_WITH(default-fonts, [ --with-default-fonts=DIR Use fonts from DIR when config is busted], default_fonts="$withval", default_fonts=yes) |
20fa60c9 KP |
249 | |
250 | case "$default_fonts" in | |
251 | yes) | |
ee1d8125 TL |
252 | if test "$os_win32" = "yes"; then |
253 | FC_DEFAULT_FONTS="WINDOWSFONTDIR" | |
254 | AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "WINDOWSFONTDIR", | |
255 | [Windows font directory]) | |
256 | else | |
257 | FC_DEFAULT_FONTS="/usr/share/fonts" | |
258 | AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts", | |
259 | [System font directory]) | |
260 | fi | |
20fa60c9 KP |
261 | ;; |
262 | *) | |
263 | FC_DEFAULT_FONTS="$default_fonts" | |
264 | AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts", | |
265 | [System font directory]) | |
266 | ;; | |
267 | esac | |
268 | ||
269 | AC_SUBST(FC_DEFAULT_FONTS) | |
270 | ||
271 | # | |
af82b48c KP |
272 | # Add more fonts if available. By default, add only the directories |
273 | # with outline fonts; those with bitmaps can be added as desired in | |
274 | # local.conf or ~/.fonts.conf | |
20fa60c9 | 275 | # |
3910f322 | 276 | AC_ARG_WITH(add-fonts, [ --with-add-fonts=DIR1,DIR2,...Find additional fonts in DIR1,DIR2,... ], add_fonts="$withval", add_fonts=yes) |
20fa60c9 | 277 | |
af82b48c | 278 | case "$add_fonts" in |
20fa60c9 | 279 | yes) |
af82b48c | 280 | FC_ADD_FONTS="" |
bf0093b7 | 281 | for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do |
af82b48c | 282 | case x"$FC_ADD_FONTS" in |
20fa60c9 | 283 | x) |
2d9c79c0 KP |
284 | sub="$dir/fonts" |
285 | if test -d "$sub"; then | |
286 | case x$FC_ADD_FONTS in | |
287 | x) | |
288 | FC_ADD_FONTS="$sub" | |
289 | ;; | |
290 | *) | |
291 | FC_ADD_FONTS="$FC_ADD_FONTS,$sub" | |
292 | ;; | |
293 | esac | |
20fa60c9 KP |
294 | fi |
295 | ;; | |
296 | esac | |
297 | done | |
af82b48c | 298 | AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) |
20fa60c9 KP |
299 | ;; |
300 | no) | |
af82b48c | 301 | FC_ADD_FONTS="" |
20fa60c9 KP |
302 | ;; |
303 | *) | |
af82b48c KP |
304 | FC_ADD_FONTS="$add_fonts" |
305 | AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories]) | |
20fa60c9 KP |
306 | ;; |
307 | esac | |
308 | ||
af82b48c | 309 | AC_SUBST(FC_ADD_FONTS) |
20fa60c9 KP |
310 | |
311 | FC_FONTPATH="" | |
312 | ||
af82b48c | 313 | case "$FC_ADD_FONTS" in |
20fa60c9 KP |
314 | "") |
315 | ;; | |
316 | *) | |
af82b48c KP |
317 | FC_FONTPATH=`echo $FC_ADD_FONTS | |
318 | sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'` | |
20fa60c9 KP |
319 | ;; |
320 | esac | |
321 | ||
322 | AC_SUBST(FC_FONTPATH) | |
323 | ||
4f27c1c0 | 324 | FC_FONTDATE=`LC_ALL=C date` |
20fa60c9 KP |
325 | |
326 | AC_SUBST(FC_FONTDATE) | |
327 | ||
328 | AC_ARG_WITH(confdir, [ --with-confdir=DIR Use DIR to store configuration files (default /etc/fonts)], confdir="$withval", confdir=yes) | |
329 | ||
330 | # | |
331 | # Set CONFDIR and FONTCONFIG_PATH | |
332 | # | |
333 | ||
334 | case "$confdir" in | |
335 | no|yes) | |
ad9b233c | 336 | confdir='${sysconfdir}'/fonts |
20fa60c9 KP |
337 | ;; |
338 | *) | |
339 | ;; | |
340 | esac | |
341 | AC_SUBST(confdir) | |
ad9b233c | 342 | CONFDIR=${confdir} |
20fa60c9 KP |
343 | AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR",[Font configuration directory]) |
344 | AC_SUBST(CONFDIR) | |
345 | ||
346 | # | |
347 | # Find out what language orthographies are included | |
348 | # | |
349 | ||
394b2bf0 | 350 | ORTH_FILES=`cd ${srcdir}/fc-lang && echo *.orth` |
20fa60c9 | 351 | AC_SUBST(ORTH_FILES) |
446bb9c9 | 352 | |
9238fc06 KP |
353 | # |
354 | # Let people not build/install docs if they don't have docbook | |
355 | # | |
356 | ||
357 | AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no) | |
358 | ||
2b45ef3a | 359 | AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes) |
9238fc06 | 360 | |
2b45ef3a KP |
361 | default_docs="yes" |
362 | # | |
363 | # Check if docs exist or can be created | |
364 | # | |
365 | if test x$HASDOCBOOK = xno; then | |
366 | if test -f doc/fonts-conf.5; then | |
367 | : | |
368 | else | |
369 | default_docs="no" | |
370 | fi | |
9238fc06 KP |
371 | fi |
372 | ||
2b45ef3a KP |
373 | AC_ARG_ENABLE(docs, [ --disable-docs Don't build and install documentation],,enable_docs=$default_docs) |
374 | ||
9238fc06 KP |
375 | AM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes) |
376 | ||
2b45ef3a KP |
377 | if test "x$enable_docs" = xyes; then |
378 | DOCSRC="doc" | |
4cbc3ee8 KP |
379 | tmp=funcs.$$ |
380 | cat $srcdir/doc/*.fncs | awk ' | |
381 | /^@TITLE@/ { if (!done) { printf ("%s\n", $2); done = 1; } } | |
382 | /^@FUNC@/ { if (!done) { printf ("%s\n", $2); done = 1; } } | |
383 | /^@@/ { done = 0; }' > $tmp | |
384 | DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'` | |
385 | echo DOCMAN3 $DOCMAN3 | |
386 | rm -f $tmp | |
2b45ef3a KP |
387 | else |
388 | DOCSRC="" | |
4cbc3ee8 | 389 | DOCMAN3="" |
2b45ef3a KP |
390 | fi |
391 | ||
392 | AC_SUBST(DOCSRC) | |
4cbc3ee8 | 393 | AC_SUBST(DOCMAN3) |
2b45ef3a | 394 | |
0da305f7 KP |
395 | # |
396 | # Figure out where to install documentation | |
397 | # | |
398 | ||
af82b48c | 399 | AC_ARG_WITH(docdir, [ --with-docdir=DIR Use DIR to store documentation files (default ${datadir}/doc/fontconfig)], confdir="$withval") |
0da305f7 KP |
400 | |
401 | if test "x$with_docdir" = "x" ; then | |
402 | DOCDIR='${datadir}/doc/fontconfig' | |
403 | else | |
404 | DOCDIR=$with_docdir | |
405 | fi | |
406 | ||
407 | AC_SUBST(DOCDIR) | |
408 | ||
20fa60c9 KP |
409 | AC_OUTPUT([ |
410 | Makefile | |
411 | fontconfig/Makefile | |
412 | fc-lang/Makefile | |
7769c321 | 413 | fc-glyphname/Makefile |
192296d8 | 414 | fc-case/Makefile |
20fa60c9 | 415 | src/Makefile |
daeed6e0 | 416 | src/fontconfig.def |
20fa60c9 KP |
417 | fc-cache/Makefile |
418 | fc-list/Makefile | |
440e7054 | 419 | fc-match/Makefile |
0da305f7 | 420 | doc/Makefile |
fddb839b | 421 | doc/version.sgml |
44d90378 | 422 | test/Makefile |
20fa60c9 KP |
423 | fontconfig.spec |
424 | fontconfig.pc | |
425 | fonts.conf | |
daeed6e0 | 426 | fontconfig-zip |
20fa60c9 | 427 | ]) |