X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.ac;h=2e627ea025eb5a8482c9e18b2923fb785bc9b936;hb=74fe6267ab87c912c9f8d3c373655f4b60c84f7b;hp=de21bc4854a6308a3b46b68ec29539ad76658ab1;hpb=fc414c24daf3f77e2630f9a32c770adb1752e3bf;p=m17n%2Fm17n-lib.git diff --git a/configure.ac b/configure.ac index de21bc4..2e627ea 100644 --- a/configure.ac +++ b/configure.ac @@ -23,8 +23,8 @@ dnl 02111-1307, USA. dnl Process this file with autoconf to produce a configure script. -AC_INIT(m17n-lib, 1.1.0, m17n-lib-bug@m17n.org) -AM_INIT_AUTOMAKE(m17n-lib, 1.1.0) +AC_INIT(m17n-lib, 1.3.0, m17n-lib-bug@m17n.org) +AM_INIT_AUTOMAKE(m17n-lib, 1.3.0) AM_CONFIG_HEADER(src/config.h) API_VERSION=1:0:1 @@ -45,6 +45,14 @@ AC_HEADER_DIRENT 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, HAVE_XAW=yes) +if test "x$HAVE_XAW" = "xyes"; then + XAW_LD_FLAGS=-lXaw + AC_DEFINE(HAVE_X11_XAW_COMMAND_H, 1, + [Define to 1 if you have the Xaw header files.]) +fi + +AC_SUBST(XAW_LD_FLAGS) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -67,6 +75,17 @@ AC_FUNC_STRTOD AC_CHECK_FUNCS(memmove memset nl_langinfo putenv regcomp setlocale) AC_CHECK_FUNCS(strchr strdup gettimeofday) +dnl Checks where the m17n database is installed. + +AC_CHECK_PROG(HAVE_M17N_DB, m17n-db, yes) +if test "x$HAVE_M17N_DB" = "xyes"; then + M17NDIR=`m17n-db` +else + M17NDIR="${datadir}/m17n" +fi +AC_SUBST(M17NDIR) + + dnl Checks if dlopen exists, and if it's in libc or libdl. AC_SEARCH_LIBS(dlopen, dl, @@ -79,6 +98,8 @@ dnl some libraries (e.g. libm17n-X.so). Instead, define XXX_LD_FLAGS dnl and HAVE_XXX if library XXX is available. CPPFLAGS will be dnl augmented. +M17N_EXT_LIBS= + dnl Check for fribidi library. save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS" @@ -95,6 +116,7 @@ AC_CHECK_HEADER(fribidi/fribidi.h,, HAVE_FRIBIDI=no) if test "x$HAVE_FRIBIDI" = "xyes"; then AC_DEFINE(HAVE_FRIBIDI, 1, [Define to 1 if you have Fribidi library and header file.]) + M17N_EXT_LIBS="$M17N_EXT_LIBS fribidi" else CPPFLAGS="$save_CPPFLAGS" FRIBIDI_LD_FLAGS= @@ -119,6 +141,7 @@ 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= @@ -144,22 +167,36 @@ if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then FREETYPE_LD_FLAGS=`freetype-config --libs` AC_DEFINE(HAVE_FREETYPE, 1, [Define to 1 if you have FreeType library and header file.]) + M17N_EXT_LIBS="$M17N_EXT_LIBS freetype" + AC_CHECK_HEADER(freetype/ftbdf.h, HAVE_FTBDF_H=yes, HAVE_FTBDF_H=no, + [#include +#include FT_FREETYPE_H]) + if test "x$HAVE_FTBDF_H" = "xyes"; then + AC_DEFINE(HAVE_FTBDF_H, 1, + [Define to 1 if you have freetype/ftbdf.h.]) + fi 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" +XFT2_LD_FLAGS="-lXft -lfreetype -lfontconfig -lXrender -lX11" AC_CHECK_PROG(HAVE_XFT_CONFIG, xft-config, yes) if test "x$HAVE_XFT_CONFIG" = "xyes"; then CPPFLAGS="$CPPFLAGS `xft-config --cflags`" XFT2_LD_FLAGS="`xft-config --libs`" - LIBS="$LIBS $XFT2_LD_FLAGS" -else - XFT2_LD_FLAGS="-lXft -lfreetype -lfontconfig -lXrender -lX11" +elif test "x$HAVE_PKG_CONFIG" = "xyes" ; then + if pkg-config xft ; then + CPPFLAGS="$CPPFLAGS `pkg-config --cflags xft`" + XFT2_LD_FLAGS="`pkg-config --libs xft`" + fi fi +LIBS="$LIBS $XFT2_LD_FLAGS" AC_CHECK_LIB(Xft, XftDrawCreate, HAVE_XFT2=yes, HAVE_XFT2=no) AC_CHECK_HEADER(X11/Xft/Xft.h,, HAVE_XFT2=no, [#include @@ -170,6 +207,7 @@ Version too old. Compiling this line should fail. if test "x$HAVE_XFT2" = "xyes"; then AC_DEFINE(HAVE_XFT2, 1, [Define to 1 if you have Xft2 library and header file.]) + M17N_EXT_LIBS="$M17N_EXT_LIBS xft2" else XFT2_LD_FLAGS= CPPFLAGS="$save_CPPFLAGS" @@ -181,7 +219,6 @@ dnl Check for fontconfig usability. save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS" FONTCONFIG_LD_FLAGS=-lfontconfig -AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes) if test "x$HAVE_PKG_CONFIG" = "xyes"; then if pkg-config --exists fontconfig; then CPPFLAGS="$CPPFLAGS `pkg-config --cflags fontconfig`" @@ -194,6 +231,7 @@ 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" @@ -208,7 +246,8 @@ 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 if you have gd library and header file.]) + [Define to 1 or 2 if you have gd library and header file.]) + M17N_EXT_LIBS="$M17N_EXT_LIBS gdlib" GD_LD_FLAGS=-lgd fi LIBS="$save_LIBS" @@ -231,6 +270,7 @@ AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/) if test "x$HAVE_XML2" = "xyes"; then AC_DEFINE(HAVE_XML2, 1, [Define to 1 if you have libxml2 library and header file]) + M17N_EXT_LIBS="$M17N_EXT_LIBS xml2" else XML2_LD_FLAGS= CPPFLAGS="$save_CPPFLAGS" @@ -247,6 +287,7 @@ if test "x$HAVE_ANTHY" = "xyes"; then 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 @@ -257,25 +298,74 @@ dnl Check for Ispell usability. AC_CHECK_PROG(HAVE_ISPELL, ispell, yes) if test "x$HAVE_ISPELL" = "xyes"; then AC_DEFINE(HAVE_ISPELL, 1, [Define if ispell is available.]) + M17N_EXT_LIBS="$M17N_EXT_LIBS ispell" fi -dnl Check for libwordcut (for Thai). -AC_CHECK_LIB(wordcut, wordcut_init, HAVE_WORDCUT=yes, HAVE_WORDCUT=no) -if test "x$HAVE_WORDCUT" = "xyes"; then - if test -f "/usr/share/wordcut/tdict.wcd"; then - tdict="/usr/share/wordcut/tdict.wcd" - elif test -f "/usr/local/share/wordcut/tdict.wcd"; then - tdict="/usr/local/share/wordcut/tdict.wcd" +dnl Check for Thai word-segmentation library. +dnl If we have one, define HAVE_THAI_WORDSEG and one of these: +dnl HAVE_LIBTHAI, HAVE_WORDCUT, or HAVE_WORDCUT_OLD +dnl In addition, set THAI_WORDSEG_LD_FLAGS to a proper value. + +PKG_CHECK_MODULES(LIBTHAI, libthai, HAVE_LIBTHAI=yes, HAVE_LIBTHAI=no) +PKG_CHECK_MODULES(WORDCUT, wordcut, HAVE_WORDCUT=yes, HAVE_WORDCUT=no) + +if test "x$HAVE_LIBTHAI" == "xyes"; then + + AC_DEFINE(HAVE_LIBTHAI, 1, [Define if you have libthai]) + THAI_WORDSEG_LD_FLAGS="$LIBTHAI_LIBS" + M17N_EXT_LIBS="$M17N_EXT_LIBS libthai" + HAVE_THAI_WORDSEG=yes + +elif test "x$HAVE_WORDCUT" = "xyes"; then + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $WORDCUT_CFLAGS" + AC_TRY_CPP([#include ], , 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 ], HAVE_WORDCUT=yes) + fi fi - echo "TDICT=$tdict" - if test "x$tdict" != "x"; then + if test "x$HAVE_WORDCUT" = "xyes"; then + THAI_WORDSEG_LD_FLAGS="$WORDCUT_LIBS" AC_DEFINE(HAVE_WORDCUT, 1, - [Define if you have the wordcut library and header file]) - AC_DEFINE_UNQUOTED(WORDCUT_TDICT, "$tdict", [Define to tdict file name]) - WORDCUT_LD_FLAGS=-lwordcut + [Define if you have the wordcut library and header file]) + M17N_EXT_LIBS="$M17N_EXT_LIBS wordcut" + HAVE_THAI_WORDSEG=yes + else + CPPFLAGS="$save_CPPFLAGS" + fi + +else + + AC_CHECK_LIB(wordcut, wordcut_init, HAVE_WORDCUT_OLD=yes) + if test "x$HAVE_WORDCUT_OLD" = "xyes"; then + if test -f "/usr/share/wordcut/tdict.wcd"; then + tdict="/usr/share/wordcut/tdict.wcd" + elif test -f "/usr/local/share/wordcut/tdict.wcd"; then + tdict="/usr/local/share/wordcut/tdict.wcd" + fi + echo "TDICT=$tdict" + if test "x$tdict" != "x"; then + AC_DEFINE(HAVE_WORDCUT_OLD, 1, + [Define if you have the old version of wordcut library]) + AC_DEFINE_UNQUOTED(WORDCUT_TDICT, "$tdict", [Define tdict file name]) + THAI_WORDSEG_LD_FLAGS=-lwordcut + M17N_EXT_LIBS="$M17N_EXT_LIBS wordcut-old" + HAVE_THAI_WORDSEG=yes + else + HAVE_WORDCUT=no + fi fi +fi + +if test "x$HAVE_THAI_WORDSEG" = "xyes"; then + AC_DEFINE(HAVE_THAI_WORDSEG, 1, + [Define if you have some Thai word-segmentation library]) fi -AC_SUBST(WORDCUT_LD_FLAGS) +AC_SUBST(THAI_WORDSEG_LD_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 @@ -288,16 +378,21 @@ dnl AC_ARG_ENABLE(xom, dnl [ --enable-xom build and install XOM library.], dnl XOM="$enableval") +SHLIB_EXT=".so" case $host_os in darwin* | rhapsody*) - AC_DEFINE(DLOPEN_SHLIB_EXT, ".dylib", - [Define to loadable module extention]);; + SHLIB_EXT=".dylib";; esac +AC_DEFINE_UNQUOTED(DLOPEN_SHLIB_EXT, "$SHLIB_EXT", + [Define to loadable module extention]) AC_CONFIG_FILES([Makefile src/Makefile example/Makefile m17n-config + m17n-core.pc + m17n-shell.pc + m17n-gui.pc ]) dnl if test "x$XOM" = "xyes"; then @@ -306,6 +401,9 @@ dnl fi AC_OUTPUT +echo "The m17n library is configured with these external libraries." +echo " $M17N_EXT_LIBS" + dnl Local Variables: dnl comment-start: "dnl " dnl comment-end: ""