Author: iratqq
Date: Sat Mar  8 12:13:02 2008
New Revision: 5281

Added:
  trunk/m4/wnn.m4
Modified:
  trunk/configure.ac
  trunk/uim/Makefile.am
  trunk/uim/wnnlib.c

Log:
* uim/Makefile.am
 (libuim_wnn_la_LIBADD):
 - Use WNN_LIBS.
 (libuim_wnn_la_CPPFLAGS):
 - Use WNN_CPPFLAGS.
* uim/wnnlib.c (jcOpen2):
 - Rename WNNLIBDIR to WNNENVDIR.
* configure.ac:
 - Use AM_PATH_WNN.
* m4/wnn.m4:
 - New file.


Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac  (original)
+++ trunk/configure.ac  Sat Mar  8 12:13:02 2008
@@ -171,17 +171,7 @@
                                        @<:@default=no@:>@]),
        [
        if test "x$with_wnn" = "xyes"; then
-               AC_CHECK_HEADERS([jllib.h],
-                [AC_CHECK_LIB(wnn, jl_open_lang, use_wnn=yes, use_wnn=no)
-                ], [use_wnn="no"], [])
-               if test x"$use_wnn" = "xno"; then
-                  AC_CHECKING(libwnn requires libcrypt)
-                  AC_CHECK_HEADERS([jllib.h],
-                  [AC_CHECK_LIB(wnn, jl_open_lang, use_wnn=yes, use_wnn=no)
-                  ], [use_wnn="no"], [crypt])
-               fi
-       else
-               use_wnn="no"
+               AM_PATH_WNN(use_wnn=yes, use_wnn=no)
        fi
        ],[
        use_wnn="no"

Added: trunk/m4/wnn.m4
==============================================================================
--- (empty file)
+++ trunk/m4/wnn.m4     Sat Mar  8 12:13:02 2008
@@ -0,0 +1,54 @@
+# wnn.m4
+# Configure paths for libwnn
+
+dnl AM_PATH_WNN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl Test for WNN, and define WNNLIBDIR, LIBWNN_CPPFLAGS and LIBWNN_LIBS
+dnl
+AC_DEFUN([AM_PATH_WNN],
+[dnl
+dnl Get the cflags and libraries
+dnl
+ AC_ARG_WITH(wnn-libraries,[ --with-wnn-libraries=DIR Directory where wnn library is installed (optional)], wnn_libraries="$withval", wnn_libraries="") + AC_ARG_WITH(wnn-includes,[ --with-wnn-includes=DIR Directory where wnn header files are installed (optional)], wnn_includes="$withval", wnn_includes="")
+
+  if test "x$wnn_libraries" != "x" ; then
+      WNN_LIBS="-L$wnn_libraries"
+  elif test "x$prefix" != "xNONE"; then
+      WNN_LIBS="-L$prefix/lib"
+  fi
+
+  if test "x$wnn_includes" != "x" ; then
+      WNN_CPPFLAGS="-I$wnn_includes"
+  elif test "x$prefix" != "xNONE"; then
+      WNN_CPPFLAGS="-I$prefix/include"
+  fi
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  ac_save_LIBS="$LIBS"
+
+  CPPFLAGS="$CPPFLAGS $WNN_CPPFLAGS"
+  LIBS="$LIBS $WNN_LIBS"
+
+  AC_CHECK_HEADERS([jllib.h],
+   [AC_CHECK_LIB(wnn, jl_open_lang, use_wnn=yes, use_wnn=no)
+   ], [use_wnn="no"], [])
+  if test x"$use_wnn" = "xno"; then
+     AC_CHECKING(libwnn requires libcrypt)
+     AC_CHECK_HEADERS([jllib.h],
+     [AC_CHECK_LIB(wnn, jl_open_lang, use_wnn=yes, use_wnn=no)
+     ], [use_wnn="no"], [crypt])
+  fi
+
+  if test x"$use_wnn" = "xyes"; then
+    ifelse([$1], , :, [$1])
+  else
+    ifelse([$2], , :, [$2])
+  fi
+
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  LIBS="$ac_save_LIBS"
+
+  AC_DEFINE_UNQUOTED(WNNLIBDIR, "$wnn_libraries", [wnn library dir])
+  AC_SUBST(WNN_CPPFLAGS)
+  AC_SUBST(WNN_LIBS)
+])

Modified: trunk/uim/Makefile.am
==============================================================================
--- trunk/uim/Makefile.am       (original)
+++ trunk/uim/Makefile.am       Sat Mar  8 12:13:02 2008
@@ -85,9 +85,9 @@
if WNN
uim_plugin_LTLIBRARIES += libuim-wnn.la
libuim_wnn_la_SOURCES = wnnlib.h wnnlib.c
-libuim_wnn_la_LIBADD = libuim.la -lwnn
+libuim_wnn_la_LIBADD = libuim.la $(WNN_LIBS) -lwnn
libuim_wnn_la_LDFLAGS = -rpath $(uim_plugindir) -avoid-version -module
-libuim_wnn_la_CPPFLAGS = -I$(top_srcdir)
+libuim_wnn_la_CPPFLAGS = -I$(top_srcdir) $(WNN_CPPFLAGS)
endif

if SJ3

Modified: trunk/uim/wnnlib.c
==============================================================================
--- trunk/uim/wnnlib.c  (original)
+++ trunk/uim/wnnlib.c  Sat Mar  8 12:13:02 2008
@@ -614,8 +614,8 @@
#include        <sys/types.h>
#include        <pwd.h>

-#ifndef WNNLIBDIR
-#define WNNLIBDIR      "/usr/local/lib/wnn"
+#ifndef WNNENVDIR
+#define WNNENVDIR      WNNLIBDIR "/wnn"
#endif

#include "uim.h"
@@ -3734,12 +3734,12 @@
                rcfile = "wnnenvrc";
#endif
            } else {
-#if defined(WNNLIBDIR) && JSERVER_VERSION > 0x4030
+#if defined(WNNENVDIR) && JSERVER_VERSION > 0x4030
                static char envrc[256];
                rcfile = envrc;
-               (void)snprintf(rcfile, sizeof(envrc), "%s/ja_JP/wnnenvrc", 
WNNLIBDIR);
+               (void)snprintf(rcfile, sizeof(envrc), "%s/ja_JP/wnnenvrc", 
WNNENVDIR);
                if (access(rcfile, R_OK) != 0)
-                   (void) snprintf(rcfile, sizeof(envrc), "%s/wnnenvrc", 
WNNLIBDIR);
+                   (void) snprintf(rcfile, sizeof(envrc), "%s/wnnenvrc", 
WNNENVDIR);
#else
                rcfile = "wnnenvrc";
#endif

Reply via email to