Previous: Caching Results, Up: Results


7.4 メッセージの出力

configureスクリプトは,それらを実行しているユーザに,何種類か の情報を与える必要があります.以下のマクロは,それぞれの種類に対して適切 な方法でメッセージを出力します.全ての引数は,シェルのダブルクオートで囲 まれているので,シェルは変数とバッククオートの代入を実行します.

これらのマクロは,echoシェルコマンドを全てラップします. configureスクリプトは,ユーザに対してメッセージを出力するため, 直接echoを実行する必要は滅多にありません.これらのマクロを使用す ると,出力されるそれぞれのメッセージの種類を,いつでもどのようにでも簡単 に変更できます.そのような変更にはマクロ定義の変更だけが必要で,呼び出し 側は自動的に変更されます.

静的な問題を診断するため,例えばautoconfが実行されるときは, Reporting Messagesを参照してください.

— Macro: AC_MSG_CHECKING (feature-description)

configureが調査している特徴を,ユーザに通知します.このマクロ は‘checking ’で始まり‘...’で終る,改行無しのメッセージを出力し ます.調査の結果と改行のため,AC_MSG_RESULTを続けて呼び出す必要が あります.feature-descriptionは‘FortranコンパイラがC++のコメ ントを受け入れるかどうか(whether the Fortran compiler accepts C++ comments)’や‘c89の調査(for c89)’のようなものです.

configureが‘--quiet’や‘--silent’オプションを用いて実 行されている場合,このマクロは何も出力しません.

— Macro: AC_MSG_RESULT (result-description)

調査結果をユーザに通知します.result-descriptionは,ほとんどいつも 調査に対するキャッシュ変数の値で,普通は‘yes’,‘no’,またはファ イル名になります.このマクロはAC_MSG_CHECKINGの呼び出しに続けるべ きで,result-descriptionは,AC_MSG_CHECKINGの呼び出しで出力 されるメッセージを完成するものにするべきです.

configureが‘--quiet’や‘--silent’オプションで実行され る場合,このマクロは何も出力しません.

— Macro: AC_MSG_NOTICE (message)

messageをユーザに伝えます.特徴を調査しているグループ全体の特徴に ついて,例えば以下のような,一般的な記述を出力するときに主に役に立ちます.

          AC_MSG_NOTICE([checking if stack overflow is detectable])

configureが‘--quiet’や‘--silent’オプションで実行され る場合,このマクロは何も出力しません.

— Macro: AC_MSG_ERROR (error-description, [exit-status])

configureの完了を妨げるエラーをユーザに通知します.このマクロ は,エラーメッセージを標準エラー出力に出力し,configureexit-status(デフォルトは1)で終了します.error-description は ‘\$HOMEに対し$HOMEは無効な値です(invalid value $HOME for \$HOME)’の ようにすべきです.

error-descriptionは小文字で開始すべきで,“can't”より“cannot” のほうが好ましいでしょう.

— Macro: AC_MSG_FAILURE (error-description, [exit-status])

これは,AC_MSG_ERRORのラッパーで,configureが終了するの を妨げるエラーをユーザに告知し,そして詳細をconfig.log に 追加します.これは通常,コンパイル時に異常な結果が見つかったときに使用さ れます.

— Macro: AC_MSG_WARN (problem-description)

可能性のある問題をconfigureを実行しているユーザに通知します. このマクロは,標準エラー出力にメッセージを出力します. configureはその後も実行を続けるので,AC_MSG_WARNを呼び 出すマクロでは,警告するような状態に対してデフォルト(バックアップ)の動作 を提供すべきです. problem-descriptionは‘ln -s はハードリンク されます(ln -s seems to make hard links)’のようなものにすべきです.