X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=configure.ac;h=883ee70ced71d10c2f57733c811caf8aad0ca65d;hb=521adf48df5a3d1d70046e914e86654523c3116b;hp=8e306c20597d933768cf8fd90f6f55224e9da22d;hpb=63eb200f1650d4f490d1743d93e33e7a848ac22c;p=m17n%2Fm17n-lib.git diff --git a/configure.ac b/configure.ac index 8e306c2..883ee70 100644 --- a/configure.ac +++ b/configure.ac @@ -23,36 +23,39 @@ dnl 02111-1307, USA. dnl Process this file with autoconf to produce a configure script. -AC_INIT(m17n-lib, 1.0.2, m17n-lib-bug@m17n.org) -AM_INIT_AUTOMAKE(m17n-lib, 1.0.2) +AC_INIT(m17n-lib, 1.1.0, m17n-lib-bug@m17n.org) +AM_INIT_AUTOMAKE(m17n-lib, 1.1.0) AM_CONFIG_HEADER(src/config.h) -# Checks for programs for compiling. +API_VERSION=1:0:1 +AC_SUBST(API_VERSION) + +dnl Checks for programs for compiling. AC_PROG_CC AC_LIBTOOL_DLOPEN AC_LIBLTDL_CONVENIENCE AM_PROG_LIBTOOL -# Checks for X libraries. +dnl Checks for X libraries. AC_PATH_XTRA -# Checks for standard header files. +dnl Checks for standard header files. AC_HEADER_STDC 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]) -# Checks for typedefs, structures, and compiler characteristics. +dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T AC_STRUCT_TM -# Checks for endian. This influence the default UTF-16 definition. +dnl Checks for endian. This influence the default UTF-16 definition. AC_C_BIGENDIAN -# Checks for library functions. +dnl Checks for library functions. AC_FUNC_ALLOCA AC_FUNC_MALLOC AC_FUNC_REALLOC @@ -64,12 +67,30 @@ AC_FUNC_STRTOD AC_CHECK_FUNCS(memmove memset nl_langinfo putenv regcomp setlocale) AC_CHECK_FUNCS(strchr strdup gettimeofday) -# Check several libraries without adding -lxxx to LIBS, without -# defining HAVE_LIBXXX nor HAVE_XXX_H because they are used only for -# libm17-X.so. Instead, define XXX_LD_FLAGS and HAVE_XXX if library -# XXX is available. CPPFLAGS will be augmented. +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, + AC_DEFINE(HAVE_DLOPEN, 1, + [Define to 1 if you have the funciton dlopen.])) -# Check for fribidi library. +dnl Check several libraries without adding -lxxx to LIBS, without +dnl defining HAVE_LIBXXX nor HAVE_XXX_H because they are used only by +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. + +dnl Check for fribidi library. save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS" AC_CHECK_PROG(HAVE_FRIBIDI_CONFIG, fribidi-config, yes) @@ -87,11 +108,12 @@ if test "x$HAVE_FRIBIDI" = "xyes"; then [Define to 1 if you have Fribidi library and header file.]) else CPPFLAGS="$save_CPPFLAGS" + FRIBIDI_LD_FLAGS= fi LIBS="$save_LIBS" AC_SUBST(FRIBIDI_LD_FLAGS) -# Check for otflib usability. +dnl Check for otflib usability. save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS" AC_CHECK_PROG(HAVE_OTFLIB_CONFIG, libotf-config, yes) @@ -104,32 +126,33 @@ else fi AC_CHECK_LIB(otf, OTF_open, HAVE_OTF=yes, HAVE_OTF=no) AC_CHECK_HEADER(otf.h,, HAVE_OTF=no) -CPPFLAGS=$save_CPPFLAGS +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 CPPFLAGS="$save_CPPFLAGS" + OTF_LD_FLAGS= fi LIBS="$save_LIBS" AC_SUBST(OTF_LD_FLAGS) -# Check for Freetype2 usability. +dnl Check for Freetype2 usability. AC_CHECK_PROG(HAVE_FREETYPE_CONFIG, freetype-config, yes) if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then FREETYPE_INC=`freetype-config --cflags` - save_CPPFLAGS=$CPPFLAGS + save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $FREETYPE_INC" AC_CHECK_HEADER(ft2build.h, HAVE_FREETYPE=yes, - HAVE_FREETYPE=no CPPFLAGS=$save_CPPFLAGS) + HAVE_FREETYPE=no CPPFLAGS="$save_CPPFLAGS") if test "x$HAVE_FREETYPE" = "xyes" ; then - save_LIBS=$LIBS + save_LIBS="$LIBS" LIBS="$LIBS `freetype-config --libs`" AC_CHECK_LIB(freetype, FT_Init_FreeType, HAVE_FREETYPE=yes, HAVE_FREETYPE=no) - LIBS=$save_LIBS + LIBS="$save_LIBS" if test "x$HAVE_FREETYPE" = "xyes"; then - FREETYPE_LD_FLAGS=`freetype-config --libtool` + FREETYPE_LD_FLAGS=`freetype-config --libs` AC_DEFINE(HAVE_FREETYPE, 1, [Define to 1 if you have FreeType library and header file.]) fi @@ -137,7 +160,7 @@ if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then fi AC_SUBST(FREETYPE_LD_FLAGS) -# Check for Xft2 usability. +dnl Check for Xft2 usability. save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS" AC_CHECK_PROG(HAVE_XFT_CONFIG, xft-config, yes) @@ -145,6 +168,8 @@ 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" fi AC_CHECK_LIB(Xft, XftDrawCreate, HAVE_XFT2=yes, HAVE_XFT2=no) AC_CHECK_HEADER(X11/Xft/Xft.h,, HAVE_XFT2=no, @@ -157,22 +182,60 @@ if test "x$HAVE_XFT2" = "xyes"; then AC_DEFINE(HAVE_XFT2, 1, [Define to 1 if you have Xft2 library and header file.]) else + XFT2_LD_FLAGS= CPPFLAGS="$save_CPPFLAGS" fi LIBS="$save_LIBS" AC_SUBST(XFT2_LD_FLAGS) -# Check for libxml2 usability. +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`" + FONTCONFIG_LD_FLAGS="`pkg-config --libs fontconfig`" + LIBS="$LIBS $FONTCONFIG_LD_FLAGS" + 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, + [Define to 1 if you have fontconfig library and header file.]) +else + FONTCONFIG_LD_FLAGS= + CPPFLAGS="$save_CPPFLAGS" +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 if you have gd library and header file.]) + GD_LD_FLAGS=-lgd +fi +LIBS="$save_LIBS" +AC_SUBST(GD_LD_FLAGS) + +dnl Check for libxml2 usability. save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS" AC_CHECK_PROG(HAVE_XML2_CONFIG, xml2-config, yes) -if test "x$HAVE_XML2" = "xyes"; then +if test "x$HAVE_XML2_CONFIG" = "xyes"; then CPPFLAGS="$CPPFLAGS `xml2-config --cflags`" XML2_LD_FLAGS="`xml2-config --libs`" LIBS="$LIBS $XML2_LD_FLAGS" else CPPFLAGS="$CPPFLAGS -I/usr/include/libxml2" - XML2_LD_FLAGS="-lxml2 -lz -m" + XML2_LD_FLAGS="-lxml2 -lz -lpthread -lm" fi AC_CHECK_LIB(xml2, xmlParseMemory, HAVE_XML2=yes, HAVE_XML2=no) AC_CHECK_HEADER(libxml/tree.h,, HAVE_XML2=no, /**/) @@ -180,12 +243,13 @@ if test "x$HAVE_XML2" = "xyes"; then AC_DEFINE(HAVE_XML2, 1, [Define to 1 if you have libxml2 library and header file]) else + XML2_LD_FLAGS= CPPFLAGS="$save_CPPFLAGS" fi LIBS="$save_LIBS" AC_SUBST(XML2_LD_FLAGS) -# Check for Anthy usability. +dnl Check for Anthy usability. AC_CHECK_LIB(anthydic, anthy_init_sessions, 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) @@ -200,13 +264,13 @@ if test "x$HAVE_ANTHY" = "xyes"; then fi AC_SUBST(ANTHY_LD_FLAGS) -# Check for Ispell usability. +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.]) fi -# Check for libwordcut (for Thai). +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 @@ -224,19 +288,16 @@ if test "x$HAVE_WORDCUT" = "xyes"; then fi AC_SUBST(WORDCUT_LD_FLAGS) -AC_ARG_ENABLE(xom, - [ --enable-xom build and install XOM library.], - XOM="$enableval") +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 +dnl CPPFLAGS here directly. -AC_ARG_WITH(efence, - [ --with-efence build example programs with efence.], - EFENCE="$withval") -AC_CHECK_LIB(efence, malloc, HAVE_EFENCE=yes) +CPPFLAGS="$CPPFLAGS $X_CFLAGS" -if test "x$EFENCE" = "xyes" && test "x$HAVE_EFENCE" = "xyes"; then - EFENCE_LIB=-lefence -fi -AC_SUBST(EFENCE_LIB) +dnl AC_ARG_ENABLE(xom, +dnl [ --enable-xom build and install XOM library.], +dnl XOM="$enableval") case $host_os in darwin* | rhapsody*) @@ -250,9 +311,9 @@ AC_CONFIG_FILES([Makefile m17n-config ]) -if test "x$XOM" = "xyes"; then - AC_CONFIG_FILES(omM17N/Makefile) -fi +dnl if test "x$XOM" = "xyes"; then +dnl AC_CONFIG_FILES(omM17N/Makefile) +dnl fi AC_OUTPUT