               How to install & setup im-sdk 
                         3 Jul 2001
                 Jiro SEKIBA <jir@li18nux.org>

 This document describes how to setup im-sdk, especially
IIIMXCF(X Client Framework), which enables an application to connect
to IM server via IIIMP.  With IIIMF,  you can use several IM engine
at the same time without any modification to the existing XIM aware Clients.

* Prerequisites

 You need Xlib-I18N environment, please install Xlib-I18N first.
This can be obtained from http://www.li18nux.org/cvs/ .

 If you have already setup Xlib-I18N environment,
please get im-sdk from http://www.li18nux.org/cvs/ .

 CVS command line will be as follows

$ cvs -d:pserver:anonymous@www.li18nux.org:/cvsroot login
CVS password:<no password>

$ cvs -d:pserver:anonymous@www.li18nux.org:/cvsroot co -r r10_1 im-sdk

* Build

 There are, roughly speaking, three parts in the im-sdk, client, lib 
and server.  `client' is for client side frame work, which contains 
IIIMXCF(X Client Framework), IIIMJCF(Java Client Framework) and
IIIMECF(Emacs client framework). This document focuses on IIIMXCF.  
`lib' contains lots of codeset conversion libraries.  `server' contains 
IM server side programs and libraries,  which are IM server itself, 
X BackEnd, language Engine modules, and so on.

 - Installing libraries
   After checking out the im-sdk, get into the directory and simply
  `./configure' and make will make a client module.

  $ cd im-sdk/lib/CSConv/
  $ ./configure
  $ make

   Then, `make install' to install libraries.  This installer
  will install the libraries under /usr/lib/im/csconv.
  /usr/lib/im is a root directory of all IM related programs and libraries.

  # make install

 - Installing a client module

   Get into the directory and simply  `./configure' and  
  `make' will make a client module.

  $ cd im-sdk/client/xiiimp.so
  $ ./configure
  $ make

   After finishing compilation, please copy xiiimp.so.2 by yourself.

  # cp iiimp/xiiimp.so.2  /usr/X11R6-I18N/lib/X11/locale/common/
  # cp iiimp/xiiimp.so.2  /usr/lib/im/

 - Installing server programs and modules

   Get into the directory and simply  `./configure' and  
  `make all' will make server programs and modules. 

  $ cd im-sdk/server
  $ ./configure
  $ make all

   Then, `make install' to install libraries.  This installer
  will install programs under /usr/lib/im and language engine
  modules under /usr/lib/im/leif, and also language engine specific
  modules under /usr/lib/im/locale/<locale name>/ .

  # make install

* How to use

 Please refer each program's documents.
 IM server(htt_server) is invoked by `htt'(watch dog).
 X BackEnd(htt_xbe)is invoked by `httx'(watch dog).

 htt_xbe, the IIIMF BackEnd process for X which provides the XIM
compatibility features including spawning off X auxiliary program, and
bridging IIIM protocol via XIM protocol, under the IIIMF paradigm.
Therefore, you need it if you'd like to bridge IIIM Protocol via 
XIM Protocol or to use X auxiliary programs.
 
 With Xlib-I18N, Xlib itself has local IM, which is able to connect
IM server via IIIMP.  This can be done by xiiimp.so.2.
To enable xiiimp.so.2 module, simply run application on 
`.UTF-8' locale with Xlib-I18N, setting XMODIFIERS="@im=local".
Command line will be like as follow..

 - sh, ksh, bash.. etc 
$ XMODIFIERS=@im=local LANG=ja_JP.UTF-8 xterm

 - Any shells(csh,tcsh.. etc)
% env XMODIFIERS='@im=local' LANG=ja_JP.UTF-8 xterm

 You may need to prepare system locale by `localedef'.  
 Usually, it will be like below

# cd /usr/share/i18n/locale
# unzip ../charmaps/UTF-8.gz 
# localedef -f ../charmaps/UTF-8 -i ja_JP ja_JP.UTF-8

 That create `ja_JP.utf8' locale in /usr/lib/locale.

 - Quick check

 Get `i18n-xterm' from http://www.li18nux.org/subgroups/utildev/
And launch on the any `.UTF-8' locale.  Do not forget to set
XMODIFIERS to '@im=local' and to run `htt'.  If you succeed,
you'll see "[ English/European ]" in the status line of i18n-xterm,
and be able to switch the input language by clicking the status line.

* NOTE

 This document is in progress, and may be superseded by newer
revision or the other document without notice.
