Doxygen's section name fixed.
[m17n/m17n-lib.git] / configure.ac
index 7d4bd64..7760919 100644 (file)
@@ -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.2.0, m17n-lib-bug@m17n.org)
+AM_INIT_AUTOMAKE(m17n-lib, 1.2.0)
 AM_CONFIG_HEADER(src/config.h)
 
 API_VERSION=1:0:1
@@ -67,6 +67,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 +90,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 +108,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 +133,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=
@@ -141,25 +156,39 @@ if test "x$HAVE_FREETYPE_CONFIG" = "xyes"; then
                                             HAVE_FREETYPE=no)
     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.])
+      M17N_EXT_LIBS="$M17N_EXT_LIBS freetype"
+      AC_CHECK_HEADER(freetype/ftbdf.h, HAVE_FTBDF_H=yes, HAVE_FTBDF_H=no,
+                     [#include <ft2build.h>
+#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 <X11/Xft/Xft.h>
@@ -170,6 +199,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 +211,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 +223,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 +238,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 +262,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 +279,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,6 +290,7 @@ 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).
@@ -271,6 +305,7 @@ if test "x$HAVE_WORDCUT" = "xyes"; then
   if test "x$tdict" != "x"; then
     AC_DEFINE(HAVE_WORDCUT, 1,
              [Define if you have the wordcut library and header file])
+    M17N_EXT_LIBS="$M17N_EXT_LIBS wordcut"
     AC_DEFINE_UNQUOTED(WORDCUT_TDICT, "$tdict", [Define to tdict file name])
     WORDCUT_LD_FLAGS=-lwordcut
   fi
@@ -298,6 +333,9 @@ 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 +344,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: ""