namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libtool version info control
Ryuji Abe <raeva@xxxxxxxxxxxx> wrote:
>namazuをmake installして気がついたのですが、できあがったshared libraryが
>libnmz.so.0.0.1となっていました。namazu-1.9.11のライブラリとは互換性が
>ないのでまずいです。とりあえず、nmz/Makefile.am (libnmz_la_LDFLAGS)の
>-version-infoを0:1:0から1:0:0に変えました。これでlibnmz.so.1.0.0という
>shared libraryができます。
失礼しました。libtool のヴァージョン管理を勘違いしていました。
info を読み直して簡単に規則をまとめてみました。この認識で正
しいでしょうか?
更新履歴 -version-info ファイル名
---------------------------------------------------
初期状態 0:0:0 libfoo.so.0.0.0
些細なバグを修正 0:1:0 libfoo.so.0.0.1
些細なバグを修正 0:2:0 libfoo.so.0.0.2
新規の界面を追加 1:0:1 libfoo.so.0.1.0
新規の界面を追加 2:0:2 libfoo.so.0.2.0
些細なバグを修正 2:1:2 libfoo.so.0.2.1
既存の界面を変更 3:0:2 libfoo.so.1.2.0
既存の界面を削除 4:0:0 libfoo.so.4.0.0
些細なバグを修正 4:1:0 libfoo.so.4.0.1
新規の界面を追加 5:0:1 libfoo.so.4.1.0
既存の界面を変更 6:0:1 libfoo.so.5.1.0
既存の界面を削除 7:0:0 libfoo.so.7.0.0
(-version-info はリリースのタイミングで変更する)
-version-info とファイル名の関係はなんだか直感に反しているよ
うな…。(安全性は確保されているわけですが)
# 界面 = interface です
-- Satoru Takabayashi