既にインストールしてある他のソフトウェアパッケージを要求したり,追加で使 用していたりしているパッケージもあります.ユーザは,使用するそのような外 部ソフトの指定するために,configureのコマンドラインオプション を与えることが可能です.オプションは以下の形式うちの一つです.
--with-package[=arg] --without-package
例えば,--with-gnu-ldは,他のリンカの代わりにGNUリン カで動作することを意味します.--with-xはX Window Systemで動作す ることを意味します.
ユーザはパッケージ名に続く引数を,`='とその引数で与えることが可能で す.`no'引数を与えるとパッケージはデフォルトを使用します.つまり, パッケージを使用しません.`yes'も`no'もない引数は,この プログラムで動作すると予想される他のパッケージをより正確に指定するために, 他のパッケージの名前やバージョンナンバーを含ることが可能です.引数が与え られていない場合,デフォルトは`yes'です. --without-packageは,--with-package=noと同 じです.
configureスクリプトは,サポートしていない --with-packageオプションに文句を言いません.これにより, 複数のパッケージを含むソースツリーにおいて,パッケージが異なるオプション をサポートするとき,パッケージによってはサポートするものもあるオプション で深刻なエラーメッセージを出力すること無く,トップレベルの configureスクリプトでのコンフィグレーションが可能になります. 残念な副作用として,オプションのスペルエラーは診断されません.この問題の より良い手法はまだ提案されていません.
使用される可能性のあるそれぞれの外部ソフトウェアパッケージに対して,
configureのユーザがそれの使用を依頼したかどうかを検出するため,
configure.acでAC_ARG_WITH
を呼び出すべきです.それぞれのパッ
ケージでデフォルトで使用するかどうかと,有効な引数については,好きにして
ください.
ユーザがconfigureに,オプション--with-package や--without-packageを与えた場合,シェルコマンド action-if-givenを実行します.どちらも与えられていない場合は,シェ ルコマンドaction-if-not-givenを実行します.名前packageは,こ のプログラムとともに動作する,他のソフトウェアパッケージを示します.それ は,英数字とダッシュだけから構成されるべきです.
オプションの引数は,`-'文字を`_'に変更したシェル変数
with_
packageの実際の値となる,シェル変数withval
内の シェルコマンドaction-if-givenが利用可能です.望むなら,変わりにそ の値を使用してもかまいません.引数help-stringは以下のような,オプションの説明です.
--with-readline support fancy command line editing詳細が必要な場合,help-stringは一行以上でもかまいません. `configure --help'で行が整列していることを確認してください.ヘルプ 文字列でのタブの使用は避けてください.前置するスペースを生成するため,ヘ ルプ文字列を`['と`]'で囲む必要があるでしょう.
help-stringは,マクロ
AS_HELP_STRING
で書式化すべきです (see Pretty Help Strings).