[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

25. AutomakeのAPIのバージョン管理

通常,新しい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.
または特定の`Makefile.am'で以下の内容を使用してください.

 
  AUTOMAKE_OPTIONS = 1.6.1   # Require Automake 1.6.1 or better.
Automakeのバージョンが要求されたバージョンより古い場合,Automakeはエラー メッセージを出力します.

What is in the API

APIの中身

Automakeのプログラミングインターフェースは簡単に定義できません.基本的 に,全てのドキュメント化されている変数と`Makefile.am'の 著者が利用可能なターゲットを少なくとも含めるべきで,動作はそれらに関連 していて(例えば,`-hook'が実行される場所),`automake'と `aclocal' のコマンドラインインターフェースがあって,...

What is not in the API

APIには無いもの

ドキュメント化されていない変数,ターゲット,またはコマンドラインオプショ ンは全て,APIの一部ではありません.バージョンが変われば(バグの修正に役 立つ場合は,バグの修正版でも) 変更されるかもしれないので,それらを使用 することは避けるべきです.

そのようなドキュメント化されていない機能を使用する必要があると判明した 場合,automake@gnu.orgでコンタクトを取り,ドキュメントを書き テストスイートで試してみてください.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on February, 25 2004 using texi2html