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.2.0, m17n-lib-bug@m17n.org)
27 AM_INIT_AUTOMAKE(m17n-lib, 1.2.0)
28 AM_CONFIG_HEADER(src/config.h)
33 dnl Checks for programs for compiling.
36 AC_LIBLTDL_CONVENIENCE
39 dnl Checks for X libraries.
42 dnl Checks for standard header files.
46 AC_CHECK_HEADERS([fcntl.h langinfo.h limits.h locale.h stdlib.h \
47 string.h strings.h sys/time.h unistd.h])
49 dnl Checks for typedefs, structures, and compiler characteristics.
55 dnl Checks for endian. This influence the default UTF-16 definition.
58 dnl Checks for library functions.
67 AC_CHECK_FUNCS(memmove memset nl_langinfo putenv regcomp setlocale)
68 AC_CHECK_FUNCS(strchr strdup gettimeofday)
70 dnl Checks where the m17n database is installed.
72 AC_CHECK_PROG(HAVE_M17N_DB, m17n-db, yes)
73 if test "x$HAVE_M17N_DB" = "xyes"; then
76 M17NDIR="${datadir}/m17n"
81 dnl Checks if dlopen exists, and if it's in libc or libdl.
83 AC_SEARCH_LIBS(dlopen, dl,
84 AC_DEFINE(HAVE_DLOPEN, 1,
85 [Define to 1 if you have the funciton dlopen.]))
87 dnl Check several libraries without adding -lxxx to LIBS, without
88 dnl defining HAVE_LIBXXX nor HAVE_XXX_H because they are used only by
89 dnl some libraries (e.g. libm17n-X.so). Instead, define XXX_LD_FLAGS
90 dnl and HAVE_XXX if library XXX is available. CPPFLAGS will be
95 dnl Check for fribidi library.
96 save_CPPFLAGS="$CPPFLAGS"
98 AC_CHECK_PROG(HAVE_FRIBIDI_CONFIG, fribidi-config, yes)
99 if test "$HAVE_FRIBIDI_CONFIG" = "xyes"; then
100 CPPFLAGS="$CPPFLAGS `fribidi-config --cflags`"
101 FRIBIDI_LD_FLAGS="`fribidi-config --libs`"
102 LIBS="$LIBS $FRIBIDI_LD_FLAGS"
104 FRIBIDI_LD_FLAGS=-lfribidi
106 AC_CHECK_LIB(fribidi, fribidi_set_mirroring, HAVE_FRIBIDI=yes, HAVE_FRIBIDI=no)
107 AC_CHECK_HEADER(fribidi/fribidi.h,, HAVE_FRIBIDI=no)
108 if test "x$HAVE_FRIBIDI" = "xyes"; then
109 AC_DEFINE(HAVE_FRIBIDI, 1,
110 [Define to 1 if you have Fribidi library and header file.])
111 M17N_EXT_LIBS="$M17N_EXT_LIBS fribidi"
113 CPPFLAGS="$save_CPPFLAGS"
117 AC_SUBST(FRIBIDI_LD_FLAGS)
119 dnl Check for otflib usability.
120 save_CPPFLAGS="$CPPFLAGS"
122 AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes)
123 if test "x$HAVE_OTFLIB_CONFIG" = "xyes"; then
124 CPPFLAGS="$CPPFLAGS `libotf-config --cflags`"
125 OTF_LD_FLAGS="`libotf-config --libs` "
126 LIBS="$LIBS $OTF_LD_FLAGS"
130 AC_CHECK_LIB(otf, OTF_open, HAVE_OTF=yes, HAVE_OTF=no)
131 AC_CHECK_HEADER(otf.h,, HAVE_OTF=no)
132 CPPFLAGS="$save_CPPFLAGS"
133 if test "x$HAVE_OTF" = "xyes"; then
134 AC_DEFINE(HAVE_OTF, 1,
135 [Define to 1 if you have OTF library and header file.])
136 M17N_EXT_LIBS="$M17N_EXT_LIBS libotf"
138 CPPFLAGS="$save_CPPFLAGS"
142 AC_SUBST(OTF_LD_FLAGS)
144 dnl Check for Freetype2 usability.
145 AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes)
146 if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
147 FREETYPE_INC=`freetype-config --cflags`
148 save_CPPFLAGS="$CPPFLAGS"
149 CPPFLAGS="$CPPFLAGS $FREETYPE_INC"
150 AC_CHECK_HEADER(ft2build.h, HAVE_FREETYPE=yes,
151 HAVE_FREETYPE=no CPPFLAGS="$save_CPPFLAGS")
152 if test "x$HAVE_FREETYPE" = "xyes" ; then
154 LIBS="$LIBS `freetype-config --libs`"
155 AC_CHECK_LIB(freetype, FT_Init_FreeType, HAVE_FREETYPE=yes,
158 if test "x$HAVE_FREETYPE" = "xyes"; then
159 FREETYPE_LD_FLAGS=`freetype-config --libs`
160 AC_DEFINE(HAVE_FREETYPE, 1,
161 [Define to 1 if you have FreeType library and header file.])
162 M17N_EXT_LIBS="$M17N_EXT_LIBS freetype"
163 AC_CHECK_HEADER(freetype/ftbdf.h, HAVE_FTBDF_H=yes, HAVE_FTBDF_H=no,
164 [#include <ft2build.h>
165 #include FT_FREETYPE_H])
166 if test "x$HAVE_FTBDF_H" = "xyes"; then
167 AC_DEFINE(HAVE_FTBDF_H, 1,
168 [Define to 1 if you have freetype/ftbdf.h.])
173 AC_SUBST(FREETYPE_LD_FLAGS)
175 AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
177 dnl Check for Xft2 usability.
178 save_CPPFLAGS="$CPPFLAGS"
180 XFT2_LD_FLAGS="-lXft -lfreetype -lfontconfig -lXrender -lX11"
181 AC_CHECK_PROG(HAVE_XFT_CONFIG, xft-config, yes)
182 if test "x$HAVE_XFT_CONFIG" = "xyes"; then
183 CPPFLAGS="$CPPFLAGS `xft-config --cflags`"
184 XFT2_LD_FLAGS="`xft-config --libs`"
185 elif test "x$HAVE_PKG_CONFIG" = "xyes" ; then
186 if pkg-config xft ; then
187 CPPFLAGS="$CPPFLAGS `pkg-config --cflags xft`"
188 XFT2_LD_FLAGS="`pkg-config --libs xft`"
191 LIBS="$LIBS $XFT2_LD_FLAGS"
192 AC_CHECK_LIB(Xft, XftDrawCreate, HAVE_XFT2=yes, HAVE_XFT2=no)
193 AC_CHECK_HEADER(X11/Xft/Xft.h,, HAVE_XFT2=no,
194 [#include <X11/Xft/Xft.h>
195 #if XftVersion >= 20000
197 Version too old. Compiling this line should fail.
199 if test "x$HAVE_XFT2" = "xyes"; then
200 AC_DEFINE(HAVE_XFT2, 1,
201 [Define to 1 if you have Xft2 library and header file.])
202 M17N_EXT_LIBS="$M17N_EXT_LIBS xft2"
205 CPPFLAGS="$save_CPPFLAGS"
208 AC_SUBST(XFT2_LD_FLAGS)
210 dnl Check for fontconfig usability.
211 save_CPPFLAGS="$CPPFLAGS"
213 FONTCONFIG_LD_FLAGS=-lfontconfig
214 if test "x$HAVE_PKG_CONFIG" = "xyes"; then
215 if pkg-config --exists fontconfig; then
216 CPPFLAGS="$CPPFLAGS `pkg-config --cflags fontconfig`"
217 FONTCONFIG_LD_FLAGS="`pkg-config --libs fontconfig`"
218 LIBS="$LIBS $FONTCONFIG_LD_FLAGS"
221 AC_CHECK_LIB(fontconfig, FcInit, HAVE_FONTCONFIG=yes, HAVE_FONTCONFIG=no)
222 AC_CHECK_HEADER(fontconfig/fontconfig.h, , HAVE_FONTCONFIG=no)
223 if test "x$HAVE_FONTCONFIG" = "xyes"; then
224 AC_DEFINE(HAVE_FONTCONFIG, 1,
225 [Define to 1 if you have fontconfig library and header file.])
226 M17N_EXT_LIBS="$M17N_EXT_LIBS fontconfig"
229 CPPFLAGS="$save_CPPFLAGS"
232 AC_SUBST(FONTCONFIG_LD_FLAGS)
234 dnl Check for gdlib usability.
236 AC_CHECK_LIB(gd, gdImageCreate, HAVE_GD=yes, HAVE_GD=no)
237 AC_CHECK_HEADER(gd.h, , HAVE_GD=no)
238 if test "x$HAVE_GD" = "xyes"; then
239 AC_CHECK_LIB(gd, gdImageCreateTrueColor, HAVE_GD=2, HAVE_GD=1)
240 AC_DEFINE_UNQUOTED(HAVE_GD, $HAVE_GD,
241 [Define to 1 or 2 if you have gd library and header file.])
242 M17N_EXT_LIBS="$M17N_EXT_LIBS gdlib"
246 AC_SUBST(GD_LD_FLAGS)
248 dnl Check for libxml2 usability.
249 save_CPPFLAGS="$CPPFLAGS"
251 AC_CHECK_PROG(HAVE_XML2_CONFIG, xml2-config, yes)
252 if test "x$HAVE_XML2_CONFIG" = "xyes"; then
253 CPPFLAGS="$CPPFLAGS `xml2-config --cflags`"
254 XML2_LD_FLAGS="`xml2-config --libs`"
255 LIBS="$LIBS $XML2_LD_FLAGS"
257 CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2"
258 XML2_LD_FLAGS="-lxml2 -lz -lpthread -lm"
260 AC_CHECK_LIB(xml2, xmlParseMemory, HAVE_XML2=yes, HAVE_XML2=no)
261 AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/)
262 if test "x$HAVE_XML2" = "xyes"; then
263 AC_DEFINE(HAVE_XML2, 1,
264 [Define to 1 if you have libxml2 library and header file])
265 M17N_EXT_LIBS="$M17N_EXT_LIBS xml2"
268 CPPFLAGS="$save_CPPFLAGS"
271 AC_SUBST(XML2_LD_FLAGS)
273 dnl Check for Anthy usability.
274 AC_CHECK_LIB(anthydic, anthy_init_sessions, HAVE_ANTHY=yes, HAVE_ANTHY=no)
275 if test "x$HAVE_ANTHY" = "xyes"; then
276 AC_CHECK_LIB(anthy, anthy_init, HAVE_ANTHY=yes, HAVE_ANTHY=no, -lanthydic)
277 if test "x$HAVE_ANTHY" = "xyes"; then
278 AC_CHECK_HEADER(anthy/anthy.h, HAVE_ANTHY=yes, HAVE_ANTHY=no)
279 if test "x$HAVE_ANTHY" = "xyes"; then
280 AC_DEFINE(HAVE_ANTHY, 1,
281 [Define to 1 if you have Anthy library and header file])
282 M17N_EXT_LIBS="$M17N_EXT_LIBS anthy"
283 ANTHY_LD_FLAGS="-lanthy -lanthydic"
287 AC_SUBST(ANTHY_LD_FLAGS)
289 dnl Check for Ispell usability.
290 AC_CHECK_PROG(HAVE_ISPELL, ispell, yes)
291 if test "x$HAVE_ISPELL" = "xyes"; then
292 AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.])
293 M17N_EXT_LIBS="$M17N_EXT_LIBS ispell"
296 dnl Check for libwordcut (for Thai).
297 PKG_CHECK_MODULES(WORDCUT, wordcut, HAVE_WORDCUT=yes, HAVE_WORDCUT=no)
298 if test "x$HAVE_WORDCUT" = "xyes"; then
299 save_CPPFLAGS="$CPPFLAGS"
300 CPPFLAGS="$CPPFLAGS $WORDCUT_CFLAGS"
301 AC_TRY_CPP([#include <wordcut/wcwordcut.h>], , HAVE_WORDCUT=no)
302 if test "x$HAVE_WORDCUT" = "xno"; then
303 PKG_CHECK_MODULES(GLIB_2_0, glib-2.0, HAVE_GLIB_2_0=yes, HAVE_GLIB_2_0=no)
304 if test "x$HAVE_GLIB_2_0" = "xyes"; then
305 CPPFLAGS="$CPPFLAGS $GLIB_2_0_CFLAGS"
306 AC_TRY_CPP([#include <wordcut/wcwordcut.h>], HAVE_WORDCUT=yes)
309 if test "x$HAVE_WORDCUT" = "xyes"; then
310 WORDCUT_LD_FLAGS="$WORDCUT_LIBS"
311 AC_DEFINE(HAVE_WORDCUT, 1,
312 [Define if you have the wordcut library and header file])
313 M17N_EXT_LIBS="$M17N_EXT_LIBS wordcut"
315 CPPFLAGS="$save_CPPFLAGS"
318 AC_CHECK_LIB(wordcut, wordcut_init, HAVE_WORDCUT_OLD=yes)
319 if test "x$HAVE_WORDCUT_OLD" = "xyes"; then
320 if test -f "/usr/share/wordcut/tdict.wcd"; then
321 tdict="/usr/share/wordcut/tdict.wcd"
322 elif test -f "/usr/local/share/wordcut/tdict.wcd"; then
323 tdict="/usr/local/share/wordcut/tdict.wcd"
326 if test "x$tdict" != "x"; then
327 AC_DEFINE_UNQUOTED(WORDCUT_TDICT, "$tdict", [Define to tdict file name])
328 AC_DEFINE(HAVE_WORDCUT_OLD, 1,
329 [Define if you have the old version of wordcut library])
330 WORDCUT_LD_FLAGS=-lwordcut
331 M17N_EXT_LIBS="$M17N_EXT_LIBS wordcut-old"
338 AC_SUBST(WORDCUT_LD_FLAGS)
340 dnl We can't include X_CFLAGS in AM_CPPFLAGS because the generated
341 dnl Makefile put ${AM_CPPFLAGS} before ${CPPFLAGS} and that leads to
342 dnl inclusion of an incorrect header file. So, append X_CFLAGS to
343 dnl CPPFLAGS here directly.
345 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
347 dnl AC_ARG_ENABLE(xom,
348 dnl [ --enable-xom build and install XOM library.],
349 dnl XOM="$enableval")
356 AC_DEFINE_UNQUOTED(DLOPEN_SHLIB_EXT, "$SHLIB_EXT",
357 [Define to loadable module extention])
359 AC_CONFIG_FILES([Makefile
368 dnl if test "x$XOM" = "xyes"; then
369 dnl AC_CONFIG_FILES(omM17N/Makefile)
374 echo "The m17n library is configured with these external libraries."
375 echo " $M17N_EXT_LIBS"
378 dnl comment-start: "dnl "
380 dnl comment-start-skip: "\\bdnl\\b\\s *"