Next: , Previous: Configuration Links, Up: Setup


4.11 サブディレクトリで他のパッケージをコンフィグレーションする

ほとんどの場合,AC_OUTPUTを呼び出すことで,サブディレクトリの Makefileを作成するためには十分です.しかし,一つ以上の独立したパッ ケージを制御するconfigureスクリプトで,サブディレクトリの他の パッケージのconfigureスクリプトを実行するために AC_CONFIG_SUBDIRSを使用することが可能です.

— Macro: AC_CONFIG_SUBDIRS (dir ...)

空白で区切られたリストで与えられているそれぞれのサブディレクトリ dirで,AC_OUTPUTconfigureを実行させます.それぞ れの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

該当するdirconfigure.gnuが含まれている場合, configureの代わりにそれを実行します.これは,Autoconfスクリプ トではないConfigureを使用しているパッケージに対するもので,大 文字小文字を識別しないファイルシステムでは同じファイルになるので,それを configureのラッパーとして呼び出すことは不可能です.同様に, dirconfigure.acを含んでいてconfigureが無い場合, AC_CONFIG_AUXDIRで見つかるCygnusのconfigureスクリプトが 使用されます.

サブディレクトリのconfigureスクリプトには,この configureスクリプトに与えられたものと同じコマンドラインオプショ ンが渡され,必要場合は少し変更され,変更されるものには以下のものが含まれ ます.

このマクロは,出力変数subdirsも,ディレクトリのリスト ‘dir...’に設定します.Makefileのルールは,この値を サブディレクトリの定義に再帰的に使用することが可能です.

このマクロは何度呼び出してもかまいません.