[Namazu-devel-ja 1589] Re: --version-infoLTVERSION について
Tadamasa Teranishi
yw3t-trns @ asahi-net.or.jp
2007年 5月 7日 (月) 21:25:50 JST
寺西です。
NOKUBI Takatsugu wrote:
>
> そのあたりに詳しそうな人にちょっと聞いてみました。
>
> 結論からいえば、sonameをいじるよりもlibnmz自体の名前をlibnmz-2.1等に
> するのが良いだろうとのことでした。
これは -release オプションを使うという意味でしょうか?
それとも自前でライブラリ名にリリース番号を埋め込んで、-version-info
でライブラリのバージョン管理をするという意味でしょうか?
おそらく後者だろうと思いますが、その場合の修正は比較的簡単なもので
しょうか?
> libtoolが意図している使われかたではないので、私としては違和感を強く
> 感じます。
libtoolの意図とはどのようなものなのでしょうか。
ともかく、libtool には Namazu の開発状況にそったモデルは用意されて
いないし、想定もされていないように思いますが...。
# soname が少なくとももう一桁ぐらいないとあんまり有効ではないように
# 思うのですがねぇ。
> そもそも開発版と安定版の共存をする必要があるのかどうかを論じる必要も
> あるかな、と最初は思ったのですが、開発者からみればそれ自体は必要ですね、
> やっぱり。
現状、開発版への修正が次回の安定版リリース時に全て盛り込まれるわけ
ではないので、(soname が直線的なインターフェイス番号管理なため)
開発版と安定版を共存したくてもできませんね。
-release で分けるのは簡単明解ですが、リリースの度にバイナリ互換性が
なくなるのも少々勿体ない気はします。
# 現状のバージョン管理ができていないよりはよっぽどマシですけど。
ところで、
> そこで、インターフェイス番号を次のように割り振るのはどうでしょうか?
>
> 2.0.X では 0 <= C <= 99 とする。
> 2.1.X では 100 <= C <= 199 とする。
> 2.2.X では 200 <= C <= 299 とする。
> 2.3.X では 300 <= C <= 399 とする。
>
> 各ブランチでインターフェイス番号は2桁あれば十分でしょう。
> 3.X.X とか 4.X.X とかまでは考えていませんが、ライブラリ名を変更すれ
> ば良いと思います。
と3.X,4.X ではライブラリ名を変更すると書いておきながら、2.1.X,2.2.X,
2.3.X でライブラリ名を変更するという発想は持っていませんでした。
インターフェイス番号を別の領域に分けるということは、ライブラリ名を
変更することとほぼ同じことですから。分けてしまう方がすっきりするなら
分けてしまいましょうか。
別名ライブラリが沢山できてしまうのに抵抗がないわけではないですが、
必要なことなら仕方ありませんね。
次は Windows の方ですが、こっちはどうしましょうか。
DLL 名にも 2_1 とか 2_3 とか入れましょうか。
DLL の方はあまり番号を入れて管理されている例はありませんけどね。
(msvcr*.dll ぐらいかな)
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E
Namazu-devel-ja メーリングリストの案内