Next: Default Prefix, Previous: Printing Messages, Up: Other Autoconf macros [Contents][Index]
In most situations, calling AC_OUTPUT
is sufficient to produce
makefiles in subdirectories. However, configure
scripts
that control more than one independent package can use
AC_CONFIG_SUBDIRS
to run configure
scripts for other
packages in subdirectories.
Make AC_OUTPUT
run 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
write:
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
of configure
. This is for packages that might use a
non-Autoconf script Configure
, which can’t be called through a
wrapper configure
since it would be the same file on
case-insensitive file systems. Likewise, if a dir contains
configure.in but no configure
, the Cygnus
configure
script found by AC_CONFIG_AUX_DIR
is used.
The subdirectory 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.
Next: Default Prefix, Previous: Printing Messages, Up: Other Autoconf macros [Contents][Index]