Make missing font directory messages only displayed when verbose
[platform/upstream/fontconfig.git] / configure.in
1 dnl
2 dnl $XFree86: xc/lib/fontconfig/configure.in,v 1.6 2002/06/07 17:55:41 keithp Exp $
3 dnl
4 dnl Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
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
25 # Process this file with autoconf to produce a configure script.
26 AC_INIT(fontconfig, 1.0.1, fonts@xfree86.org)
27 AC_CONFIG_AUX_DIR(config)
28 AC_CONFIG_HEADER(config.h)
29
30 AC_ARG_WITH(freetype_includes, [  --with-freetype-includes=DIR  Use FreeType includes in DIR], freetype_includes=$withval, freetype_includes=yes)
31 AC_ARG_WITH(freetype_lib,      [  --with-freetype-lib=DIR       Use FreeType library in DIR], freetype_lib=$withval, freetype_lib=yes)
32 AC_ARG_WITH(freetype_config,   [  --with-freetype-config=PROG   Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes)
33 AC_ARG_WITH(expat,             [  --with-expat=DIR              Use Expat in DIR instead of xml2], expat=$withval, expat=maybe)
34 AC_ARG_WITH(expat_includes,    [  --with-expat-includes=DIR     Use Expat includes in DIR], expat_includes=$withval, expat_includes=yes)
35 AC_ARG_WITH(expat_lib,         [  --with-expat-lib=DIR          Use Expat library in DIR], expat_lib=$withval, expat_lib=yes)
36 AC_ARG_WITH(xml2,              [  --with-xml2=DIR               Use Libxml2 in DIR instead of expat], xml2=$withval, xml2=maybe)
37 AC_ARG_WITH(xml2_includes,     [  --with-xml2-includes=DIR      Use Libxml2 includes in DIR], xml2_includes=$withval, xml2_includes=yes)
38 AC_ARG_WITH(xml2_lib,          [  --with-xml2-lib=DIR           Use Libxml2 library in DIR], xml2_lib=$withval, xml2_lib=yes)
39 AC_ARG_WITH(default_fonts,     [  --with-default-fonts=DIR      Use fonts from DIR when config is busted], defaultfonts="$withval", default_fonts=yes)
40
41 # Checks for programs.
42 AC_PROG_CC
43 AC_PROG_INSTALL
44 AC_PROG_LN_S
45 AC_PATH_X
46
47 PACKAGE_VERSION=1.0.1
48
49 # Set major version
50 PACKAGE_MAJOR=`echo $PACKAGE_VERSION | awk -F . '{ print $1 }'`
51 PACKAGE_MINOR=`echo $PACKAGE_VERSION | awk -F . '{ print $2 }'`
52 PACKAGE_REVISION=`echo $PACKAGE_VERSION | awk -F . '{ print $3 }'`
53 AC_SUBST(PACKAGE_VERSION)
54 AC_SUBST(PACKAGE_MAJOR)
55 AC_SUBST(PACKAGE_MINOR)
56 AC_SUBST(PACKAGE_REVISION)
57
58 OBJEXT="o"
59 AC_SUBST(OBJEXT)
60
61 AC_DEFINE_UNQUOTED(PACKAGE_MAJOR,$PACKAGE_MAJOR)
62 AC_DEFINE_UNQUOTED(PACKAGE_MINOR,$PACKAGE_MINOR)
63 AC_DEFINE_UNQUOTED(PACKAGE_REVISION,$PACKAGE_REVISION)
64          
65 # Checks for header files.
66 AC_HEADER_DIRENT
67 AC_HEADER_STDC
68 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
69
70 # Checks for typedefs, structures, and compiler characteristics.
71 AC_C_CONST
72 AC_TYPE_PID_T
73
74 # Checks for library functions.
75 AC_FUNC_VPRINTF
76 AC_CHECK_FUNCS([memmove memset strchr strrchr strtol getopt getopt_long])
77
78 if test "$GCC" = "yes"; then
79     MKSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
80     DSO_LDOPTS='-shared -Wl,-h,`echo $@ | sed '"'s/\.so\.\([[0-9][0-9]]*\).*/.so.\1/'"'`'
81     DSO_CFLAGS=''
82     DSO_PIC_CFLAGS='-fPIC -DPIC'
83 else
84     AC_CANONICAL_HOST
85     
86     MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
87     DSO_CFLAGS=''
88     DSO_PIC_CFLAGS='-KPIC -DPIC'
89     
90     case "$host" in
91     *solaris*)
92         DSO_LDOPTS='-G -z text -z defs -h $@'
93         LIBS="$LIBS -lc"
94         ;;
95     *)
96         DSO_LDOPTS='-shared -h $@'
97         ;;
98     esac
99 fi
100
101 AC_SUBST(MKSHLIB)
102 AC_SUBST(DSO_LDOPTS)
103 AC_SUBST(DSO_CFLAGS)
104 AC_SUBST(DSO_PIC_CFLAGS)
105
106 #
107 # Using x libraries, set X font directory
108 case "$no_x" in
109 yes)
110         ;;
111 *)
112         X_FONT_DIR="$x_libraries/X11/fonts"
113         AC_DEFINE_UNQUOTED(X_FONT_DIR,$X_FONT_DIR)
114         ;;
115 esac
116 AC_SUBST(X_FONT_DIR)
117
118 #
119 # Check freetype configuration
120 #
121 case "$freetype_config" in
122 no)
123         ;;
124 yes)
125         AC_CHECK_PROG(ft_config,freetype-config,freetype-config,no)
126         ;;
127 *)
128         ft_config="$freetype_config"
129         ;;
130 esac
131
132 case "$freetype_includes" in
133 no)
134         FREETYPE_CFLAGS=""
135         ;;
136 yes)
137         case "$ft_config" in
138         no)
139                 FREETYPE_CFLAGS=""
140                 ;;
141         *)
142                 FREETYPE_CFLAGS="`$ft_config --cflags`"
143                 ;;
144         esac
145         ;;
146 *)
147         FREETYPE_CFLAGS="-I$freetype_includes"
148         ;;
149 esac
150
151 case "$freetype_lib" in
152 no)
153         freetype_lib=""
154         ;;
155 yes)
156         case "$ft_config" in
157         no)
158                 freetype_lib=""
159                 ;;
160         *)
161                 freetype_lib="`$ft_config --libs`"
162                 ;;
163         esac
164         ;;
165 *)
166         freetype_lib="-L$freetype_lib -lfreetype"
167         ;;
168 esac
169
170 saved_LIBS="$LIBS"
171 LIBS="$LIBS $freetype_lib"
172 saved_CPPFLAGS="$CPPFLAGS"
173 CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
174 AC_CHECK_HEADERS(freetype/freetype.h)
175
176 case "$ac_cv_header_freetype_freetype_h" in
177 no)
178         CPPFLAGS="$saved_CPPFLAGS"
179         LIBS="$saved_LIBS"
180         ;;
181 yes)
182         AC_CHECK_FUNCS(FT_Init_FreeType)
183         case "$ac_cv_func_FT_Init_FreeType" in
184         no)
185                 CPPFLAGS="$saved_CPPFLAGS"
186                 LIBS="$saved_LIBS"
187                 ;;
188         yes)
189                 AC_DEFINE(HAVE_FREETYPE)
190                 AC_SUBST(FREETYPE_CFLAGS)
191                 ;;
192         esac
193         ;;
194 esac
195
196 case "$default_fonts" in
197 yes)
198         FC_DEFAULT_FONTS="/usr/share/fonts"
199         AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "/usr/share/fonts")
200         ;;
201 *)
202         FC_DEFAULT_FONTS="$default_fonts"
203         AC_DEFINE_UNQUOTED(FC_DEFAULT_FONTS, "$default_fonts")
204         ;;
205 esac
206
207 AC_SUBST(FC_DEFAULT_FONTS)
208
209 #
210 # Set CONFDIR and FONTCONFIG_PATH
211 #
212
213 CONFDIR="$sysconfdir/fonts"
214 AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR")
215 AC_SUBST(CONFDIR)
216
217 FONTCONFIG_PATH="$CONFDIR"
218 AC_DEFINE_UNQUOTED(FONTCONFIG_PATH, "$CONFDIR")
219 AC_SUBST(FONTCONFIG_PATH)
220
221 #
222 # Check expat/libxml2 configuration
223 #
224
225 case "$expat" in
226 maybe)
227         ;;
228 no)
229         xml2=yes
230         ;;
231 *)
232         xml2=no
233         ;;
234 esac
235
236 case "$xml2" in
237 maybe)
238         ;;
239 no)
240         expat=yes
241         ;;
242 *)
243         expat=no
244         ;;
245 esac
246
247 case "$expat" in
248 no)
249         ;;
250 *)
251         case "$expat_includes" in
252         yes|no)
253                 expat_include_path=""
254                 ;;
255         *)
256                 expat_include_path="-I$expat_includes"
257                 ;;
258         esac
259         case "$expat_lib" in
260         yes)
261                 case "$expat" in
262                 yes|maybe)
263                         expat_library="-lexpat"
264                         ;;
265                 *)
266                         expat_library="-L$expat/lib -lexpat"
267                         ;;
268                 esac
269                 ;;
270         no)
271                 ;;
272         *)
273                 expat_library="-L$expat_lib -lexpat"
274                 ;;
275         esac
276
277         saved_CPPFLAGS="$CPPFLAGS"
278         CPPFLAGS="$CPPFLAGS $expat_include_path"
279         saved_LIBS="$LIBS"
280         LIBS="$LIBS $expat_library"
281
282         AC_CHECK_HEADER(expat.h)
283         case "$ac_cv_header_expat_h" in
284         no)
285                 AC_CHECK_HEADER(xmlparse.h)
286                 case "$ac_cv_header_xmlparse_h" in
287                 no)
288                         have_expat_header=no;
289                         ;;
290                 yes)
291                         HAVE_XMLPARSE_H=1
292                         AC_SUBST(HAVE_XMLPARSE_H)
293                         AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H)
294                         have_expat_header=yes
295                         ;;
296                 esac
297                 ;;
298         yes)
299                 have_expat_header=yes
300                 ;;
301         esac
302         case "$have_expat_header" in
303         no)
304                 CPPFLAGS="$saved_CPPFLAGS"
305                 LIBS="$saved_LIBS"
306                 expat=no
307                 ;;
308         yes)
309                 AC_CHECK_FUNCS(XML_ParserCreate)
310                 case "$ac_cv_func_XML_ParserCreate" in
311                 no)
312                         CPPFLAGS="$saved_CPPFLAGS"
313                         LIBS="$saved_LIBS"
314                         expat=no
315                         ;;
316                 yes)
317                         HAVE_EXPAT=1
318                         AC_SUBST(HAVE_EXPAT)
319                         AC_DEFINE_UNQUOTED(HAVE_EXPAT,$HAVE_EXPAT)
320                         xml2=no
321                         ;;
322                 esac
323                 ;;
324         esac
325         ;;
326 esac
327         
328 case "$xml2" in
329 no)
330         ;;
331 *)
332         case "$xml2_includes" in
333         yes|no)
334                 xml2_include_path=""
335                 ;;
336         *)
337                 xml2_include_path="-I$xml2_includes"
338                 ;;
339         esac
340         case "$xml2_lib" in
341         yes)
342                 case "$xml2" in
343                 yes|maybe)
344                         xml2_library="-lxml2"
345                         ;;
346                 *)
347                         xml2_library="-L$xml2/lib -lxml2"
348                         ;;
349                 esac
350                 ;;
351         no)
352                 ;;
353         *)
354                 xml2_library="-L$xml2_lib -lxml2"
355                 ;;
356         esac
357
358         saved_CPPFLAGS="$CPPFLAGS"
359         CPPFLAGS="$CPPFLAGS $xml2_include_path"
360         saved_LIBS="$LIBS"
361         LIBS="$LIBS $xml2_library"
362
363         AC_CHECK_HEADER(libxml/parser.h)
364         case "$ac_cv_header_libxml_parser_h" in
365         no)
366                 CPPFLAGS="$saved_CPPFLAGS"
367                 LIBS="$saved_LIBS"
368                 xml2=no
369                 ;;
370         yes)
371                 AC_CHECK_FUNCS(xmlInitParser)
372                 case "$ac_cv_func_xmlInitParser" in
373                 no)
374                         CPPFLAGS="$saved_CPPFLAGS"
375                         LIBS="$saved_LIBS"
376                         xml2=no
377                         ;;
378                 yes)
379                         HAVE_XML2=1
380                         AC_SUBST(HAVE_XML2)
381                         AC_DEFINE_UNQUOTED(HAVE_XML2,$HAVE_XML2)
382                         expat=no
383                         ;;
384                 esac
385                 ;;
386         esac
387         ;;
388 esac
389         
390 case "$expat""$xml2" in
391 nono)
392         AC_MSG_ERROR([cannot find either libxml2 or expat])
393         ;;
394 esac
395
396 AC_OUTPUT([Makefile
397           config/Makedefs
398           src/Makefile
399           fc-cache/Makefile
400           fc-list/Makefile
401           fontconfig/Makefile
402           fontconfig.pc
403           fontconfig-config])
404