次: Run Time, 前: Running the Compiler, 上: Writing Tests
ライブラリ,関数,またはグローバル変数を調査するため,Autoconfの
configureスクリプトは,それを使用している小さなプログラムのコ
ンパイルとリンクを試みます.これはMetaconfigとは異なり,それはデフォルト
で,C ライブラリで関数が利用可能かどうか判定するためにnm
や
ar
を使用します.オプションとnm
とar
の出力の違いと,
標準ライブラリの位置の違いを処理することを避けるので,関数とのリンクを試
みることは,通常,より信頼性が高い方法になります.クロスコンパイルのコン
フィグレーションや,必要な場合は関数の実行時の動作を調査も可能です.一方,
一度のライブラリスキャンより遅くなるはずですが,正確さは時間より重要です.
AC_LINK_IFELSE
は,関数とグローバル変数に対するテストのため,テス
トプログラムをコンパイルするために使用されます.ライブラリを調査する
AC_CHECK_LIB
でも,調査しているライブラリを一時的にLIBS
に追
加したり,小さなプログラムのリンクを試みたりすることで,使用されています
(see Libraries).
現在の言語(see Language Choice)のコンパイラ(とコンパイラフラグ)とリ ンカをinputで実行し,成功したらシェルコマンドの action-if-trueを,それ以外ではaction-if-falseを実行します. inputは
AC_LANG_PROGRAM
やその仲間で作成することが可能です.リンク時には,現在のコンパイラフラグに加えて,
LDFLAGS
とLIBS
も使用されます.慣習的に,予期せぬ異常終了は
AC_MSG_FAILURE
で報告します.このマク ロはリンクを試みません.そうする必要がある場合,AC_RUN_IFELSE
を使 用してください(see Run Time).