Next: autoreconf Invocation, Previous: ifnames Invocation, Up: Making configure Scripts
configure.acからconfigureを作成するために, autoconfプログラムを引数無しで実行してください. autoconfは,Autoconfマクロを使用しながら,M4マクロプロセッサを 用いてconfigure.acを処理します.autoconfに引数を与えて いる場合,configure.acの代わりにそのファイルを読み, configureの代わりに,標準出力にコンフィグレーションスクリプト を書き出します.autoconfに引数-を与えた場合, configure.acの代わりに標準入力から読み込み,標準出力にコンフィグ レーションスクリプトを書き出します.
Autoconfマクロは,複数のファイルで定義されています.ファイルにはAutoconf と一緒に配布される物もあります.autoconfは最初にそれを読み込み ます.オプションのファイルacsite.m4を,配布されたAutoconfマクロファ イルを含むディレクトリで探し,オプションのファイルaclocal.m4はカ レントディレクトリで探します.これらのファイルは,サイトやパッケージの Autoconfマクロ定義を含めることが可能です(詳細は,see Writing Autoconf Macros).一つ以上のファイルで定義されているマクロをautoconfが 読み込む場合,最後の定義がそれ以前の定義に優先します.
autoconfは以下のオプションを受け入れます.
AC_DIAGNOSE
と
See Reporting Messages. 特別な値には,以下のものが含まれています.
‘syntax’に関する警告はデフォルトで利用可能で,カンマで分けられたカ
テゴリリストの環境変数WARNINGS
は尊重されます.‘-W
category’を渡すことで,
‘--warnings=syntax,$WARNINGS,category’が渡されたかのように動
作します.デフォルトとWARNINGS
を利用不可能にしたいが,(例えば) 時
代遅れの構成物についての警告は利用可能にしたい場合,-W
none,obsoleteを使用してください.
autoconfはバックグラウンドでautom4teを使用するので,
それはエラーのバックトレースを表示しますが,警告については行ないません.
そうしたい場合,-W errorのみを渡してください.いくつかの例は,
See autom4te Invocation.
formatは,必要な場合は改行をともなう通常の文字列と,いくつかの特殊
なエスケープコードです.デフォルトは‘$f:$l:$n:$%’です.format
の詳細は,autom4te Invocationを参照してください.
AC_DEFUN
の定義)
の初期化を追跡しません.これで顕著に高速化されますが,このオプションで利
用不可能にすることができます.
configure.acファイルの内容を調査する必要があることもよくあります が,自分で解析することは,非常に脆くエラーを起こしやすいものです. configure.acをスキャンするために,--traceを信頼してみて ください.例えば,置換される変数のリストを見つけるため,以下のようにして みてください.
$ autoconf -t AC_SUBST configure.ac:2:AC_SUBST:ECHO_C configure.ac:2:AC_SUBST:ECHO_N configure.ac:2:AC_SUBST:ECHO_T More traces deleted
以下の例では,‘$@’,‘$*’と$%の違いを強調しています.
$ cat configure.ac AC_DEFINE(This, is, [an [example]]) $ autoconf -t 'AC_DEFINE:@: $@ *: $* $: $%' @: [This],[is],[an [example]] *: This,is,an [example] $: This:is:an [example]
formatは,柔軟にできます.
$ autoconf -t 'AC_SUBST:$$ac_subst{"$1"} = "$f:$l";' $ac_subst{"ECHO_C"} = "configure.ac:2"; $ac_subst{"ECHO_N"} = "configure.ac:2"; $ac_subst{"ECHO_T"} = "configure.ac:2"; More traces deleted
長いseparatorは,複雑な構想の可読性を改善したり,解析を簡単にする ために使用可能です(例えば,分離文字に適した単一文字が無いときです).
$ autoconf -t 'AM_MISSING_PROG:${|:::::|}*' ACLOCAL|:::::|aclocal|:::::|$missing_dir AUTOCONF|:::::|autoconf|:::::|$missing_dir AUTOMAKE|:::::|automake|:::::|$missing_dir More traces deleted