次: , 前: External Software, 上: Site Configuration


12.2 パッケージオプションの選択

ソフトウェアパッケージに追加のコンパイル時の特徴がある場合,それらをコン パイルするかどうか指定するため,ユーザはconfigureコマンドライ ンオプションを与えることが可能です.オプションは以下の書式の一つになりま す.

     --enable-feature[=arg]
     --disable-feature

これらのオプションで,ビルドしインストールする追加の機能を,ユーザが選択 することが可能になります.--enable-featureオプションで, ある機能に異なる動作をさせたり,ある機能を他の機能で置換させたりするべき ではありません.それらは,プログラムの部分をビルドする,または削除するた めだけにすべきです.

ユーザは,機能の名前に続く引数を`='とその引数で与えることが可能です. `no'引数を与えるとその機能は利用できません.機能とは, --enable-debug=stabsのような引数です.引数が与えられていない場 合は,デフォルトで`yes'です.--disable-featureは, --enable-feature=noと同じです.

configureスクリプトは,サポートしていない --enable-featureオプションに文句を言いません.これにより, 複数のパッケージを含むソースツリーにおいて,パッケージが異なるオプション をサポートするとき,パッケージによってはサポートするものもあるオプション で深刻なエラーメッセージを出力すること無く,トップレベルの configure スクリプトでのコンフィグレーションが可能になります. 残念な副作用として,オプションのスペルエラーは診断されません.この問題の より良い手法はまだ提案されていません.

使用される可能性のあるそれぞれの追加の機能に対して,configure のユーザがそれを含めることを依頼したかどうかを検出するため, configure.acAC_ARG_ENABLEを呼び出すべきです.それぞれの 機能をデフォルトで使用するかどうかと,有効な引数については,好きにしてく ださい.

— マクロ: AC_ARG_ENABLE (feature, help-string, [action-if-given], [action-if-not-given])

ユーザが,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).

— マクロ: AC_ENABLE (feature, action-if-given, [action-if-not-given])

これはヘルプ文字列の供給をサポートしないAC_ARG_ENABLEの時代遅れの バージョンです.