ソフトウェアパッケージに追加のコンパイル時の特徴がある場合,それらをコン パイルするかどうか指定するため,ユーザはconfigureコマンドライ ンオプションを与えることが可能です.オプションは以下の書式の一つになりま す.
--enable-feature[=arg] --disable-feature
これらのオプションで,ビルドしインストールする追加の機能を,ユーザが選択 することが可能になります.--enable-featureオプションで, ある機能に異なる動作をさせたり,ある機能を他の機能で置換させたりするべき ではありません.それらは,プログラムの部分をビルドする,または削除するた めだけにすべきです.
ユーザは,機能の名前に続く引数を`='とその引数で与えることが可能です. `no'引数を与えるとその機能は利用できません.機能とは, --enable-debug=stabsのような引数です.引数が与えられていない場 合は,デフォルトで`yes'です.--disable-featureは, --enable-feature=noと同じです.
configureスクリプトは,サポートしていない --enable-featureオプションに文句を言いません.これにより, 複数のパッケージを含むソースツリーにおいて,パッケージが異なるオプション をサポートするとき,パッケージによってはサポートするものもあるオプション で深刻なエラーメッセージを出力すること無く,トップレベルの configure スクリプトでのコンフィグレーションが可能になります. 残念な副作用として,オプションのスペルエラーは診断されません.この問題の より良い手法はまだ提案されていません.
使用される可能性のあるそれぞれの追加の機能に対して,configure
のユーザがそれを含めることを依頼したかどうかを検出するため,
configure.acでAC_ARG_ENABLE
を呼び出すべきです.それぞれの
機能をデフォルトで使用するかどうかと,有効な引数については,好きにしてく
ださい.
ユーザが,configureにオプション--enable-feature や--disable-featureを与えた場合,シェルコマンド action-if-givenを実行します.どちらも与えられない場合は,シェルコ マンドaction-if-not-givenを実行します.名前featureはオプショ ンのユーザレベルの機能を示します.それは,英数字とダッシュだけで構成すべ きです.
オプションの引数は,`-'文字を`_'に変更したシェル変数
enable_
packageの実際の値となる,シェル変数enableval
内のシェルコマンドaction-if-givenが利用可能です.望むなら,変わり にその値を使用してもかまいません.help-string引数は,AC_ARG_WITH
と同様にしてください(see External Software).help-stringは,マクロ
AS_HELP_STRING
で書式化すべきです (see Pretty Help Strings).