dnl configure.ac -- autoconf script for the m17n library.
-dnl Copyright (C) 2003, 2004
+dnl Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
dnl National Institute of Advanced Industrial Science and Technology (AIST)
dnl Registration Number H15PRO112
dnl You should have received a copy of the GNU Lesser General Public
dnl License along with the m17n library; if not, write to the Free
-dnl Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-dnl 02111-1307, USA.
+dnl Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(m17n-lib, 1.2.0, m17n-lib-bug@m17n.org)
-AM_INIT_AUTOMAKE(m17n-lib, 1.2.0)
-AM_CONFIG_HEADER(src/config.h)
+AC_INIT([m17n-lib],[1.6.0],[m17n-lib-bug@m17n.org])
+AC_CONFIG_MACRO_DIR([m4])
+AM_INIT_AUTOMAKE
+AC_CONFIG_HEADERS([src/config.h])
+AM_MAINTAINER_MODE
-API_VERSION=1:0:1
+API_VERSION=4:0:4
AC_SUBST(API_VERSION)
+AM_GNU_GETTEXT
+GETTEXTDIR="$datadir/locale"
+AC_SUBST(GETTEXTDIR)
+
dnl Checks for programs for compiling.
AC_PROG_CC
-AC_LIBTOOL_DLOPEN
-AC_LIBLTDL_CONVENIENCE
-AM_PROG_LIBTOOL
+LT_PREREQ([2.2.4])
+LT_INIT
dnl Checks for X libraries.
AC_PATH_XTRA
AC_HEADER_TIME
AC_CHECK_HEADERS([fcntl.h langinfo.h limits.h locale.h stdlib.h \
string.h strings.h sys/time.h unistd.h])
-AC_CHECK_HEADER(X11/Xaw/Command.h, XAW_LD_FLAGS=-lXaw)
-AC_SUBST(XAW_LD_FLAGS)
+AC_CHECK_HEADER(X11/Xaw/Command.h, HAVE_XAW=yes)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
fi
AC_SUBST(M17NDIR)
+dnl Checks which levels of APIs should be compiled.
+
+AC_ARG_ENABLE(gui,
+ AS_HELP_STRING([--with-gui],[with GUI level APIs (default is YES)]))
+
+AM_CONDITIONAL(WITH_GUI, test x$with_gui != xno)
+
+if test x$with_gui != xno; then
dnl Checks if dlopen exists, and if it's in libc or libdl.
AC_SEARCH_LIBS(dlopen, dl,
AC_DEFINE(HAVE_DLOPEN, 1,
- [Define to 1 if you have the funciton dlopen.]))
+ [Define to 1 if you have the function dlopen.]))
dnl Check several libraries without adding -lxxx to LIBS, without
dnl defining HAVE_LIBXXX nor HAVE_XXX_H because they are used only by
M17N_EXT_LIBS=
+AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
+
+if test "x$no_x" != "xyes"; then
+ AC_DEFINE(HAVE_X11, 1, [Define to 1 if you have X11.])
+ X11_LD_FLAGS="-lXt -lX11"
+ M17N_EXT_LIBS="$M17N_EXT_LIBS X11"
+
+ if test "x$HAVE_XAW" = "xyes"; then
+ AC_DEFINE(HAVE_X11_XAW_COMMAND_H, 1,
+ [Define to 1 if you have the Xaw header files.])
+ XAW_LD_FLAGS="-lXaw -lXmu"
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_X11_XAW_COMMAND_H"
+ M17N_EXT_LIBS="$M17N_EXT_LIBS Xaw"
+ fi
+fi
+AC_SUBST(X11_LD_FLAGS)
+AC_SUBST(XAW_LD_FLAGS)
+
dnl Check for fribidi library.
save_CPPFLAGS="$CPPFLAGS"
save_LIBS="$LIBS"
AC_CHECK_PROG(HAVE_FRIBIDI_CONFIG, fribidi-config, yes)
-if test "$HAVE_FRIBIDI_CONFIG" = "xyes"; then
+if test "x$HAVE_FRIBIDI_CONFIG" = "xyes"; then
CPPFLAGS="$CPPFLAGS `fribidi-config --cflags`"
FRIBIDI_LD_FLAGS="`fribidi-config --libs`"
LIBS="$LIBS $FRIBIDI_LD_FLAGS"
AC_SUBST(FRIBIDI_LD_FLAGS)
dnl Check for otflib usability.
-save_CPPFLAGS="$CPPFLAGS"
-save_LIBS="$LIBS"
-AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes)
-if test "x$HAVE_OTFLIB_CONFIG" = "xyes"; then
- CPPFLAGS="$CPPFLAGS `libotf-config --cflags`"
- OTF_LD_FLAGS="`libotf-config --libs` "
- LIBS="$LIBS $OTF_LD_FLAGS"
-else
- OTF_LD_FLAGS=-lotf
-fi
-AC_CHECK_LIB(otf, OTF_open, HAVE_OTF=yes, HAVE_OTF=no)
-AC_CHECK_HEADER(otf.h,, HAVE_OTF=no)
-CPPFLAGS="$save_CPPFLAGS"
-if test "x$HAVE_OTF" = "xyes"; then
- AC_DEFINE(HAVE_OTF, 1,
- [Define to 1 if you have OTF library and header file.])
- M17N_EXT_LIBS="$M17N_EXT_LIBS libotf"
-else
- CPPFLAGS="$save_CPPFLAGS"
- OTF_LD_FLAGS=
+AC_ARG_WITH(libotf,
+ AS_HELP_STRING([--with-libotf],[with OpenType font suport (default is YES)]))
+
+if test "x$with_libotf" != "xno"; then
+ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS"
+ AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes)
+ if test "x$HAVE_OTFLIB_CONFIG" = "xyes"; then
+ CPPFLAGS="$CPPFLAGS `libotf-config --cflags`"
+ OTF_LD_FLAGS="`libotf-config --libs`"
+ LIBS="$LIBS $OTF_LD_FLAGS"
+ else
+ OTF_LD_FLAGS=-lotf
+ fi
+ ## We check the availability of OTF_check_features
+ ## because we need libotf-0.9.4 or the later.
+ AC_CHECK_LIB(otf, OTF_check_features, HAVE_OTF=yes, HAVE_OTF=no)
+ AC_CHECK_HEADER(otf.h,, HAVE_OTF=no)
+ if test "x$HAVE_OTF" = "xyes"; then
+ AC_DEFINE(HAVE_OTF, 1,
+ [Define to 1 if you have OTF library and header file.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS libotf"
+ AC_CHECK_LIB(otf, OTF_drive_gpos2, HAVE_OTF_DRIVE_GPOS2=yes,
+ HAVE_OTF_DRIVE_GPOS2=no)
+ if test "x$HAVE_OTF_DRIVE_GPOS2" = "xyes"; then
+ AC_DEFINE(HAVE_OTF_DRIVE_GPOS2, 1,
+ [Define to 1 if the OTF library has OTF_drive_gpos2().])
+ fi
+ else
+ CPPFLAGS="$save_CPPFLAGS"
+ OTF_LD_FLAGS=
+ fi
+ LIBS="$save_LIBS"
fi
-LIBS="$save_LIBS"
AC_SUBST(OTF_LD_FLAGS)
dnl Check for Freetype2 usability.
AC_DEFINE(HAVE_FTBDF_H, 1,
[Define to 1 if you have freetype/ftbdf.h.])
fi
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_FREETYPE"
fi
fi
fi
AC_SUBST(FREETYPE_LD_FLAGS)
-AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
-
dnl Check for Xft2 usability.
save_CPPFLAGS="$CPPFLAGS"
save_LIBS="$LIBS"
AC_SUBST(XFT2_LD_FLAGS)
dnl Check for fontconfig usability.
-save_CPPFLAGS="$CPPFLAGS"
-save_LIBS="$LIBS"
-FONTCONFIG_LD_FLAGS=-lfontconfig
-if test "x$HAVE_PKG_CONFIG" = "xyes"; then
- if pkg-config --exists fontconfig; then
- CPPFLAGS="$CPPFLAGS `pkg-config --cflags fontconfig`"
- FONTCONFIG_LD_FLAGS="`pkg-config --libs fontconfig`"
- LIBS="$LIBS $FONTCONFIG_LD_FLAGS"
+AC_ARG_WITH(fontconfig,
+ AS_HELP_STRING([--with-fontconfig],[with FontConfig library (default is YES)]))
+if test "x$with_fontconfig" != "xno"; then
+ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS"
+ FONTCONFIG_LD_FLAGS=-lfontconfig
+ if test "x$HAVE_PKG_CONFIG" = "xyes"; then
+ if pkg-config --exists fontconfig; then
+ CPPFLAGS="$CPPFLAGS `pkg-config --cflags fontconfig`"
+ FONTCONFIG_LD_FLAGS="`pkg-config --libs fontconfig`"
+ LIBS="$LIBS $FONTCONFIG_LD_FLAGS"
+ fi
fi
-fi
-AC_CHECK_LIB(fontconfig, FcInit, HAVE_FONTCONFIG=yes, HAVE_FONTCONFIG=no)
-AC_CHECK_HEADER(fontconfig/fontconfig.h, , HAVE_FONTCONFIG=no)
-if test "x$HAVE_FONTCONFIG" = "xyes"; then
- AC_DEFINE(HAVE_FONTCONFIG, 1,
+ AC_CHECK_LIB(fontconfig, FcInit, HAVE_FONTCONFIG=yes, HAVE_FONTCONFIG=no)
+ AC_CHECK_HEADER(fontconfig/fontconfig.h, , HAVE_FONTCONFIG=no)
+ if test "x$HAVE_FONTCONFIG" = "xyes"; then
+ AC_DEFINE(HAVE_FONTCONFIG, 1,
[Define to 1 if you have fontconfig library and header file.])
- M17N_EXT_LIBS="$M17N_EXT_LIBS fontconfig"
-else
- FONTCONFIG_LD_FLAGS=
- CPPFLAGS="$save_CPPFLAGS"
+ M17N_EXT_LIBS="$M17N_EXT_LIBS fontconfig"
+ else
+ FONTCONFIG_LD_FLAGS=
+ CPPFLAGS="$save_CPPFLAGS"
+ fi
+ LIBS="$save_LIBS"
fi
-LIBS="$save_LIBS"
AC_SUBST(FONTCONFIG_LD_FLAGS)
dnl Check for gdlib usability.
-save_LIBS="$LIBS"
-AC_CHECK_LIB(gd, gdImageCreate, HAVE_GD=yes, HAVE_GD=no)
-AC_CHECK_HEADER(gd.h, , HAVE_GD=no)
-if test "x$HAVE_GD" = "xyes"; then
- AC_CHECK_LIB(gd, gdImageCreateTrueColor, HAVE_GD=2, HAVE_GD=1)
- AC_DEFINE_UNQUOTED(HAVE_GD, $HAVE_GD,
- [Define to 1 or 2 if you have gd library and header file.])
- M17N_EXT_LIBS="$M17N_EXT_LIBS gdlib"
- GD_LD_FLAGS=-lgd
+AC_ARG_WITH(gd,
+ AS_HELP_STRING([--with-gd],[suport graphic device by GD library (default is YES)]))
+
+if test "x$with_gd" != "xno"; then
+ save_LIBS="$LIBS"
+ AC_CHECK_LIB(gd, gdImageCreate, HAVE_GD=yes, HAVE_GD=no)
+ AC_CHECK_HEADER(gd.h, , HAVE_GD=no)
+ if test "x$HAVE_GD" = "xyes"; then
+ AC_CHECK_LIB(gd, gdImageCreateTrueColor, HAVE_GD=2, HAVE_GD=1)
+ AC_DEFINE_UNQUOTED(HAVE_GD, $HAVE_GD,
+ [Define to 1 or 2 if you have gd library and header file.])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS gdlib"
+ GD_LD_FLAGS=-lgd
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_GD=$HAVE_GD"
+ fi
+ LIBS="$save_LIBS"
fi
-LIBS="$save_LIBS"
AC_SUBST(GD_LD_FLAGS)
+fi
+
dnl Check for libxml2 usability.
save_CPPFLAGS="$CPPFLAGS"
save_LIBS="$LIBS"
AC_SUBST(XML2_LD_FLAGS)
dnl Check for Anthy usability.
-AC_CHECK_LIB(anthydic, anthy_init_sessions, HAVE_ANTHY=yes, HAVE_ANTHY=no)
+
+PKG_CHECK_MODULES(ANTHY, anthy, HAVE_ANTHY=yes, HAVE_ANTHY=no)
if test "x$HAVE_ANTHY" = "xyes"; then
- AC_CHECK_LIB(anthy, anthy_init, HAVE_ANTHY=yes, HAVE_ANTHY=no, -lanthydic)
- if test "x$HAVE_ANTHY" = "xyes"; then
- AC_CHECK_HEADER(anthy/anthy.h, HAVE_ANTHY=yes, HAVE_ANTHY=no)
- if test "x$HAVE_ANTHY" = "xyes"; then
- AC_DEFINE(HAVE_ANTHY, 1,
- [Define to 1 if you have Anthy library and header file])
- M17N_EXT_LIBS="$M17N_EXT_LIBS anthy"
- ANTHY_LD_FLAGS="-lanthy -lanthydic"
- fi
- fi
+ AC_DEFINE(HAVE_ANTHY, 1,
+ [Define to 1 if you have Anthy library and header file])
+ M17N_EXT_LIBS="$M17N_EXT_LIBS anthy"
+ ANTHY_LD_FLAGS="$ANTHY_LIBS"
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_ANTHY"
fi
AC_SUBST(ANTHY_LD_FLAGS)
if test "x$HAVE_ISPELL" = "xyes"; then
AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.])
M17N_EXT_LIBS="$M17N_EXT_LIBS ispell"
+ CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_ISPELL"
fi
dnl Check for Thai word-segmentation library.
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $WORDCUT_CFLAGS"
- AC_TRY_CPP([#include <wordcut/wcwordcut.h>], , HAVE_WORDCUT=no)
+ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <wordcut/wcwordcut.h>]])],[],[HAVE_WORDCUT=no])
if test "x$HAVE_WORDCUT" = "xno"; then
PKG_CHECK_MODULES(GLIB_2_0, glib-2.0, HAVE_GLIB_2_0=yes, HAVE_GLIB_2_0=no)
if test "x$HAVE_GLIB_2_0" = "xyes"; then
CPPFLAGS="$CPPFLAGS $GLIB_2_0_CFLAGS"
- AC_TRY_CPP([#include <wordcut/wcwordcut.h>], HAVE_WORDCUT=yes)
+ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <wordcut/wcwordcut.h>]])],[HAVE_WORDCUT=yes],[])
fi
fi
if test "x$HAVE_WORDCUT" = "xyes"; then
fi
AC_SUBST(THAI_WORDSEG_LD_FLAGS)
+AC_SUBST(CONFIG_FLAGS)
+
dnl We can't include X_CFLAGS in AM_CPPFLAGS because the generated
dnl Makefile put ${AM_CPPFLAGS} before ${CPPFLAGS} and that leads to
dnl inclusion of an incorrect header file. So, append X_CFLAGS to
AC_DEFINE_UNQUOTED(DLOPEN_SHLIB_EXT, "$SHLIB_EXT",
[Define to loadable module extention])
-AC_CONFIG_FILES([Makefile
+AC_CONFIG_FILES([Makefile po/Makefile.in intl/Makefile
src/Makefile
example/Makefile
m17n-config
m17n-core.pc
m17n-shell.pc
+ m17n-flt.pc
m17n-gui.pc
])