(autoconf.info)Subdirectories


Next: Default Prefix Prev: Configuration Links Up: Setup

4.12 Configuring Other Packages in Subdirectories
=================================================

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.

 -- Macro: AC_CONFIG_SUBDIRS (DIR ...)
     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 "$package_foo_enabled" = yes; 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 "$package_foo_enabled" = yes; then
            AC_CONFIG_SUBDIRS([foo])
          fi

     If a given DIR is not found, an error 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:

        - adjusting a relative name for the cache file;

        - adjusting a relative name for the source directory;

        - propagating the current value of `$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.


automatically generated by info2www