]> git.wh0rd.org - fontconfig.git/blob - configure.in
Allow multiple directories in --with-add-fonts, by default add only
[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.1.91)
37
38 dnl libtool versioning
39
40 LT_CURRENT=1
41 LT_REVISION=4
42 LT_AGE=0
43
44 LT_VERSION_INFO="$LT_CURRENT:$LT_REVISION:$LT_AGE"
45 AC_SUBST(LT_VERSION_INFO)
46
47 dnl ==========================================================================
48
49 AM_CONFIG_HEADER(config.h)
50
51 AC_PROG_CC
52 AC_PROG_INSTALL
53 AC_PROG_LN_S
54 AM_PROG_LIBTOOL
55 AC_PROG_MAKE_SET
56
57 # Checks for header files.
58 AC_HEADER_DIRENT
59 AC_HEADER_STDC
60 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
61
62 # Checks for typedefs, structures, and compiler characteristics.
63 AC_C_CONST
64 AC_TYPE_PID_T
65
66 # Checks for library functions.
67 AC_FUNC_VPRINTF
68 AC_CHECK_FUNCS([memmove memset strchr strrchr strtol getopt getopt_long])
69
70 #
71 # Checks for FreeType
72 #
73
74 AC_ARG_WITH(freetype_config, [ --with-freetype-config=PROG Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes)
75
76 if test "$freetype_config" = "yes"; then
77 AC_PATH_PROG(ft_config,freetype-config,no)
78 if test "$ft_config" = "no"; then
79 AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/])
80 fi
81 else
82 ft_config="$freetype_config"
83 fi
84
85 FREETYPE_CFLAGS="$($ft_config --cflags)"
86 FREETYPE_LIBS="$($ft_config --libs)"
87
88 AC_SUBST(FREETYPE_LIBS)
89 AC_SUBST(FREETYPE_CFLAGS)
90
91 #
92 # Check to see whether we have FT_Get_First_Char(), new in 2.0.9
93 #
94
95 fontconfig_save_libs=$LIBS
96 LIBS="$LIBS $FREETYPE_LIBS"
97 AC_CHECK_FUNCS(FT_Get_First_Char)
98 LIBS=$fontconfig_save_libs
99
100 #
101 # Check expat configuration
102 #
103
104 AC_ARG_WITH(expat, [ --with-expat=DIR Use Expat in DIR], expat=$withval, expat=yes)
105 AC_ARG_WITH(expat_includes, [ --with-expat-includes=DIR Use Expat includes in DIR], expat_includes=$withval, expat_includes=yes)
106 AC_ARG_WITH(expat_lib, [ --with-expat-lib=DIR Use Expat library in DIR], expat_lib=$withval, expat_lib=yes)
107
108 case "$expat" in
109 no)
110 ;;
111 *)
112 case "$expat_includes" in
113 yes|no)
114 EXPAT_CFLAGS=""
115 ;;
116 *)
117 EXPAT_CFLAGS="-I$expat_includes"
118 ;;
119 esac
120 case "$expat_lib" in
121 yes)
122 case "$expat" in
123 yes)
124 EXPAT_LIBS="-lexpat"
125 ;;
126 *)
127 EXPAT_LIBS="-L$expat/lib -lexpat"
128 ;;
129 esac
130 ;;
131 no)
132 ;;
133 *)
134 EXPAT_LIBS="-L$expat_lib -lexpat"
135 ;;
136 esac
137
138 expatsaved_CPPFLAGS="$CPPFLAGS"
139 CPPFLAGS="$CPPFLAGS $EXPAT_CFLAGS"
140 expatsaved_LIBS="$LIBS"
141 LIBS="$LIBS $EXPAT_LIBS"
142
143 AC_CHECK_HEADER(expat.h)
144 case "$ac_cv_header_expat_h" in
145 no)
146 AC_CHECK_HEADER(xmlparse.h)
147 case "$ac_cv_header_xmlparse_h" in
148 no)
149 have_expat_header=no;
150 ;;
151 yes)
152 HAVE_XMLPARSE_H=1
153 AC_SUBST(HAVE_XMLPARSE_H)
154 AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H,
155 [Use xmlparse.h instead of expat.h])
156 have_expat_header=yes
157 ;;
158 esac
159 ;;
160 yes)
161 have_expat_header=yes
162 ;;
163 esac
164 case "$have_expat_header" in
165 no)
166 expat=no
167 ;;
168 yes)
169 AC_CHECK_FUNCS(XML_ParserCreate)
170 case "$ac_cv_func_XML_ParserCreate" in
171 no)
172 expat=no
173 ;;
174 yes)
175 HAVE_EXPAT=1
176 AC_SUBST(HAVE_EXPAT)
177 AC_DEFINE_UNQUOTED(HAVE_EXPAT,$HAVE_EXPAT,
178 [Found a useable expat library])
179 ;;
180 esac
181 ;;
182 esac
183 CPPFLAGS="$saved_CPPFLAGS"
184 LIBS="$saved_LIBS"
185 ;;
186 esac
187 AC_SUBST(EXPAT_LIBS)
188 AC_SUBST(EXPAT_CFLAGS)
189
190 case "$expat" in
191 no)
192 AC_MSG_ERROR([cannot find expat library])
193 ;;
194 esac
195
196 #
197 # Set default font directory
198 #
199
200 AC_ARG_WITH(default_fonts, [ --with-default-fonts=DIR Use fonts from DIR when config is busted], defaultfonts="$withval", default_fonts=yes)
201
202 case "$default_fonts" in
203 yes)
204 FC_DEFAULT_FONTS="/usr/share/fonts"
205 AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts",
206 [System font directory])
207 ;;
208 *)
209 FC_DEFAULT_FONTS="$default_fonts"
210 AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts",
211 [System font directory])
212 ;;
213 esac
214
215 AC_SUBST(FC_DEFAULT_FONTS)
216
217 #
218 # Add more fonts if available. By default, add only the directories
219 # with outline fonts; those with bitmaps can be added as desired in
220 # local.conf or ~/.fonts.conf
221 #
222 AC_ARG_WITH(add_fonts, [ --with-add-fonts=DIR1,DIR2,...Find additional fonts in DIR1,DIR2,... ], add_fonts="$withval", add_fonts=yes)
223
224 case "$add_fonts" in
225 yes)
226 FC_ADD_FONTS=""
227 for dir in /usr/X11R6/lib/X11 /usr/X11/lib/X11 /usr/lib/X11; do
228 case x"$FC_ADD_FONTS" in
229 x)
230 if test -d "$dir/fonts"; then
231 for sub in "$dir"/fonts/*; do
232 if ls "$sub" | grep -q -i '\.pf\|\.tt\|.ot'; then
233 case x$FC_ADD_FONTS in
234 x)
235 FC_ADD_FONTS="$sub"
236 ;;
237 *)
238 FC_ADD_FONTS="$FC_ADD_FONTS,$sub"
239 ;;
240 esac
241 fi
242 done
243 fi
244 ;;
245 esac
246 done
247 AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
248 ;;
249 no)
250 FC_ADD_FONTS=""
251 ;;
252 *)
253 FC_ADD_FONTS="$add_fonts"
254 AC_DEFINE_UNQUOTED(FC_ADD_FONTS,"$add_fonts",[Additional font directories])
255 ;;
256 esac
257
258 AC_SUBST(FC_ADD_FONTS)
259
260 FC_FONTPATH=""
261
262 case "$FC_ADD_FONTS" in
263 "")
264 ;;
265 *)
266 FC_FONTPATH=`echo $FC_ADD_FONTS |
267 sed -e 's/^/<dir>/' -e 's/$/<\/dir>/' -e 's/,/<\/dir> <dir>/g'`
268 ;;
269 esac
270
271 echo FC_FONTPATH is "$FC_FONTPATH"
272
273 AC_SUBST(FC_FONTPATH)
274
275 FC_FONTDATE=`date`
276
277 AC_SUBST(FC_FONTDATE)
278
279 AC_ARG_WITH(confdir, [ --with-confdir=DIR Use DIR to store configuration files (default /etc/fonts)], confdir="$withval", confdir=yes)
280
281 #
282 # Set CONFDIR and FONTCONFIG_PATH
283 #
284
285 case "$confdir" in
286 no|yes)
287 confdir='${sysconfdir}'/fonts
288 ;;
289 *)
290 ;;
291 esac
292 AC_SUBST(confdir)
293 CONFDIR=${confdir}
294 AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR",[Font configuration directory])
295 AC_SUBST(CONFDIR)
296
297 #
298 # Find out what language orthographies are included
299 #
300
301 ORTH_FILES=`cd fc-lang && echo *.orth`
302 AC_SUBST(ORTH_FILES)
303
304 #
305 # Let people not build/install docs if they don't have docbook
306 #
307
308 AC_CHECK_PROG(HASDOCBOOK, docbook2html, yes, no)
309
310 AC_ARG_ENABLE(docs, [ --disable-docs Don't build and install documentation],,enable_docs=yes)
311
312 if test "x$enable_docs" = xyes; then
313 if test "x$HASDOCBOOK" != xyes; then
314 enable_docs=no
315 fi
316 fi
317
318 AM_CONDITIONAL(ENABLE_DOCS, test "x$enable_docs" = xyes)
319
320 #
321 # Figure out where to install documentation
322 #
323
324 AC_ARG_WITH(docdir, [ --with-docdir=DIR Use DIR to store documentation files (default ${datadir}/doc/fontconfig)], confdir="$withval")
325
326 if test "x$with_docdir" = "x" ; then
327 DOCDIR='${datadir}/doc/fontconfig'
328 else
329 DOCDIR=$with_docdir
330 fi
331
332 AC_SUBST(DOCDIR)
333
334 AC_OUTPUT([
335 Makefile
336 fontconfig/Makefile
337 fc-lang/Makefile
338 src/Makefile
339 fc-cache/Makefile
340 fc-list/Makefile
341 doc/Makefile
342 test/Makefile
343 fontconfig.spec
344 fontconfig.pc
345 fonts.conf
346 ])