Go to the first, previous, next, last section, table of contents.


はじめに

物理学者,エンジニア,そしてコンピュータ科学者が神の性質を論じていまし
た.``確かに物理学者だ''と物理学者が言いました.``なぜなら,創造の早い
うちに,神が光を作ったからだ.ご存じのように,マックスウェル方程式,電
磁波の二重の性質,相対論者の結果...'' ``エンジニアだ!''とエンジニ
アは言いました.``なぜなら,光を作る前に神はカオスを土地と水に分けたか
らだ.それには大量のエンジニアが必要で,大量の泥を処理し,液体から固体
を正しく分離し...''コンピュータ科学者は叫びました.``そしてカオス,
それはいったいどこからきたと思いますか,う〜ん?''

---詠み人知らず

Autoconfは,何種類ものUNIXライクのシステムに適合するために,ソフ トウェアソースコードパッケージを自動的にコンフィグレーションするシェル スクリプトを生成するツールです.Autoconfで生成されたコンフィギュレーショ ンスクリプトは,実行時にはAutoconfに依存しないので,ユーザがAutoconfを 持っている必要がありません.

Autoconfで生成されたコンフィギュレーションスクリプトは,実行時にユーザ の手動の介入を必要としません.通常,システムタイプを指定する引数さえも 必要としません.その代わりに,ソフトウェアパッケージが必要とするそれぞ れの機能が存在するかどうか,個別に調査します.(それぞれの調査の前に, 調査していることに関する一行のメッセージを出力し,そのため,ユーザはス クリプトが終わるまで待っている間,そんなに退屈しません.) 結果として, それら(のスクリプト)は,一般的なUNIXの変形から混成されたりカスタ マイズされたりしているシステムでうまく動作します.それぞれのUNIX の変形の,それぞれのリリースによってサポートされている特徴をリストアッ プするファイルを保守する必要はありません.

Autoconfが使用されているそれぞれのソフトウェアパッケージに対し,パッケー ジが必要とする,または使用可能なシステムの特徴をリストアップしているテ ンプレートファイルから,コンフィギュレーションスクリプトを作成します. システムの特徴を認識して応答するシェルコードが書かれた後,使用可能な (または必要な)機能を多くのパッケージで共有することが,Autoconfで可能に なります.理由があって,シェルコードの調整の必要性が後になって発覚した 場合,ただ一ヵ所だけ変更する必要があります.すべてのコンフィギュレーショ ンスクリプトは,更新されたコードを利用するため自動的に再生することが可 能です.

MetaconfigパッケージはAutoconfの目的に似ていますが,それが生成するスク リプトは手動でユーザが介入する必要があり,大きなソースツリーをコンフィ グレーションするときは全く不便です.Metaconfigスクリプトと異なり,注意 して書いてさえいれば,Autoconfスクリプトはクロスコンパイルもサポート可 能です.

Autoconfは,移植性のあるソフトウェアパッケージに関連するすべての問題を 解決しているわけではありません -- より完全に解決するために,Automake とLibtoolのような,その他の@acronym{GNU}ビルドツールと連係して使用すべ きです.これらのツールは,すべての標準ターゲットを含んでいる,移植性の ある再帰的な`Makefile'の作成,共有ライブラリのリンクなどの作業を 請け負います.詳細はSee section @acronym{GNU}ビルドシステム.

Autoconfは,Cプログラムの#ifで使用するマクロ名に,多少制限を与 えます(see section プリプロセッサシンボルの索引).

Autoconfは,スクリプトを生成するために@acronym{GNU} M4が必要です. UNIXバージョンのM4が持っていない機能を使用していて,それには @acronym{GNU} M4 1.3も含まれます.バージョン1.4以降の@acronym{GNU} M4 を使用する必要があります.

バージョン1からの更新についての情報は,See section バージョン1からの更新. Autoconfの 開発の物語については,See section Autoconfの歴史. Autoconfについての一般的な質問 へ回答は,See section Autoconfのよくある質問と答え.

更新情報,メーリングリストの詳細,既知のバグリストへのポインタなどは, @href{http://www.gnu.org/software/autoconf/autoconf.html, Autoconf web page}を参照してください.

Autoconfに関する提案は the Autoconf mailing listにメールして下さい.

バグの報告は,できれば @href{http://bugs.gnu.org/cgi-bin/gnatsweb.pl?database=autoconf, Autoconf Gnats database}へ提出するか,the Autoconf Bugs mailing listへ送付してください.できれば最初に,現 在の開発バージョンでバグが既に解決されていないことと,まだ報告されてい ないことを調査してください.すべての必要な情報と問題を立証する短い `configure.ac'を確実に同封してください.

Autoconfの開発ツリーは,@acronym{CVS}でアクセス可能です.詳細は, Autoconfのウェブページを参照してください. @href{http://subversions.gnu.org/cgi-bin/cvsweb/autoconf/, @acronym{CVS}web interface to the Autoconf development tree}もあります. 現在の@acronym{CVS}バージョンに関連するパッチは,レビューするために Autoconf Patches mailing listに送付 することが可能です.

その作業のため,Autoconfは既に有用性が立証されている,よく使用されるマ クロだけを含めています.それでも,マクロを共有したい,または既存のもの を探したい場合,Peter Simonsの好意で作成 されている@href{http://www.gnu.org/software/ac-archive/, Autoconf Macro Archive}を参照してください.


Go to the first, previous, next, last section, table of contents.