次: , 前: Running the Compiler, 上: Writing Tests


6.5 リンカの実行

ライブラリ,関数,またはグローバル変数を調査するため,Autoconfの configureスクリプトは,それを使用している小さなプログラムのコ ンパイルとリンクを試みます.これはMetaconfigとは異なり,それはデフォルト で,C ライブラリで関数が利用可能かどうか判定するためにnmarを使用します.オプションとnmarの出力の違いと, 標準ライブラリの位置の違いを処理することを避けるので,関数とのリンクを試 みることは,通常,より信頼性が高い方法になります.クロスコンパイルのコン フィグレーションや,必要な場合は関数の実行時の動作を調査も可能です.一方, 一度のライブラリスキャンより遅くなるはずですが,正確さは時間より重要です.

AC_LINK_IFELSEは,関数とグローバル変数に対するテストのため,テス トプログラムをコンパイルするために使用されます.ライブラリを調査する AC_CHECK_LIBでも,調査しているライブラリを一時的にLIBSに追 加したり,小さなプログラムのリンクを試みたりすることで,使用されています (see Libraries).

— マクロ: AC_LINK_IFELSE (input, [action-if-found], [action-if-not-found])

現在の言語(see Language Choice)のコンパイラ(とコンパイラフラグ)とリ ンカをinputで実行し,成功したらシェルコマンドの action-if-trueを,それ以外ではaction-if-falseを実行します. inputAC_LANG_PROGRAMやその仲間で作成することが可能です.

リンク時には,現在のコンパイラフラグに加えて,LDFLAGSLIBSも使用されます.

慣習的に,予期せぬ異常終了はAC_MSG_FAILUREで報告します.このマク ロはリンクを試みません.そうする必要がある場合,AC_RUN_IFELSEを使 用してください(see Run Time).