X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.ac;h=8437fc45776e31feef73266a47383210362fab62;hb=0eae0dba032737b26919abd644feff35841297b5;hp=e7e57efa8d90dc86bde660657de8c0bb6b41171b;hpb=2597b5815a7dcac9f37c4bbe420a0282ed3197d3;p=m17n%2Fm17n-lib.git diff --git a/configure.ac b/configure.ac index e7e57ef..8437fc4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl configure.ac -- autoconf script for the m17n library. -dnl Copyright (C) 2003, 2004 +dnl Copyright (C) 2003, 2004, 2005 dnl National Institute of Advanced Industrial Science and Technology (AIST) dnl Registration Number H15PRO112 @@ -23,9 +23,10 @@ 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) +AM_MAINTAINER_MODE API_VERSION=1:0:1 AC_SUBST(API_VERSION) @@ -45,6 +46,7 @@ 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) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST @@ -77,6 +79,15 @@ else fi AC_SUBST(M17NDIR) +dnl Checks which levels of APIs should be compiled. + +AC_ARG_ENABLE(gui, + AC_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. @@ -90,11 +101,29 @@ 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= + +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" @@ -106,6 +135,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= @@ -114,27 +144,36 @@ LIBS="$save_LIBS" 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.]) -else +AC_ARG_WITH(libotf, + AC_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) CPPFLAGS="$save_CPPFLAGS" - OTF_LD_FLAGS= + 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= + fi + LIBS="$save_LIBS" fi -LIBS="$save_LIBS" AC_SUBST(OTF_LD_FLAGS) dnl Check for Freetype2 usability. @@ -155,6 +194,7 @@ 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]) @@ -162,6 +202,7 @@ if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then 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 @@ -194,6 +235,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" @@ -217,6 +259,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" @@ -225,18 +268,28 @@ 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 if you have gd library and header file.]) - GD_LD_FLAGS=-lgd +AC_ARG_WITH(gd, + AC_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" + 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" @@ -254,6 +307,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" @@ -268,9 +322,11 @@ if test "x$HAVE_ANTHY" = "xyes"; then 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]) - ANTHY_LD_FLAGS="-lanthy -lanthydic" + 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" + CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_ANTHY" fi fi fi @@ -280,25 +336,77 @@ 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" + CONFIG_FLAGS="$CONFIG_FLAGS -DHAVE_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) + +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 @@ -311,11 +419,13 @@ 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 @@ -332,6 +442,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: ""