]> git.wh0rd.org Git - fontconfig.git/blob - configure.in
Update to version 2.2.92
[fontconfig.git] / configure.in
1 dnl 
2 dnl  $Id$
3 dnl 
4 dnl  Copyright © 2003 Keith Packard
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.
23 dnl
24 dnl Process this file with autoconf to create configure.
25
26 AC_INIT(fonts.dtd)
27
28 dnl ==========================================================================
29 dnl                               Versioning              
30 dnl ==========================================================================
31
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
36 AM_INIT_AUTOMAKE(fontconfig, 2.2.92)
37
38 dnl libtool versioning
39
40 LT_CURRENT=1
41 LT_REVISION=4
42 AC_SUBST(LT_CURRENT)
43 AC_SUBST(LT_REVISION)
44 LT_AGE=0
45
46 LT_VERSION_INFO="$LT_CURRENT:$LT_REVISION:$LT_AGE"
47 AC_SUBST(LT_VERSION_INFO)
48
49 LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
50 AC_SUBST(LT_CURRENT_MINUS_AGE)
51
52 dnl ==========================================================================
53
54 AM_CONFIG_HEADER(config.h)
55
56 AC_PROG_CC
57 AC_PROG_INSTALL
58 AC_PROG_LN_S
59 AC_LIBTOOL_WIN32_DLL
60 AM_PROG_LIBTOOL
61 AC_PROG_MAKE_SET
62
63 dnl ==========================================================================
64
65 case "$host" in
66   *-*-mingw*)
67     os_win32=yes
68     ;;
69   *)
70     os_win32=no
71 esac
72 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
73
74 if test "$os_win32" = "yes"; then
75   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
76 fi
77 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
78
79 dnl ==========================================================================
80
81 # Checks for header files.
82 AC_HEADER_DIRENT
83 AC_HEADER_STDC
84 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
85
86 # Checks for typedefs, structures, and compiler characteristics.
87 AC_C_CONST
88 AC_TYPE_PID_T
89
90 # Checks for library functions.
91 AC_FUNC_VPRINTF
92 AC_CHECK_FUNCS([geteuid getuid link memmove memset mkstemp strchr strrchr strtol getopt getopt_long])
93
94 #
95 # Checks for FreeType
96 #
97
98 AC_ARG_WITH(freetype-config, [  --with-freetype-config=PROG   Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes)
99
100 if test "$freetype_config" = "yes"; then 
101         AC_PATH_PROG(ft_config,freetype-config,no)
102         if test "$ft_config" = "no"; then
103                 AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/])
104         fi
105 else
106         ft_config="$freetype_config"
107 fi
108
109 FREETYPE_CFLAGS="`$ft_config --cflags`"
110 FREETYPE_LIBS="`$ft_config --libs`"
111
112 AC_SUBST(FREETYPE_LIBS)
113 AC_SUBST(FREETYPE_CFLAGS)
114
115 #
116 # Check to see whether we have:
117 #  FT_Get_Next_Char
118 #  FT_Get_BDF_Property
119 #  FT_Get_PS_Font_Info
120 #  FT_Has_PS_Glyph_Names
121 #
122
123 fontconfig_save_libs=$LIBS
124 LIBS="$LIBS $FREETYPE_LIBS"
125 AC_CHECK_FUNCS(FT_Get_Next_Char FT_Get_BDF_Property FT_Get_PS_Font_Info FT_Has_PS_Glyph_Names)
126 LIBS=$fontconfig_save_libs
127
128 #
129 # Check expat configuration
130 #
131
132 AC_ARG_WITH(expat,             [  --with-expat=DIR              Use Expat in DIR], expat=$withval, expat=yes)
133 AC_ARG_WITH(expat-includes,    [  --with-expat-includes=DIR     Use Expat includes in DIR], expat_includes=$withval, expat_includes=yes)
134 AC_ARG_WITH(expat-lib,         [  --with-expat-lib=DIR          Use Expat library in DIR], expat_lib=$withval, expat_lib=yes)
135
136 case "$expat" in
137 no)
138         ;;
139 *)
140         case "$expat_includes" in
141         yes|no)
142                 EXPAT_CFLAGS=""
143                 ;;
144         *)
145                 EXPAT_CFLAGS="-I$expat_includes"
146                 ;;
147         esac
148         case "$expat_lib" in
149         yes)
150                 case "$expat" in
151                 yes)
152                         EXPAT_LIBS="-lexpat"
153                         ;;
154                 *)
155                         EXPAT_LIBS="-L$expat/lib -lexpat"
156                         ;;
157                 esac
158                 ;;
159         no)
160                 ;;
161         *)
162                 EXPAT_LIBS="-L$expat_lib -lexpat"
163                 ;;
164         esac
165
166         expatsaved_CPPFLAGS="$CPPFLAGS"
167         CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS"
168         expatsaved_LIBS="$LIBS"
169         LIBS="$LIBS $EXPAT_LIBS"
170
171         AC_CHECK_HEADER(expat.h)
172         case "$ac_cv_header_expat_h" in
173         no)
174                 AC_CHECK_HEADER(xmlparse.h)
175                 case "$ac_cv_header_xmlparse_h" in
176                 no)
177                         have_expat_header=no;
178                         ;;
179                 yes)
180                         HAVE_XMLPARSE_H=1
181                         AC_SUBST(HAVE_XMLPARSE_H)
182                         AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H,
183                         [Use xmlparse.h instead of expat.h])
184                         have_expat_header=yes
185                         ;;
186                 esac
187                 ;;
188         yes)
189                 have_expat_header=yes
190                 ;;
191         esac
192         case "$have_expat_header" in
193         no)
194                 expat=no
195                 ;;
196         yes)
197                 AC_CHECK_FUNCS(XML_SetDoctypeDeclHandler)
198                 case "$ac_cv_func_XML_SetDoctypeDeclHandler" in
199                 yes)
200                         HAVE_EXPAT=1
201                         AC_SUBST(HAVE_EXPAT)
202                         AC_DEFINE_UNQUOTED(HAVE_EXPAT,$HAVE_EXPAT,
203                         [Found a useable expat library])
204                         ;;
205                 *)
206                         expat=no
207                         ;;
208                 esac
209                 ;;
210         esac
211         CPPFLAGS="$expatsaved_CPPFLAGS"
212         LIBS="$expatsaved_LIBS"
213         ;;
214 esac
215 AC_SUBST(EXPAT_LIBS)
216 AC_SUBST(EXPAT_CFLAGS)
217         
218 case "$expat" in
219 no)
220         AC_MSG_ERROR([Cannot find usable expat library. This could mean that your version is too old.])
221         ;;
222 esac
223
224 #
225 # Set default font directory
226 #
227
228 AC_ARG_WITH(default-fonts,     [  --with-default-fonts=DIR      Use fonts from DIR when config is busted], default_fonts="$withval", default_fonts=yes)
229
230 case "$default_fonts" in
231 yes)
232         if test "$os_win32" = "yes"; then
233                 FC_DEFAULT_FONTS="WINDOWSFONTDIR"
234                 AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "WINDOWSFONTDIR", 
235                                    [Windows font directory])
236         else
237                 FC_DEFAULT_FONTS="/usr/share/fonts"
238                 AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts", 
239                                    [System font directory])
240         fi
241         ;;
242 *)
243         FC_DEFAULT_FONTS="$default_fonts"
244         AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts",
245                            [System font directory])
246         ;;
247 esac
248
249 AC_SUBST(FC_DEFAULT_FONTS)
250
251 #
252 # Add more fonts if available.  By default, add only the directories
253 # with outline fonts; those with bitmaps can be added as desired in
254 # local.conf or ~/.fonts.conf
255 #
256 AC_ARG_WITH(add-fonts,        [  --with-add-fonts=DIR1,DIR2,...Find additional fonts in DIR1,DIR2,... ], add_fonts="$withval", add_fonts=yes)
257
258 case "$add_fonts" in
259 yes)
260         FC_ADD_FONTS=""
261         for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do
262                 case x"$FC_ADD_FONTS" in
263                 x)
264                         if test -d "$dir/fonts"; then
265                                 for sub in "$dir"/fonts/*; do
266                                         if ls "$sub" | grep -q -i '\.pf\|\.tt\|\.ot'; then
267                                                 case x$FC_ADD_FONTS in
268                                                 x)
269                                                         FC_ADD_FONTS="$sub"
270                                                         ;;
271                                                 *)
272                                                         FC_ADD_FONTS="$FC_ADD_FONTS,$sub"
273                                                         ;;
274                                                 esac
275                                         fi
276                                 done
277                         fi
278                         ;;
279                 esac
280         done
281         AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
282         ;;
283 no)
284         FC_ADD_FONTS=""
285         ;;
286 *)
287         FC_ADD_FONTS="$add_fonts"
288         AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
289         ;;
290 esac
291
292 AC_SUBST(FC_ADD_FONTS)
293
294 FC_FONTPATH=""
295
296 case "$FC_ADD_FONTS" in
297 "")
298         ;;
299 *)
300         FC_FONTPATH=`echo $FC_ADD_FONTS | 
301                         sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'`
302         ;;
303 esac
304
305 AC_SUBST(FC_FONTPATH)
306
307 FC_FONTDATE=`date`
308
309 AC_SUBST(FC_FONTDATE)
310
311 AC_ARG_WITH(confdir,           [  --with-confdir=DIR            Use DIR to store configuration files (default /etc/fonts)], confdir="$withval", confdir=yes)
312
313 #
314 # Set CONFDIR and FONTCONFIG_PATH
315 #
316
317 case "$confdir" in
318 no|yes)
319         confdir='${sysconfdir}'/fonts
320         ;;
321 *)
322         ;;
323 esac
324 AC_SUBST(confdir)
325 CONFDIR=${confdir}
326 AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR",[Font configuration directory])
327 AC_SUBST(CONFDIR)
328
329 #
330 # Find out what language orthographies are included
331 #
332
333 ORTH_FILES=`cd ${srcdir}/fc-lang && echo *.orth`
334 AC_SUBST(ORTH_FILES)
335
336 #
337 # Let people not build/install docs if they don't have docbook
338 #
339
340 AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
341
342 AM_CONDITIONAL(USEDOCBOOK, test "x$HASDOCBOOK" = xyes)
343
344 default_docs="yes"
345 #
346 # Check if docs exist or can be created
347 #
348 if test x$HASDOCBOOK = xno; then
349         if test -f doc/fonts-conf.5; then
350                 :
351         else
352                 default_docs="no"
353         fi
354 fi
355
356 AC_ARG_ENABLE(docs,           [  --disable-docs                Don't build and install documentation],,enable_docs=$default_docs)
357
358 AM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes)
359
360 if test "x$enable_docs" = xyes; then
361         DOCSRC="doc"
362         tmp=funcs.$$
363         cat $srcdir/doc/*.fncs | awk '
364         /^@TITLE@/      { if (!done) { printf ("%s\n", $2); done = 1; } }
365         /^@FUNC@/       { if (!done) { printf ("%s\n", $2); done = 1; } }
366         /^@@/           { done = 0; }' > $tmp
367         DOCMAN3=`cat $tmp | awk '{ printf ("%s.3 ", $1); }'`
368         echo DOCMAN3 $DOCMAN3
369         rm -f $tmp
370 else
371         DOCSRC=""
372         DOCMAN3=""
373 fi
374
375 AC_SUBST(DOCSRC)
376 AC_SUBST(DOCMAN3)
377
378 #
379 # Figure out where to install documentation
380 #
381
382 AC_ARG_WITH(docdir,           [  --with-docdir=DIR             Use DIR to store documentation files (default ${datadir}/doc/fontconfig)], confdir="$withval")
383
384 if test "x$with_docdir" = "x" ; then
385   DOCDIR='${datadir}/doc/fontconfig'
386 else
387   DOCDIR=$with_docdir
388 fi
389
390 AC_SUBST(DOCDIR)
391
392 AC_OUTPUT([
393 Makefile 
394 fontconfig/Makefile
395 fc-lang/Makefile
396 fc-glyphname/Makefile
397 src/Makefile
398 src/fontconfig.def
399 fc-cache/Makefile
400 fc-list/Makefile
401 fc-match/Makefile
402 doc/Makefile
403 doc/version.sgml
404 test/Makefile
405 fontconfig.spec
406 fontconfig.pc
407 fonts.conf
408 fontconfig-zip
409 ])