[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00074] Re: autoconf? automake?
元木@ITLです。
In article <19990814044816P.nagae@tk.airnet.ne.jp>
nagae@tk.airnet.ne.jp (Nagae Hidetake) writes:
| 永江です。info は読み終りました。
ご苦労さまです。
| > A-1. autoconf 上でのディレクトリ構造とその決定(指定)方法
| インストール先の構造ということですよね?
|
| 大まかに言って bin と include と lib に分かれているわけですが
| 私がとりあえず考えつくのは以下の点くらいです。
|
| ・bin から sbin に移すべきものはあるか
| ・辞書は lib とは別に指定できるようにすべきか
|
| > A-2. 現在の imake から引き継いでいる定数の再定義とその決定
| > (指定)方法
| > (WNNOWNER, WNNWNNDIR, WNNBINDIR, WNNINCDIR, WNNLIBDIR 等)
|
| 指定方法は configure 時のオプションということになるでしょうが
| 言語によって変わってくる部分をどうしましょうか。
| 例えば WNNBINDIR だけ指定させて JWNNBINDIR や KWNNBINDIR は
| 強制的に $(WNNBINDIR)/Wnn4 や $(WNNBINDIR)/kWnn4 と決めちゃって
| 良いものでしょうか。
| あるいは、--bindir=/usr/local/bin/%L とかすると
| %L が言語によって変わるとか。
|
| # わかりにくいか。
# 多分穴ばっかりです。つっこみよろしくお願いします。
インストールする要素としては大雑把に以下のような分類になる
と思います。
さて、ディレクトリを、どのレベルまで分割するかの話ですが、
元木的インストールディレクトリとしては素直な方法では、
bindir 辞書ツール ($(prefix)/bin)
sbindir サーバ、サーバツール ($(prefix)/sbin)
libdir libwnn, バイナリーデータ ($(prefix)/lib)
includedir インクルードファイル ($(prefix)/include)
datadir テキストデータ ($(prefix)/share)
なのかなと思うのですが、さすがにこれでやると libdir,
datadir 以下がすごいことになるので、
wnn_bindir (j)Wnn辞書ツール ($(prefix)/bin)
cwnn_bindir cWnn辞書ツール ($(prefix)/bin)
twnn_bindir tWnn辞書ツール ($(prefix)/bin)
kwnn_bindir kWnn辞書ツール ($(prefix)/bin)
wnn_sbindir (j)Wnnサーバ、サーバツール ($(prefix)/sbin)
cwnn_sbindir cWnnサーバ、サーバツール ($(prefix)/sbin)
twnn_sbindir tWnnサーバ、サーバツール ($(prefix)/sbin)
kwnn_sbindir kWnnサーバ、サーバツール ($(prefix)/sbin)
libdir libwnn ($(prefix)/lib)
wnn_libdir バイナリーデータ ($(prefix)/lib/wnn)
wnn_dicdir 辞書 ($(prefix)/lib/wnn/dic)
wnn_userdicdir ユーザ辞書 ($(prefix)/lib/wnn/dic/usr)
wnn_includedir インクルードファイル ($(prefix)/include/wnn)
wnn_datadir テキストデータ ($(prefix)/share/wnn)
あたりが妥当ではないのかと思います。
これなら、従来のディレクトリ構成も以下のように表現できます
し、とりあえず これを デフォルトとして採用しておけば Wnn4.2
からの移行もしやすいのではないかと思います。
# 作る方地獄ってのは置いといて。
wnn_bindir (j)Wnn辞書ツール ($(prefix)/bin/Wnn4)
cwnn_bindir cWnn辞書ツール ($(prefix)/bin/cWnn4)
twnn_bindir tWnn辞書ツール ($(prefix)/bin/cWnn4)
kwnn_bindir kWnn辞書ツール ($(prefix)/bin/kWnn4)
wnn_sbindir (j)Wnnサーバ、サーバツール ($(prefix)/bin/Wnn4)
cwnn_sbindir cWnnサーバ、サーバツール ($(prefix)/bin/cWnn4)
twnn_sbindir tWnnサーバ、サーバツール ($(prefix)/bin/cWnn4)
kwnn_sbindir kWnnサーバ、サーバツール ($(prefix)/bin/kWnn4)
libdir libwnn ($(prefix)/lib)
wnn_libdir バイナリーデータ ($(prefix)/lib/wnn)
wnn_dicdir 辞書 ($(prefix)/lib/wnn/dic)
wnn_userdicdir ユーザ辞書 ($(prefix)/lib/wnn/dic/usr)
wnn_includedir インクルードファイル ($(prefix)/include/wnn)
wnn_datadir テキストデータ ($(prefix)/lib/wnn)
# 指定するのが面倒だなぁ。--enable-oldstyle とか
# --enable-newstyle だろうか :-)
--------------------------
o プログラム
(j)Wnn用辞書ツール
(j)Wnn用サーバツール
(j)Wnn用サーバ
cWnn用辞書ツール
cWnn用サーバツール
cWnn用サーバ
tWnn用サーバ
kWnn用辞書ツール
kWnn用サーバツール
kWnn用サーバ
o ライブラリ
インクルードファイル
libwnn
o テキストデータ
- 共通
Wnnライブラリのサーバとの接続環境設定ファイル(serverdefs)
uum用キーコード変換表ファイル(cvt_key_tbl*)
- 各言語毎
かな漢字変換環境初期化ファイル(wnnenvrc*)
uumの立上りの設定ファイル(uumrc*)
uumキーバインド定義ファイル(uumkey*)
uumメッセージ定義ファイル(uum.msg)
モード定義表(rk*/*)
wnnstatメッセージ定義ファイル(wnnstat.msg)
libwnnメッセージ定義ファイル(libwnn.msg)
品詞定義ファイル(hinsi.dat/cixing.data)
サーバの初期化ファイル
o バイナリーデータ
辞書
--------------------------
| > A-4. cWnn や kWnn などの Wnn/ 以下のソースファイルを読み込
| > みビルドするような場合の方針を決定。
| とりあえずの選択肢としては以下のような感じですか?
|
| ・symbolic link で Wnn/ 以下のソースを参照する(現状)
| ・$(CC) -c directory/file.c のように
| コンパイラに Wnn/ 以下を直接参照させる
なるべく(可能ならば)、$(CC) -c directory/file.c の方がいい
と思います。
symbolic link なんぞにしてしまうと別ディレクトリでのビルド
をしているときにマスターディレクトリに symbolic link しなけ
ればならないので、ちと美しくないと思います。
| 個人的には libtool を使った
| libwnn の shared library 化も魅力的です。
| A-4 あたりが確定すれば、割と簡単にできそうですね。
きっと libwnn が shared library にならないかと思っている人
は、全国に100万人ぐらいいるはずです。:-)
sin.