Previous: Automatic Dependency Tracking, Up: Use Cases for the GNU Build System [Contents][Index]
Although nesting packages isn’t something we would recommend to someone who is discovering the Autotools, it is a nice feature worthy of mention in this small advertising tour.
Autoconfiscated packages (that means packages whose build system have been created by Autoconf and friends) can be nested to arbitrary depth.
A typical setup is that package A will distribute one of the libraries
it needs in a subdirectory. This library B is a complete package with
its own GNU Build System. The configure
script of A will
run the configure
script of B as part of its execution;
building and installing A will also build and install B. Generating a
distribution for A will also include B.
It is possible to gather several packages like this. GCC is a heavy user of this feature. This gives installers a single package to configure, build and install, while it allows developers to work on subpackages independently.
When configuring nested packages, the configure
options
given to the top-level configure
are passed recursively to
nested configure
s. A package that does not understand an
option will ignore it, assuming it is meaningful to some other
package.
The command configure --help=recursive
can be used to display
the options supported by all the included packages.
See Nesting Packages, for an example setup.