1 dnl configure.ac -- autoconf script for the m17n library.
3 dnl Copyright (C) 2003, 2004
4 dnl National Institute of Advanced Industrial Science and Technology (AIST)
5 dnl Registration Number H15PRO112
7 dnl This file is part of the m17n library.
9 dnl The m17n library is free software; you can redistribute it and/or
10 dnl modify it under the terms of the GNU Lesser General Public License
11 dnl as published by the Free Software Foundation; either version 2.1 of
12 dnl the License, or (at your option) any later version.
14 dnl The m17n library is distributed in the hope that it will be useful,
15 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
16 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 dnl Lesser General Public License for more details.
19 dnl You should have received a copy of the GNU Lesser General Public
20 dnl License along with the m17n library; if not, write to the Free
21 dnl Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
24 dnl Process this file with autoconf to produce a configure script.
26 AC_INIT(m17n-lib, 1.1.0, m17n-lib-bug@m17n.org)
27 AM_INIT_AUTOMAKE(m17n-lib, 1.1.0)
28 AM_CONFIG_HEADER(src/config.h)
30 # Checks for programs for compiling.
33 AC_LIBLTDL_CONVENIENCE
36 # Checks for X libraries.
39 # Checks for standard header files.
43 AC_CHECK_HEADERS([fcntl.h langinfo.h limits.h locale.h stdlib.h \
44 string.h strings.h sys/time.h unistd.h])
46 # Checks for typedefs, structures, and compiler characteristics.
52 # Checks for endian. This influence the default UTF-16 definition.
55 # Checks for library functions.
64 AC_CHECK_FUNCS(memmove memset nl_langinfo putenv regcomp setlocale)
65 AC_CHECK_FUNCS(strchr strdup gettimeofday)
67 # Check several libraries without adding -lxxx to LIBS, without
68 # defining HAVE_LIBXXX nor HAVE_XXX_H because they are used only for
69 # libm17-X.so. Instead, define XXX_LD_FLAGS and HAVE_XXX if library
70 # XXX is available. CPPFLAGS will be augmented.
72 # Check for fribidi library.
73 save_CPPFLAGS="$CPPFLAGS"
75 AC_CHECK_PROG(HAVE_FRIBIDI_CONFIG, fribidi-config, yes)
76 if test "$HAVE_FRIBIDI_CONFIG" = "xyes"; then
77 CPPFLAGS="$CPPFLAGS `fribidi-config --cflags`"
78 FRIBIDI_LD_FLAGS="`fribidi-config --libs`"
79 LIBS="$LIBS $FRIBIDI_LD_FLAGS"
81 FRIBIDI_LD_FLAGS=-lfribidi
83 AC_CHECK_LIB(fribidi, fribidi_set_mirroring, HAVE_FRIBIDI=yes, HAVE_FRIBIDI=no)
84 AC_CHECK_HEADER(fribidi/fribidi.h,, HAVE_FRIBIDI=no)
85 if test "x$HAVE_FRIBIDI" = "xyes"; then
86 AC_DEFINE(HAVE_FRIBIDI, 1,
87 [Define to 1 if you have Fribidi library and header file.])
89 CPPFLAGS="$save_CPPFLAGS"
93 AC_SUBST(FRIBIDI_LD_FLAGS)
95 # Check for otflib usability.
96 save_CPPFLAGS="$CPPFLAGS"
98 AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes)
99 if test "x$HAVE_OTFLIB_CONFIG" = "xyes"; then
100 CPPFLAGS="$CPPFLAGS `libotf-config --cflags`"
101 OTF_LD_FLAGS="`libotf-config --libs` "
102 LIBS="$LIBS $OTF_LD_FLAGS"
106 AC_CHECK_LIB(otf, OTF_open, HAVE_OTF=yes, HAVE_OTF=no)
107 AC_CHECK_HEADER(otf.h,, HAVE_OTF=no)
108 CPPFLAGS="$save_CPPFLAGS"
109 if test "x$HAVE_OTF" = "xyes"; then
110 AC_DEFINE(HAVE_OTF, 1,
111 [Define to 1 if you have OTF library and header file.])
113 CPPFLAGS="$save_CPPFLAGS"
117 AC_SUBST(OTF_LD_FLAGS)
119 # Check for Freetype2 usability.
120 AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes)
121 if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
122 FREETYPE_INC=`freetype-config --cflags`
123 save_CPPFLAGS="$CPPFLAGS"
124 CPPFLAGS="$CPPFLAGS $FREETYPE_INC"
125 AC_CHECK_HEADER(ft2build.h, HAVE_FREETYPE=yes,
126 HAVE_FREETYPE=no CPPFLAGS="$save_CPPFLAGS")
127 if test "x$HAVE_FREETYPE" = "xyes" ; then
129 LIBS="$LIBS `freetype-config --libs`"
130 AC_CHECK_LIB(freetype, FT_Init_FreeType, HAVE_FREETYPE=yes,
133 if test "x$HAVE_FREETYPE" = "xyes"; then
134 FREETYPE_LD_FLAGS=`freetype-config --libtool`
135 AC_DEFINE(HAVE_FREETYPE, 1,
136 [Define to 1 if you have FreeType library and header file.])
140 AC_SUBST(FREETYPE_LD_FLAGS)
142 # Check for Xft2 usability.
143 save_CPPFLAGS="$CPPFLAGS"
145 AC_CHECK_PROG(HAVE_XFT_CONFIG, xft-config, yes)
146 if test "x$HAVE_XFT_CONFIG" = "xyes"; then
147 CPPFLAGS="$CPPFLAGS `xft-config --cflags`"
148 XFT2_LD_FLAGS="`xft-config --libs`"
149 LIBS="$LIBS $XFT2_LD_FLAGS"
151 XFT2_LD_FLAGS="-lXft -lfreetype -lfontconfig -lXrender -lX11"
153 AC_CHECK_LIB(Xft, XftDrawCreate, HAVE_XFT2=yes, HAVE_XFT2=no)
154 AC_CHECK_HEADER(X11/Xft/Xft.h,, HAVE_XFT2=no,
155 [#include <X11/Xft/Xft.h>
156 #if XftVersion >= 20000
158 Version too old. Compiling this line should fail.
160 if test "x$HAVE_XFT2" = "xyes"; then
161 AC_DEFINE(HAVE_XFT2, 1,
162 [Define to 1 if you have Xft2 library and header file.])
164 CPPFLAGS="$save_CPPFLAGS"
167 AC_SUBST(XFT2_LD_FLAGS)
169 # Check for fontconfig usability.
170 save_CPPFLAGS="$CPPFLAGS"
172 if test "x$HAVE_XFT2" = "xyes"; then
175 AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
176 FONTCONFIG_LD_FLAGS=-lfontconfig
177 if test "x$HAVE_PKG_CONFIG" = "xyes"; then
178 if pkg-config --exists fontconfig; then
179 CPPFLAGS="$CPPFLAGS `pkg-config --cflags fontconfig`"
180 FONTCONFIG_LD_FLAGS="`pkg-config --libs fontconfig`"
181 LIBS="$LIBS $FONTCONFIG_LD_FLAGS"
184 AC_CHECK_LIB(fontconfig, HAVE_FONTCONFIG=yes, HAVE_FONTCONFIG=no)
185 AC_CHECK_HEADER(fontconfig/fontconfig.h, , HAVE_FONTCONFIG=no)
187 if test "x$HAVE_FONTCONFIG" = "xyes"; then
188 AC_DEFINE(HAVE_FONTCONFIG, 1,
189 [Define to 1 if you have fontconfig library and header file.])
192 CPPFLAGS="$save_CPPFLAGS"
195 AC_SUBST(FONTCONFIG_LD_FLAGS)
197 # Check for libxml2 usability.
198 save_CPPFLAGS="$CPPFLAGS"
200 AC_CHECK_PROG(HAVE_XML2_CONFIG, xml2-config, yes)
201 if test "x$HAVE_XML2_CONFIG" = "xyes"; then
202 CPPFLAGS="$CPPFLAGS `xml2-config --cflags`"
203 XML2_LD_FLAGS="`xml2-config --libs`"
204 LIBS="$LIBS $XML2_LD_FLAGS"
206 CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2"
207 XML2_LD_FLAGS="-lxml2 -lz -lpthread -lm"
209 AC_CHECK_LIB(xml2, xmlParseMemory, HAVE_XML2=yes, HAVE_XML2=no)
210 AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/)
211 if test "x$HAVE_XML2" = "xyes"; then
212 AC_DEFINE(HAVE_XML2, 1,
213 [Define to 1 if you have libxml2 library and header file])
215 CPPFLAGS="$save_CPPFLAGS"
218 AC_SUBST(XML2_LD_FLAGS)
220 # Check for Anthy usability.
221 AC_CHECK_LIB(anthydic, anthy_init_sessions, HAVE_ANTHY=yes, HAVE_ANTHY=no)
222 if test "x$HAVE_ANTHY" = "xyes"; then
223 AC_CHECK_LIB(anthy, anthy_init, HAVE_ANTHY=yes, HAVE_ANTHY=no, -lanthydic)
224 if test "x$HAVE_ANTHY" = "xyes"; then
225 AC_CHECK_HEADER(anthy/anthy.h, HAVE_ANTHY=yes, HAVE_ANTHY=no)
226 if test "x$HAVE_ANTHY" = "xyes"; then
227 AC_DEFINE(HAVE_ANTHY, 1,
228 [Define to 1 if you have Anthy library and header file])
229 ANTHY_LD_FLAGS="-lanthy -lanthydic"
233 AC_SUBST(ANTHY_LD_FLAGS)
235 # Check for Ispell usability.
236 AC_CHECK_PROG(HAVE_ISPELL, ispell, yes)
237 if test "x$HAVE_ISPELL" = "xyes"; then
238 AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.])
241 # Check for libwordcut (for Thai).
242 AC_CHECK_LIB(wordcut, wordcut_init, HAVE_WORDCUT=yes, HAVE_WORDCUT=no)
243 if test "x$HAVE_WORDCUT" = "xyes"; then
244 if test -f "/usr/share/wordcut/tdict.wcd"; then
245 tdict="/usr/share/wordcut/tdict.wcd"
246 elif test -f "/usr/local/share/wordcut/tdict.wcd"; then
247 tdict="/usr/local/share/wordcut/tdict.wcd"
250 if test "x$tdict" != "x"; then
251 AC_DEFINE(HAVE_WORDCUT, 1,
252 [Define if you have the wordcut library and header file])
253 AC_DEFINE_UNQUOTED(WORDCUT_TDICT, "$tdict", [Define to tdict file name])
254 WORDCUT_LD_FLAGS=-lwordcut
257 AC_SUBST(WORDCUT_LD_FLAGS)
259 dnl AC_ARG_ENABLE(xom,
260 dnl [ --enable-xom build and install XOM library.],
261 dnl XOM="$enableval")
265 AC_DEFINE(DLOPEN_SHLIB_EXT, ".dylib",
266 [Define to loadable module extention]);;
269 AC_CONFIG_FILES([Makefile
275 dnl if test "x$XOM" = "xyes"; then
276 dnl AC_CONFIG_FILES(omM17N/Makefile)
282 dnl comment-start: "dnl "
284 dnl comment-start-skip: "\\bdnl\\b\\s *"