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)
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
93 dnl Check for fribidi library.
94 save_CPPFLAGS="$CPPFLAGS"
96 AC_CHECK_PROG(HAVE_FRIBIDI_CONFIG, fribidi-config, yes)
97 if test "$HAVE_FRIBIDI_CONFIG" = "xyes"; then
98 CPPFLAGS="$CPPFLAGS `fribidi-config --cflags`"
99 FRIBIDI_LD_FLAGS="`fribidi-config --libs`"
100 LIBS="$LIBS $FRIBIDI_LD_FLAGS"
102 FRIBIDI_LD_FLAGS=-lfribidi
104 AC_CHECK_LIB(fribidi, fribidi_set_mirroring, HAVE_FRIBIDI=yes, HAVE_FRIBIDI=no)
105 AC_CHECK_HEADER(fribidi/fribidi.h,, HAVE_FRIBIDI=no)
106 if test "x$HAVE_FRIBIDI" = "xyes"; then
107 AC_DEFINE(HAVE_FRIBIDI, 1,
108 [Define to 1 if you have Fribidi library and header file.])
110 CPPFLAGS="$save_CPPFLAGS"
114 AC_SUBST(FRIBIDI_LD_FLAGS)
116 dnl Check for otflib usability.
117 save_CPPFLAGS="$CPPFLAGS"
119 AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes)
120 if test "x$HAVE_OTFLIB_CONFIG" = "xyes"; then
121 CPPFLAGS="$CPPFLAGS `libotf-config --cflags`"
122 OTF_LD_FLAGS="`libotf-config --libs` "
123 LIBS="$LIBS $OTF_LD_FLAGS"
127 AC_CHECK_LIB(otf, OTF_open, HAVE_OTF=yes, HAVE_OTF=no)
128 AC_CHECK_HEADER(otf.h,, HAVE_OTF=no)
129 CPPFLAGS="$save_CPPFLAGS"
130 if test "x$HAVE_OTF" = "xyes"; then
131 AC_DEFINE(HAVE_OTF, 1,
132 [Define to 1 if you have OTF library and header file.])
134 CPPFLAGS="$save_CPPFLAGS"
138 AC_SUBST(OTF_LD_FLAGS)
140 dnl Check for Freetype2 usability.
141 AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes)
142 if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
143 FREETYPE_INC=`freetype-config --cflags`
144 save_CPPFLAGS="$CPPFLAGS"
145 CPPFLAGS="$CPPFLAGS $FREETYPE_INC"
146 AC_CHECK_HEADER(ft2build.h, HAVE_FREETYPE=yes,
147 HAVE_FREETYPE=no CPPFLAGS="$save_CPPFLAGS")
148 if test "x$HAVE_FREETYPE" = "xyes" ; then
150 LIBS="$LIBS `freetype-config --libs`"
151 AC_CHECK_LIB(freetype, FT_Init_FreeType, HAVE_FREETYPE=yes,
154 if test "x$HAVE_FREETYPE" = "xyes"; then
155 FREETYPE_LD_FLAGS=`freetype-config --libs`
156 AC_DEFINE(HAVE_FREETYPE, 1,
157 [Define to 1 if you have FreeType library and header file.])
158 AC_CHECK_HEADER(freetype/ftbdf.h, HAVE_FTBDF_H=yes, HAVE_FTBDF_H=no,
159 [#include <ft2build.h>
160 #include FT_FREETYPE_H])
161 if test "x$HAVE_FTBDF_H" = "xyes"; then
162 AC_DEFINE(HAVE_FTBDF_H, 1,
163 [Define to 1 if you have freetype/ftbdf.h.])
168 AC_SUBST(FREETYPE_LD_FLAGS)
170 AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
172 dnl Check for Xft2 usability.
173 save_CPPFLAGS="$CPPFLAGS"
175 XFT2_LD_FLAGS="-lXft -lfreetype -lfontconfig -lXrender -lX11"
176 AC_CHECK_PROG(HAVE_XFT_CONFIG, xft-config, yes)
177 if test "x$HAVE_XFT_CONFIG" = "xyes"; then
178 CPPFLAGS="$CPPFLAGS `xft-config --cflags`"
179 XFT2_LD_FLAGS="`xft-config --libs`"
180 elif test "x$HAVE_PKG_CONFIG" = "xyes" ; then
181 if pkg-config xft ; then
182 CPPFLAGS="$CPPFLAGS `pkg-config --cflags xft`"
183 XFT2_LD_FLAGS="`pkg-config --libs xft`"
186 LIBS="$LIBS $XFT2_LD_FLAGS"
187 AC_CHECK_LIB(Xft, XftDrawCreate, HAVE_XFT2=yes, HAVE_XFT2=no)
188 AC_CHECK_HEADER(X11/Xft/Xft.h,, HAVE_XFT2=no,
189 [#include <X11/Xft/Xft.h>
190 #if XftVersion >= 20000
192 Version too old. Compiling this line should fail.
194 if test "x$HAVE_XFT2" = "xyes"; then
195 AC_DEFINE(HAVE_XFT2, 1,
196 [Define to 1 if you have Xft2 library and header file.])
199 CPPFLAGS="$save_CPPFLAGS"
202 AC_SUBST(XFT2_LD_FLAGS)
204 dnl Check for fontconfig usability.
205 save_CPPFLAGS="$CPPFLAGS"
207 FONTCONFIG_LD_FLAGS=-lfontconfig
208 if test "x$HAVE_PKG_CONFIG" = "xyes"; then
209 if pkg-config --exists fontconfig; then
210 CPPFLAGS="$CPPFLAGS `pkg-config --cflags fontconfig`"
211 FONTCONFIG_LD_FLAGS="`pkg-config --libs fontconfig`"
212 LIBS="$LIBS $FONTCONFIG_LD_FLAGS"
215 AC_CHECK_LIB(fontconfig, FcInit, HAVE_FONTCONFIG=yes, HAVE_FONTCONFIG=no)
216 AC_CHECK_HEADER(fontconfig/fontconfig.h, , HAVE_FONTCONFIG=no)
217 if test "x$HAVE_FONTCONFIG" = "xyes"; then
218 AC_DEFINE(HAVE_FONTCONFIG, 1,
219 [Define to 1 if you have fontconfig library and header file.])
222 CPPFLAGS="$save_CPPFLAGS"
225 AC_SUBST(FONTCONFIG_LD_FLAGS)
227 dnl Check for gdlib usability.
229 AC_CHECK_LIB(gd, gdImageCreate, HAVE_GD=yes, HAVE_GD=no)
230 AC_CHECK_HEADER(gd.h, , HAVE_GD=no)
231 if test "x$HAVE_GD" = "xyes"; then
232 AC_CHECK_LIB(gd, gdImageCreateTrueColor, HAVE_GD=2, HAVE_GD=1)
233 AC_DEFINE_UNQUOTED(HAVE_GD, $HAVE_GD,
234 [Define to 1 if you have gd library and header file.])
238 AC_SUBST(GD_LD_FLAGS)
240 dnl Check for libxml2 usability.
241 save_CPPFLAGS="$CPPFLAGS"
243 AC_CHECK_PROG(HAVE_XML2_CONFIG, xml2-config, yes)
244 if test "x$HAVE_XML2_CONFIG" = "xyes"; then
245 CPPFLAGS="$CPPFLAGS `xml2-config --cflags`"
246 XML2_LD_FLAGS="`xml2-config --libs`"
247 LIBS="$LIBS $XML2_LD_FLAGS"
249 CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2"
250 XML2_LD_FLAGS="-lxml2 -lz -lpthread -lm"
252 AC_CHECK_LIB(xml2, xmlParseMemory, HAVE_XML2=yes, HAVE_XML2=no)
253 AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/)
254 if test "x$HAVE_XML2" = "xyes"; then
255 AC_DEFINE(HAVE_XML2, 1,
256 [Define to 1 if you have libxml2 library and header file])
259 CPPFLAGS="$save_CPPFLAGS"
262 AC_SUBST(XML2_LD_FLAGS)
264 dnl Check for Anthy usability.
265 AC_CHECK_LIB(anthydic, anthy_init_sessions, HAVE_ANTHY=yes, HAVE_ANTHY=no)
266 if test "x$HAVE_ANTHY" = "xyes"; then
267 AC_CHECK_LIB(anthy, anthy_init, HAVE_ANTHY=yes, HAVE_ANTHY=no, -lanthydic)
268 if test "x$HAVE_ANTHY" = "xyes"; then
269 AC_CHECK_HEADER(anthy/anthy.h, HAVE_ANTHY=yes, HAVE_ANTHY=no)
270 if test "x$HAVE_ANTHY" = "xyes"; then
271 AC_DEFINE(HAVE_ANTHY, 1,
272 [Define to 1 if you have Anthy library and header file])
273 ANTHY_LD_FLAGS="-lanthy -lanthydic"
277 AC_SUBST(ANTHY_LD_FLAGS)
279 dnl Check for Ispell usability.
280 AC_CHECK_PROG(HAVE_ISPELL, ispell, yes)
281 if test "x$HAVE_ISPELL" = "xyes"; then
282 AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.])
285 dnl Check for libwordcut (for Thai).
286 AC_CHECK_LIB(wordcut, wordcut_init, HAVE_WORDCUT=yes, HAVE_WORDCUT=no)
287 if test "x$HAVE_WORDCUT" = "xyes"; then
288 if test -f "/usr/share/wordcut/tdict.wcd"; then
289 tdict="/usr/share/wordcut/tdict.wcd"
290 elif test -f "/usr/local/share/wordcut/tdict.wcd"; then
291 tdict="/usr/local/share/wordcut/tdict.wcd"
294 if test "x$tdict" != "x"; then
295 AC_DEFINE(HAVE_WORDCUT, 1,
296 [Define if you have the wordcut library and header file])
297 AC_DEFINE_UNQUOTED(WORDCUT_TDICT, "$tdict", [Define to tdict file name])
298 WORDCUT_LD_FLAGS=-lwordcut
301 AC_SUBST(WORDCUT_LD_FLAGS)
303 dnl We can't include X_CFLAGS in AM_CPPFLAGS because the generated
304 dnl Makefile put ${AM_CPPFLAGS} before ${CPPFLAGS} and that leads to
305 dnl inclusion of an incorrect header file. So, append X_CFLAGS to
306 dnl CPPFLAGS here directly.
308 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
310 dnl AC_ARG_ENABLE(xom,
311 dnl [ --enable-xom build and install XOM library.],
312 dnl XOM="$enableval")
316 AC_DEFINE(DLOPEN_SHLIB_EXT, ".dylib",
317 [Define to loadable module extention]);;
320 AC_CONFIG_FILES([Makefile
329 dnl if test "x$XOM" = "xyes"; then
330 dnl AC_CONFIG_FILES(omM17N/Makefile)
336 dnl comment-start: "dnl "
338 dnl comment-start-skip: "\\bdnl\\b\\s *"