[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00284] Re: shared library



 元木です。

In [freewnn : No.00283]
  Tatsuo Furukawa <frkwtto@osk3.3web.ne.jp> wrote:

|     案A) FreeWnn のリリースのバージョン番号をそのままつける
|         FreeWnn 1.1.1 に付属する libwnn には 1.1.1 という名前をつける

|     案B) JLIB_VERSION を X.Y.Z に反映させる

|         現在は Wnn/include/jslib.h にて、0x4003 が定義されています。
|         0x4003 そのものをつけるのは無理でしょうから、ちょっと分解して
|         (X.Y.Z) = (4,3,0) として 4.3 とか。

 FreeWnn のバージョン、libwnn のバージョン、KKTP プロコトル
 のバージョンは各個独立しているべきだと思います。

 FreeWnn のバージョンが上がったからといって libwnn に互換性
 がなくなるわけでもありません。

 花高さんが書かれていますが、大まかな shared library のバー
 ジョン規則は以下のような感じです。

In [freewnn : No.00256]
  Shinya Hanataka <hanataka@abyss.rim.or.jp> wrote:

| X  インターフェースの削除や変更などで互換性が失われた場合に更新
| Y  インターフェースの追加があった場合に更新
| Z  インターフェースの変更のない更新があった場合

 なので、FreeWnn のバージョン規則や、JLIB_VERSION の規則とは
 相容れません。
 
 また、実行時の共有ライブラリリンク時に X が同じ 
 libwnn.so.0.1.5 と libwnn.so.0.2.1 があった場合、リンカは Y 
 が大きい libwnn.so.0.2.1 をリンクするなどバージョンを見て動
 作をします。

# libwnn.so.0.1.5 と libwnn.so.1.2.1 がある場合はプログラム
# のリンク時(コンパイル時)に使用した libwnn.so と X が同じも
# のを動的なリンクの対象とします。

 そんなこんなで、私は shared library のバージョンは、他の色々
 なバージョンとは独立しているべきだと思います。

| こう考えると、案A の方が無難に思えてきますね。でも FreeWnn Project で 
| X.Y はおろか Z の指定してしまっていいんでしょうか? (^.^;

 Z まで指定して下さい。:-)

| 案C とか、他にもアイデアありませんか?

 0.0.0 からのスタートが一番安全かつ無難だと思います。
 
# 既存の shared library 化 libwnn との conflict はどうしよう。

 というか、案A だとソースパッケージを server と library に分
 割した時に困らないですか? :-)

sin.