[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
通常,新しいAutomakeのリリースにはバグの修正と新しい機能が含まれていま す.残念ながら,それらは新しいバグと非互換性ももたらす可能性があります. このことは,パッケージがAutomakeの特定のバージョンを要求する可能性とな る四つの理由になります.
大きなツリーのパッケージを管理するとき,それぞれが異なるバージョンの Automakeを要求することが問題になります.過去には,開発者(と時にはユー ザが)異なるバージョンのAutomakeを異なる場所にインストールし,それぞれ のパッケージに対して適切な`$PATH'に切替える必要があったという意味 です.
バージョン1.6で開始していますが,Automakeはバージョン管理されたバイナ リをインストールします.これは同じ`$prefix'で複数のバージョンの Automakeをインストールすることが可能で,`$PATH'で誤魔化すこと無く `automake-1.6'や`automake-1.7'を実行することで任意のバージョ ンのAutomakeを選択することが可能だということを意味します.さらに, Automake 1.6で生成された`Makefile'は,リビルドのルールで明示的に `automake-1.6'を使用します.
`automake-1.6'の`1.6'は,Automakeのバージョンではなく AutomakeのAPIのバージョンです.バグの修正版が作成された場合,例えば Automake 1.6.1になりますが,APIのバージョンは1.6のままです.これは, Automake 1.6で動作するパッケージは1.6.1でも動作することを意味します. 結局,これは人々がバグの修正版に期待するものになります.
パッケージがリリースで導入された機能やバグの修正に依存している場合,古 いリリースを使用しないことを確実にするため,Automakeへのオプションとし てこのバージョンを渡すことが可能です.例えば,`configure.ac'で以 下の内容を使用してください.
AM_INIT_AUTOMAKE(1.6.1) dnl Require Automake 1.6.1 or better. |
AUTOMAKE_OPTIONS = 1.6.1 # Require Automake 1.6.1 or better. |
Automakeのプログラミングインターフェースは簡単に定義できません.基本的 に,全てのドキュメント化されている変数と`Makefile.am'の 著者が利用可能なターゲットを少なくとも含めるべきで,動作はそれらに関連 していて(例えば,`-hook'が実行される場所),`automake'と `aclocal'のコマンドラインインターフェースがあって,...
ドキュメント化されていない変数,ターゲット,またはコマンドラインオプショ ンは全て,APIの一部ではありません.バージョンが変われば(バグの修正に役 立つ場合は,バグの修正版でも) 変更されるかもしれないので,それらを使用 することは避けるべきです.
そのようなドキュメント化されていない機能を使用する必要があると判明した 場合,でコンタクトを取り,ドキュメントを書き テストスイートで試してみてください.
[ << ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |