Next: Default Prefix, Previous: Configuration Links, Up: Setup
ほとんどの場合,AC_OUTPUT
を呼び出すことで,サブディレクトリの
Makefileを作成するためには十分です.しかし,一つ以上の独立したパッ
ケージを制御するconfigureスクリプトで,サブディレクトリの他の
パッケージのconfigureスクリプトを実行するために
AC_CONFIG_SUBDIRS
を使用することが可能です.
空白で区切られたリストで与えられているそれぞれのサブディレクトリ dirで,
AC_OUTPUT
にconfigureを実行させます.それぞ れのdirはリテラルにすべきです.すなわち,以下のように使用しないで ください.if test "$package_foo_enabled" = yes; then $my_subdirs="$my_subdirs foo" fi AC_CONFIG_SUBDIRS($my_subdirs)これは‘./configure --help=recursive’でのパッケージ
foo
のオプ ション表示を妨げるためです.その代わりに以下のように書くべきです.if test "$package_foo_enabled" = yes; then AC_CONFIG_SUBDIRS(foo) fi該当するdirが見つからない場合でもエラーを報告しません.サブディレ クトリがオプションの場合,以下のように書いてください.
if test -d $srcdir/foo; then AC_CONFIG_SUBDIRS(foo) fi該当するdirにconfigure.gnuが含まれている場合, configureの代わりにそれを実行します.これは,Autoconfスクリプ トではないConfigureを使用しているパッケージに対するもので,大 文字小文字を識別しないファイルシステムでは同じファイルになるので,それを configureのラッパーとして呼び出すことは不可能です.同様に, dirがconfigure.acを含んでいてconfigureが無い場合,
AC_CONFIG_AUXDIR
で見つかるCygnusのconfigureスクリプトが 使用されます.サブディレクトリのconfigureスクリプトには,この configureスクリプトに与えられたものと同じコマンドラインオプショ ンが渡され,必要場合は少し変更され,変更されるものには以下のものが含まれ ます.
- キャッシュファイルへの相対的なパスを調整.
- ソースディレクトリへの相対的なパスを調整.
- デフォルトの場合を含め,現在の
$prefix
の値を,トップレベルとサブディ レクトリのconfigureのデフォルト値が異なっている場合でも伝搬させま す.このマクロは,出力変数
subdirs
も,ディレクトリのリスト ‘dir...’に設定します.Makefileのルールは,この値を サブディレクトリの定義に再帰的に使用することが可能です.このマクロは何度呼び出してもかまいません.