次: , 前: Running configure Scripts, 上: Top


14 コンフィグレーションの再生成

configureスクリプトは,実際にコンフィグレーションを行なう 実際に作成されるもの(instantiates)のテンプレートファイルとなる config.statusという名前のファイルを作成します.それは,再コンフィ グレーションが必要な状況でパッケージが前回コンフィグレーションされたとき に指定されたコンフィグレーションオプションも記録しています.

概要です.

     ./config.status option... [file...]

filesをコンフィグレーションします.何も指定されていない場合は全て のテンプレートの実体が作成されます.ファイルは,依存性無しで指定する必要 があり,以下のようにします.

     ./config.status foobar

以下のようにはしません.

     ./config.status foobar:foo.in:bar.in

サポートされているoptionは以下のとおりです.

--help
-h
コマンドラインオプションの概要とテンプレートファイルのリストを出力し,終 了します.
--version
-V
Autoconfのバージョンナンバーを出力し終了します.
--silent
--quiet
-q
処理中のメッセージを出力しません.
--debug
-d
一時ファイルを削除しません.
--file=file[:template]
`AC_CONFIG_FILES(file:template)'が使用されているかのよ うに,実際に作成されるファイルを要求します.filetemplateは どちらも`-'が可能で,それぞれ標準出力そして/または標準入力が使用さ れます.templateファイル名が相対的な場合,最初にビルドツリーで検索 され,次にソースツリーで検索されます.詳細は,See Configuration Actions.

このオプションと以下のものは,個別に配布されているパッケージで configureが計算した値を共有する方法を提供します.そうすること は,複数のパッケージがそれらのスーパーセット,おそらく共通のライブラリを 必要とする場合に役に立つはずです.これらのオプションで, config.status ファイルがconfigure.acで指定しているもの以外 のファイルも作成可能になるので,異なるパッケージで使用可能になります.

--header=file[:template]
--fileと同じですが,`AC_CONFIG_HEADERS'を使用します.
--recheck
config.statusにそれ自身を更新するかどうか尋ねて終了します(実際に 作成しません).いくつかのテストの結果が前回のもの異なる可能性があるので, このオプションはconfigureを変更した場合に役に立ちます. --recheckでは,前回使用したものと同じ引数に加え, configureconfig.statusを実行したりMakefileとそ の他のファイルを作成したりしないようにする--no-createオプション と,configureがサブディレクトリでその他のconfigureス クリプトを実行しないようにする--no-recursionを用いて再実行しま す.(config.statusが変更された時に,他のMakefileのルールで 実行可能なようにするため,これは存在しています.例は,see Automatic Remaking).

config.statusは,その動作を変更するいくつかのオプションの環境変数 を調査します.

— 変数: CONFIG_SHELL

--recheckオプションでconfigureが実行されるシェルです. Bourne互換にする必要があります.デフォルトは,利用可能な場合は LINENOをサポートするシェルで,それ以外では/bin/shになります.

— 変数: CONFIG_STATUS

コンフィグレーションを記録するシェルスクリプトのファイル名です.デフォル トは./config.statusです.この変数は,他のパッケージの一部を使用し たり,configureスクリプトが別々に管理されていて,マージされて いないとき役に立ちます.

Makefileで./config.statusを使用することも可能です.例えば,上記 (see Automatic Remaking)のような依存がある状況では, configure.acが変更された時,config.statusは2回実行されます. それがうるさい場合,以下のようなルールで,ファイルを再生成するためだけに それぞれ実行させることが可能です.

     config.h: stamp-h
     stamp-h: config.h.in config.status
             ./config.status config.h
             echo > stamp-h
     
     Makefile: Makefile.in config.status
             ./config.status Makefile

config.statusの呼び出しの慣習は変更されました.詳細は, Obsolete config.status Useを参照してください.