Previous: Updating version info, Up: Versioning


6.4 リリース情報の管理

プログラムをライブラリにリンクしたいユーザに明確になるように,パッケー ジリリース名を共有ライブラリに符号化したいこともよくあります.この便利 さは,特にGNU/Linuxで使用されます.

     trick$ ls /usr/lib/libbfd*
     /usr/lib/libbfd.a	    /usr/lib/libbfd.so.2.7.0.2
     /usr/lib/libbfd.so
     trick$

trick’として,/usr/lib/libbfd.solibbfd.so.2.7.0.2 へのシンボリックリンクで,それは ‘binutils-2.7.0.2’の一部として配布されています.

ライブラリインターフェースは,リリース番号のように,滅多に同時に変更さ れず,ライブラリ接尾子はすべてのプラットフォームを跨り,すべて同じでは ないので,残念ながらこの便利さはlibtoolのライブラリバージョンの情報の 考えと直接衝突します.

そのため,両方の見方に適応するため,‘-version-info’を使用したくな いライブラリに対し,リリース情報を設定するにあたり,‘-release’フ ラグを使用することができます.libbfdの例では,libtoolが使用する 次のリリースは,‘-release 2.9.0’でビルドされるべきで,それは, GNU/Linuxで,以下のファイルを生成します.

     trick$ ls /usr/lib/libbfd*
     /usr/lib/libbfd-2.9.0.so     /usr/lib/libbfd.a
     /usr/lib/libbfd.so
     trick$

この場合,/usr/lib/libbfd.solibbfd-2.9.0.soへのシンボ リックリンクです.これは‘binutils-2.9.0’を扱っているユーザにとっ て,バージョン情報のlibtoolの考えに妥協することなく,明白になります.

このオプションはライブラリ名を編集することに注意し,過去のライブラリリ リースとのバイナリ互換を壊したくない場合は使用しないでください.一般的 に,パッケージの内部ライブラリや,大変頻繁に変更されるインターフェース を持つ物に対してのみ‘-release’を使用してください.