4 dnl Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
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.
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.
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)
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-freeetype-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(fallback_fonts, [ --with-fallback-fonts=DIR Use fonts from DIR when config is busted], fallback_fonts="$withval", fallback_fonts=yes)
41 # Checks for programs.
49 PACKAGE_MAJOR=`echo $PACKAGE_VERSION | awk -F . '{ print $1 }'`
50 PACKAGE_MINOR=`echo $PACKAGE_VERSION | awk -F . '{ print $2 }'`
51 PACKAGE_REVISION=`echo $PACKAGE_VERSION | awk -F . '{ print $3 }'`
52 AC_SUBST(PACKAGE_MAJOR)
53 AC_SUBST(PACKAGE_MINOR)
54 AC_SUBST(PACKAGE_REVISION)
59 AC_DEFINE_UNQUOTED(PACKAGE_MAJOR,$PACKAGE_MAJOR)
60 AC_DEFINE_UNQUOTED(PACKAGE_MINOR,$PACKAGE_MINOR)
61 AC_DEFINE_UNQUOTED(PACKAGE_REVISION,$PACKAGE_REVISION)
63 #AH_TEMPLATE([PACKAGE_MAJOR],[Library major version])
64 #AH_TEMPLATE([PACKAGE_MINOR],[Library minor version])
65 #AH_TEMPLATE([PACKAGE_REVISION],[Library revision])
67 # Checks for header files.
70 AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
72 # Checks for typedefs, structures, and compiler characteristics.
76 # Checks for library functions.
81 AC_CHECK_FUNCS([memmove memset strchr strrchr strtol getopt getopt_long])
83 if test "$GCC" = "yes"; then
84 MKSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
85 DSO_LDOPTS='-shared -Wl,-h,`echo $@ | sed '"'s/\.so\.\([[0-9][0-9]]*\).*/.so.\1/'"'`'
87 DSO_PIC_CFLAGS='-fPIC -DPIC'
89 MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
90 DSO_LDOPTS='-shared -h $@'
92 DSO_PIC_CFLAGS='-KPIC -DPIC'
98 AC_SUBST(DSO_PIC_CFLAGS)
101 # Check freetype configuration
103 case "$freetype_config" in
107 AC_CHECK_PROG(ft_config,freetype-config,freetype-config,no)
110 ft_config="$freetype_config"
114 case "$freetype_includes" in
124 freetype_includes="`$ft_config --cflags`"
129 freetype_includes="-I$freetype_includes"
133 case "$freetype_lib" in
143 freetype_lib="`$ft_config --libs`"
148 freetype_lib="-L$freetype_lib -lfreetype"
153 LIBS="$LIBS $freetype_lib"
154 saved_CPPFLAGS="$CPPFLAGS"
155 CPPFLAGS="$CPPFLAGS $freetype_includes"
156 AC_CHECK_HEADERS(freetype/freetype.h)
158 case "$ac_cv_header_freetype_freetype_h" in
160 CPPFLAGS="$saved_CPPFLAGS"
164 AC_CHECK_FUNCS(FT_Init_FreeType)
165 case "$ac_cv_func_FT_Init_FreeType" in
167 CPPFLAGS="$saved_CPPFLAGS"
171 AC_DEFINE(HAVE_FREETYPE)
176 #AH_TEMPLATE([HAVE_FREETYPE],[whether system has freetype2 library])
178 case "$fallback_fonts" in
180 AC_DEFINE_UNQUOTED(FC_FALLBACK_FONTS, "/usr/share/fonts")
183 AC_DEFINE_UNQUOTED(FC_FALLBACK_FONTS, "$fallback_fonts")
186 #AH_TEMPLATE([FC_FALLBACK_FONTS],
187 # [Path library uses when config file is broken])
190 # Check expat/libxml2 configuration
219 case "$expat_includes" in
221 expat_include_path=""
224 expat_include_path="-I$expat_includes"
231 expat_library="-lexpat"
234 expat_library="-L$expat/lib -lexpat"
241 expat_library="-L$expat_lib -lexpat"
245 saved_CPPFLAGS="$CPPFLAGS"
246 CPPFLAGS="$CPPFLAGS $expat_include_path"
248 LIBS="$LIBS $expat_library"
250 AC_CHECK_HEADER(expat.h)
251 case "$ac_cv_header_expat_h" in
253 AC_CHECK_HEADER(xmlparse.h)
254 case "$ac_cv_header_xmlparse_h" in
256 have_expat_header=no;
260 AC_SUBST(HAVE_XMLPARSE_H)
261 AC_DEFINE_UNQUOTED(HAVE_XMLPARSE_H,$HAVE_XMLPARSE_H)
262 have_expat_header=yes
267 have_expat_header=yes
270 case "$have_expat_header" in
272 CPPFLAGS="$saved_CPPFLAGS"
277 AC_CHECK_FUNCS(XML_ParserCreate)
278 case "$ac_cv_func_XML_ParserCreate" in
280 CPPFLAGS="$saved_CPPFLAGS"
287 AC_DEFINE_UNQUOTED(HAVE_EXPAT,$HAVE_EXPAT)
300 case "$xml2_includes" in
305 xml2_include_path="-I$xml2_includes"
312 xml2_library="-lxml2"
315 xml2_library="-L$xml2/lib -lxml2"
322 xml2_library="-L$xml2_lib -lxml2"
326 saved_CPPFLAGS="$CPPFLAGS"
327 CPPFLAGS="$CPPFLAGS $xml2_include_path"
329 LIBS="$LIBS $xml2_library"
331 AC_CHECK_HEADER(libxml/parser.h)
332 case "$ac_cv_header_libxml_parser_h" in
334 CPPFLAGS="$saved_CPPFLAGS"
339 AC_CHECK_FUNCS(xmlInitParser)
340 case "$ac_cv_func_xmlInitParser" in
342 CPPFLAGS="$saved_CPPFLAGS"
349 AC_DEFINE_UNQUOTED(HAVE_XML2,$HAVE_XML2)
358 #AH_TEMPLATE([HAVE_EXPAT],[Use expat library for xml parsing])
359 #AH_TEMPLATE([HAVE_XML2],[Use libxml2 library for xml parsing])
361 case "$expat""$xml2" in
363 AC_MSG_ERROR([cannot find either libxml2 or expat])
367 #AC_CONFIG_FILES([Makefile
370 # fontconfig/Makefile
372 #AC_CONFIG_FILES([Makefile