この頁はFreeWnnのjserver解析を記録したものです。

はじめに

趣味でjserverを解析することにしました。 単にソースを眺めるだけでなく、修正も意識しています。 プログラミングができる人の参考のために書いているため いろいろ略している部分がありますが、了承下さい。

CVSリポジトリからの取り出し

次の要領でリポジトリからソースを取り出しました。

export CVSROOT=:ext:freewnn@cvs.dsl.gr.jp:/cvs
cvs -z3 co -d jserver FreeWnn/Wnn/jserver
cd jserver
cvs -z3 co -d include FreeWnn/Wnn/include
cvs -z3 co -d jutil FreeWnn/Wnn/jutil
cvs -z3 co -d jlib FreeWnn/Wnn/jlib
cvs -z3 co -d misc FreeWnn/Wnn/etc

作業のために jserver-br1 ブランチタグを生成しました。

cvs tag -b jserver-br1
cvs -z3 up -r jserver-br1

従って、私の作業内容を追いたい人は、次のようにして取り出して下さい。

cd $WORK
export CVSROOT=:ext:freewnn@cvs.dsl.gr.jp:/cvs
cvs -z3 co -r jserver-br1 -d jserver FreeWnn/Wnn/jserver
cd jserver
cvs -z3 co -r jserver-br1 -d include FreeWnn/Wnn/include
cvs -z3 co -r jserver-br1 -d jutil FreeWnn/Wnn/jutil
cvs -z3 co -r jserver-br1 -d jlib FreeWnn/Wnn/jlib
cvs -z3 co -r jserver-br1 -d misc FreeWnn/Wnn/etc
ちなみに、releaseする時には 次のようにします。
cd $WORK
cvs -d :ext:freewnn@cvs.dsl.gr.jp:/cvs -z3 release -d jserver
CVSWEBで参照する時にはjserver-XXタグを選択してみてください。

作業の記録

次のファイルは使われないので削除

MALLOC.c
Makefileをみても使われていない。
jlib/getopt.c
一般にlibcについているのでいらない
misc/bcopy.c
stdcのmemmoveを使うようにソースを修正する
misc/mkdir.c
mkdirシステムコールを持たないシステムでは もう利用されないでしょう?
jserver_id.c
使われるコードは含まれていない

次のコードはjserverの構築には関係ない (kWnnやcWnnのコンパイルに利用されるもの)なので コンパイル候補から外す。

de_vars.cをde.cに含めて破棄

snd_rcv.cをreadfile.cに含めて破棄

cat kai_area.c jmt0.c mknode[012].c get_kaiarea.c > mknode.c

kai_area.c jmt0.c mknode[012].c get_kaiarea.c は破棄

コード中に含まれる #ifdef nodef は随時削除

jserverをコンパイルするためのサンプル Makefileを作成。 自分の手元での検証のために FreeBSD4.x むけで準備


E-mail:iwao@dsl.gr.jp