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 if dlopen exists, and if it's in libc or libdl.
72 AC_SEARCH_LIBS(dlopen, dl,
73 AC_DEFINE(HAVE_DLOPEN, 1,
74 [Define to 1 if you have the funciton dlopen.]))
76 dnl Check several libraries without adding -lxxx to LIBS, without
77 dnl defining HAVE_LIBXXX nor HAVE_XXX_H because they are used only by
78 dnl some libraries (e.g. libm17n-X.so). Instead, define XXX_LD_FLAGS
79 dnl and HAVE_XXX if library XXX is available. CPPFLAGS will be
82 dnl Check for fribidi library.
83 save_CPPFLAGS="$CPPFLAGS"
85 AC_CHECK_PROG(HAVE_FRIBIDI_CONFIG, fribidi-config, yes)
86 if test "$HAVE_FRIBIDI_CONFIG" = "xyes"; then
87 CPPFLAGS="$CPPFLAGS `fribidi-config --cflags`"
88 FRIBIDI_LD_FLAGS="`fribidi-config --libs`"
89 LIBS="$LIBS $FRIBIDI_LD_FLAGS"
91 FRIBIDI_LD_FLAGS=-lfribidi
93 AC_CHECK_LIB(fribidi, fribidi_set_mirroring, HAVE_FRIBIDI=yes, HAVE_FRIBIDI=no)
94 AC_CHECK_HEADER(fribidi/fribidi.h,, HAVE_FRIBIDI=no)
95 if test "x$HAVE_FRIBIDI" = "xyes"; then
96 AC_DEFINE(HAVE_FRIBIDI, 1,
97 [Define to 1 if you have Fribidi library and header file.])
99 CPPFLAGS="$save_CPPFLAGS"
103 AC_SUBST(FRIBIDI_LD_FLAGS)
105 dnl Check for otflib usability.
106 save_CPPFLAGS="$CPPFLAGS"
108 AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes)
109 if test "x$HAVE_OTFLIB_CONFIG" = "xyes"; then
110 CPPFLAGS="$CPPFLAGS `libotf-config --cflags`"
111 OTF_LD_FLAGS="`libotf-config --libs` "
112 LIBS="$LIBS $OTF_LD_FLAGS"
116 AC_CHECK_LIB(otf, OTF_open, HAVE_OTF=yes, HAVE_OTF=no)
117 AC_CHECK_HEADER(otf.h,, HAVE_OTF=no)
118 CPPFLAGS="$save_CPPFLAGS"
119 if test "x$HAVE_OTF" = "xyes"; then
120 AC_DEFINE(HAVE_OTF, 1,
121 [Define to 1 if you have OTF library and header file.])
123 CPPFLAGS="$save_CPPFLAGS"
127 AC_SUBST(OTF_LD_FLAGS)
129 dnl Check for Freetype2 usability.
130 AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes)
131 if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
132 FREETYPE_INC=`freetype-config --cflags`
133 save_CPPFLAGS="$CPPFLAGS"
134 CPPFLAGS="$CPPFLAGS $FREETYPE_INC"
135 AC_CHECK_HEADER(ft2build.h, HAVE_FREETYPE=yes,
136 HAVE_FREETYPE=no CPPFLAGS="$save_CPPFLAGS")
137 if test "x$HAVE_FREETYPE" = "xyes" ; then
139 LIBS="$LIBS `freetype-config --libs`"
140 AC_CHECK_LIB(freetype, FT_Init_FreeType, HAVE_FREETYPE=yes,
143 if test "x$HAVE_FREETYPE" = "xyes"; then
144 FREETYPE_LD_FLAGS=`freetype-config --libtool`
145 AC_DEFINE(HAVE_FREETYPE, 1,
146 [Define to 1 if you have FreeType library and header file.])
150 AC_SUBST(FREETYPE_LD_FLAGS)
152 dnl Check for Xft2 usability.
153 save_CPPFLAGS="$CPPFLAGS"
155 AC_CHECK_PROG(HAVE_XFT_CONFIG, xft-config, yes)
156 if test "x$HAVE_XFT_CONFIG" = "xyes"; then
157 CPPFLAGS="$CPPFLAGS `xft-config --cflags`"
158 XFT2_LD_FLAGS="`xft-config --libs`"
159 LIBS="$LIBS $XFT2_LD_FLAGS"
161 XFT2_LD_FLAGS="-lXft -lfreetype -lfontconfig -lXrender -lX11"
163 AC_CHECK_LIB(Xft, XftDrawCreate, HAVE_XFT2=yes, HAVE_XFT2=no)
164 AC_CHECK_HEADER(X11/Xft/Xft.h,, HAVE_XFT2=no,
165 [#include <X11/Xft/Xft.h>
166 #if XftVersion >= 20000
168 Version too old. Compiling this line should fail.
170 if test "x$HAVE_XFT2" = "xyes"; then
171 AC_DEFINE(HAVE_XFT2, 1,
172 [Define to 1 if you have Xft2 library and header file.])
175 CPPFLAGS="$save_CPPFLAGS"
178 AC_SUBST(XFT2_LD_FLAGS)
180 dnl Check for fontconfig usability.
181 save_CPPFLAGS="$CPPFLAGS"
183 FONTCONFIG_LD_FLAGS=-lfontconfig
184 AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
185 if test "x$HAVE_PKG_CONFIG" = "xyes"; then
186 if pkg-config --exists fontconfig; then
187 CPPFLAGS="$CPPFLAGS `pkg-config --cflags fontconfig`"
188 FONTCONFIG_LD_FLAGS="`pkg-config --libs fontconfig`"
189 LIBS="$LIBS $FONTCONFIG_LD_FLAGS"
192 AC_CHECK_LIB(fontconfig, FcInit, HAVE_FONTCONFIG=yes, HAVE_FONTCONFIG=no)
193 AC_CHECK_HEADER(fontconfig/fontconfig.h, , HAVE_FONTCONFIG=no)
194 if test "x$HAVE_FONTCONFIG" = "xyes"; then
195 AC_DEFINE(HAVE_FONTCONFIG, 1,
196 [Define to 1 if you have fontconfig library and header file.])
199 CPPFLAGS="$save_CPPFLAGS"
202 AC_SUBST(FONTCONFIG_LD_FLAGS)
204 dnl Check for gdlib usability.
206 AC_CHECK_LIB(gd, gdImageCreate, HAVE_GD=yes, HAVE_GD=no)
207 AC_CHECK_HEADER(gd.h, , HAVE_GD=no)
208 if test "x$HAVE_GD" = "xyes"; then
209 AC_CHECK_LIB(gd, gdImageCreateTrueColor, HAVE_GD=2, HAVE_GD=1)
210 AC_DEFINE_UNQUOTED(HAVE_GD, $HAVE_GD,
211 [Define to 1 if you have gd library and header file.])
215 AC_SUBST(GD_LD_FLAGS)
217 dnl Check for libxml2 usability.
218 save_CPPFLAGS="$CPPFLAGS"
220 AC_CHECK_PROG(HAVE_XML2_CONFIG, xml2-config, yes)
221 if test "x$HAVE_XML2_CONFIG" = "xyes"; then
222 CPPFLAGS="$CPPFLAGS `xml2-config --cflags`"
223 XML2_LD_FLAGS="`xml2-config --libs`"
224 LIBS="$LIBS $XML2_LD_FLAGS"
226 CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2"
227 XML2_LD_FLAGS="-lxml2 -lz -lpthread -lm"
229 AC_CHECK_LIB(xml2, xmlParseMemory, HAVE_XML2=yes, HAVE_XML2=no)
230 AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/)
231 if test "x$HAVE_XML2" = "xyes"; then
232 AC_DEFINE(HAVE_XML2, 1,
233 [Define to 1 if you have libxml2 library and header file])
236 CPPFLAGS="$save_CPPFLAGS"
239 AC_SUBST(XML2_LD_FLAGS)
241 dnl Check for Anthy usability.
242 AC_CHECK_LIB(anthydic, anthy_init_sessions, HAVE_ANTHY=yes, HAVE_ANTHY=no)
243 if test "x$HAVE_ANTHY" = "xyes"; then
244 AC_CHECK_LIB(anthy, anthy_init, HAVE_ANTHY=yes, HAVE_ANTHY=no, -lanthydic)
245 if test "x$HAVE_ANTHY" = "xyes"; then
246 AC_CHECK_HEADER(anthy/anthy.h, HAVE_ANTHY=yes, HAVE_ANTHY=no)
247 if test "x$HAVE_ANTHY" = "xyes"; then
248 AC_DEFINE(HAVE_ANTHY, 1,
249 [Define to 1 if you have Anthy library and header file])
250 ANTHY_LD_FLAGS="-lanthy -lanthydic"
254 AC_SUBST(ANTHY_LD_FLAGS)
256 dnl Check for Ispell usability.
257 AC_CHECK_PROG(HAVE_ISPELL, ispell, yes)
258 if test "x$HAVE_ISPELL" = "xyes"; then
259 AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.])
262 dnl Check for libwordcut (for Thai).
263 AC_CHECK_LIB(wordcut, wordcut_init, HAVE_WORDCUT=yes, HAVE_WORDCUT=no)
264 if test "x$HAVE_WORDCUT" = "xyes"; then
265 if test -f "/usr/share/wordcut/tdict.wcd"; then
266 tdict="/usr/share/wordcut/tdict.wcd"
267 elif test -f "/usr/local/share/wordcut/tdict.wcd"; then
268 tdict="/usr/local/share/wordcut/tdict.wcd"
271 if test "x$tdict" != "x"; then
272 AC_DEFINE(HAVE_WORDCUT, 1,
273 [Define if you have the wordcut library and header file])
274 AC_DEFINE_UNQUOTED(WORDCUT_TDICT, "$tdict", [Define to tdict file name])
275 WORDCUT_LD_FLAGS=-lwordcut
278 AC_SUBST(WORDCUT_LD_FLAGS)
280 dnl We can't include X_CFLAGS in AM_CPPFLAGS because the generated
281 dnl Makefile put ${AM_CPPFLAGS} before ${CPPFLAGS} and that leads to
282 dnl inclusion of an incorrect header file. So, append X_CFLAGS to
283 dnl CPPFLAGS here directly.
285 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
287 dnl AC_ARG_ENABLE(xom,
288 dnl [ --enable-xom build and install XOM library.],
289 dnl XOM="$enableval")
293 AC_DEFINE(DLOPEN_SHLIB_EXT, ".dylib",
294 [Define to loadable module extention]);;
297 AC_CONFIG_FILES([Makefile
303 dnl if test "x$XOM" = "xyes"; then
304 dnl AC_CONFIG_FILES(omM17N/Makefile)
310 dnl comment-start: "dnl "
312 dnl comment-start-skip: "\\bdnl\\b\\s *"