In most situations, calling
AC_OUTPUT is sufficient to produce
makefiles in subdirectories. However,
that control more than one independent package can use
AC_CONFIG_SUBDIRS to run
configure scripts for other
packages in subdirectories.
configure in each subdirectory
dir in the given blank-or-newline-separated list. Each dir should
be a literal, i.e., please do not use:
if test "x$package_foo_enabled" = xyes; then my_subdirs="$my_subdirs foo" fi AC_CONFIG_SUBDIRS([$my_subdirs])
because this prevents ‘./configure --help=recursive’ from
displaying the options of the package
foo. Instead, you should
if test "x$package_foo_enabled" = xyes; then AC_CONFIG_SUBDIRS([foo]) fi
If a given dir is not found at
configure run time, a
warning is reported; if the subdirectory is optional, write:
if test -d "$srcdir/foo"; then AC_CONFIG_SUBDIRS([foo]) fi
If a given dir contains
configure.gnu, it is run instead
configure. This is for packages that might use a
Configure, which can’t be called through a
configure since it would be the same file on
case-insensitive file systems.
configure scripts are given the same command
line options that were given to this
configure script, with minor
changes if needed, which include:
$prefix, including if it was defaulted, and if the default values of the top level and of the subdirectory configure differ.
This macro also sets the output variable
subdirs to the list of
directories ‘dir …’. Make rules can use
this variable to determine which subdirectories to recurse into.
This macro may be called multiple times.