IPA擬人化エージェント(Galatea) 
音声認識モジュール
Windows 版 (VC++版)

コンパイルの手引き

							2003/01/30
========================================================================

□おおまかな流れ

1. 必要な外部ライブラリを準備し，ソースアーカイブを展開する．
2. スタティックライブラリ juliuslib をコンパイルする．
3. julian.exe をコンパイルする
4. 文法ツール群をコンパイルする

----------------------------------------------------------------------
□１．準備

Julian をソースからコンパイルするには，win32用の zlibライブラリが必要
です．以下を入手して，そのなかのヘッダファイルと zlibstat.lib を
適当なディレクトリに置いておいてください．
	
	http://www.gzip.org/zlib/contrib/zlib113-win32.zip

文法コンパイラ mkfa を作るには，Win32 用の flex ライブラリが必要です．
Win32用flexライブラリの作成方法は下記を参考にしてください．

	http://www.geocities.com/ymotiwala/flex.html


ライブラリの準備が出来たら，julius/julian のソースを展開してください．

	% tar xzvf julius-3.3p3-Galatea.tar.gz

----------------------------------------------------------------------
□２．juliuslibのコンパイル

2.1  空のプロジェクトを作成する

  Visual C++ を起動し，新規プロジェクトを作成します．
  「ファイル」→「新規作成」→「プロジェクト」
  タイプは「Win32 static library」を選択し，プロジェクト名を juliuslib
  にします．

2.2  ソースファイルをプロジェクトに追加する

  julius-3.3p3-Galatea/libsent/src 以下にあるソースファイルを追加します．

  左の pane で，下の「FileView」を選択し，juliuslib フォルダに対して
  "Source Files" 以下に libsent/ adin, anlz,... のフォルダを新規作成し，
  それぞれのなかに libsent/src の対応するフォルダ内のソースを入れてい
  きます．「プロジェクト」→「プロジェクトへ追加」→「ファイル…」

  libsent/src/adin/ については，以下のファイルのみを追加してください．
	adin.c
	adin_file.c
	adin_portaudio.c
	adin_tcpip.c
	adin-cut.c
	zc-e.c
	zmean.c
	pa/* (pa_unix_oss以外)
  libsent/src/libjcode/ については，以下のファイルのみを追加してください．
	libjcode.c
	detect.c
  それ以外のディレクトリは，全ての .c, .h ファイルを追加します．


2.3  ビルド環境を設定する

  インクルードファイルのパスに，
	julius-3.3p3-Galatea/libsent/include
	zlib のヘッダを置いた場所
  を加えます．（「ツール」→「オプション」→「ディレクトリ」）


2.4  ビルド実行

  プロジェクトを作成したディレクトリの juliuslib/Debug 以下に
  juliuslib.lib が作成されます．

----------------------------------------------------------------------
□３．julian のコンパイル

3.1  新規プロジェクトを作成

  2.1〜2.2 と同様に，julian の新規プロジェクトを作成します．
  タイプは「Win32 console application」にします．

  ソースファイルは julius-3.3p3-Galatea/julius/ 以下の .c と .h ファイ
  ルを追加します．ただし，acconfig.h のみ省いてください．

3.2 ビルド環境の設定

  ・インクルードファイルのパスに julius-3.3p3-Galatea/libsent/include
    とzlib のヘッダの場所が入っていることを確認してください．
    （「ツール」→「オプション」→「ディレクトリ」）

  ・リンクするライブラリに以下を追加してください．

	juliuslib.lib zlibstat.lib winmm.lib wsock32.lib

    （「プロジェクト」→「設定」→「リンク」
       →「オブジェクト/ライブラリ モジュール」）

  ・juliuslib.lib と zlibstat.lib が存在する場所をそれぞれ
    ライブラリのパスに追加してください．

    （「ツール」→「オプション」→「ディレクトリ」
       →「ライブラリファイル」）

3.3 ビルド実行


  プロジェクトを作成したディレクトリの Debug/ 以下に
  julian.exe が作成されます．


----------------------------------------------------------------------
□４．その他のツールのコンパイル

Julian のときと同様に，Win32 console application のプロジェクトを新規
作成してソースを加え，設定を行いビルドしてください．

以下はツール名と，それに対応するソースファイルの置き場所です．

    adinrec	    julius-3.3p3-Galatea/adinrec/
    adintool	    julius-3.3p3-Galatea/adintool/
    mkfa	    julius-3.3p3-Galatea/gramtools/mkdfa/mkfa-1.44-flex
    generate	    julius-3.3p3-Galatea/gramtools/generate/
    accept_check    julius-3.3p3-Galatea/gramtools/accept_check/

各ツールにおいて，プロジェクトを作成し，ファイルを追加したあと，
リンクするライブラリに以下を追加してから，ビルドしてください．

	juliuslib.lib zlibstat.lib winmm.lib wsock32.lib

以下は，各ツールごとの留意点です．

  ○jcontrol
    リンクのオブジェクトには wsock32.lib のみでよい

  ○mkfa
  ・flex ライブラリをコンパイルして flexlib.lib を作る必要がある．以下を参照．
	http://www.geocities.com/ymotiwala/flex.html
  ・flex, bison で生成する gram.tab.c と lex.yy.c はあらかじめUnixで生成する．
  ・lex.yy.c 以外のファイルをプロジェクトに追加
  ・ライブラリには flexlib.lib のみを追加

----------------------------------------------------------------------
以上．
