Next: Utilities for building documentation, Previous: Utilities for Makefiles, Up: Build Infrastructure Files [Contents][Index]
These programs can help when developing in a Git checkout. The maintainer of the package copies these programs into the version control of the package, so that co-developers can use these tools right away.
top/gitsub.sh
This program manages the subdirectories of a Git checkout that come from other packages, including Gnulib.
top/bootstrap
top/autopull.sh
top/autogen.sh
top/bootstrap-funclib.sh
This is a set of three programs and a function library, that manage the source directory of a package, preparing for the state where ‘./configure’ can be used.
autopull.sh
is a program for fetching dependencies that may
require network accesses. It manages the Git submodules, including
Gnulib – assuming that Gnulib is a Git submodule. It also can fetch
the PO files for internationalized packages.
autogen.sh
is a program that is meant to be run after
autopull.sh
. It generates all autogeneratable files that are
omitted from version control. Usually this means that it invokes
gnulib-tool
and automake
, that generate files from other
files.
bootstrap
is a wrapper around both:
./bootstrap --pull
is equivalent to ./autopull.sh
,
./bootstrap --gen
is equivalent to ./autogen.sh
.
Plain ./bootstrap
is equivalent to ./autopull.sh
immediately followed by ./autogen.sh
; however, because plain
./bootstrap
mixes version control management and
generation of files in non-obvious ways, it has a number of usability
issues for the advanced developer.
bootstrap-funclib.sh
is a function library for these three
programs. It is not meant to be used directly.
All three programs make use of a configuration file, called
bootstrap.conf
.
build-aux/bootstrap
This acts like top/bootstrap
, except it does not
need the companion files autogen.sh
,
autopull.sh
, and bootstrap-funclib.sh
so it avoids some clutter in your project’s top level directory.
With this approach, you update via ./bootstrap --pull
and
./bootstrap --gen
instead of via ./autopull.sh
and
./autogen.sh
. Otherwise this approach acts similarly, and
uses the same bootstrap.conf
file.
build-aux/bootstrap.conf
This is the template configuration file. After copying it into the top-level directory of your package, you need to customize it.
build-aux/po/Makefile.in.in
build-aux/po/remove-potcdate.sin
These are auxiliary files used by bootstrap
. You don’t have to
copy them yourself; bootstrap
will do that.
Next: Utilities for building documentation, Previous: Utilities for Makefiles, Up: Build Infrastructure Files [Contents][Index]