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.shThis program manages the subdirectories of a Git checkout that come from other packages, including Gnulib.
top/bootstraptop/autopull.shtop/autogen.shtop/bootstrap-funclib.shThis 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/bootstrapThis 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.confThis 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.inbuild-aux/po/remove-potcdate.sedThese are auxiliary files used by bootstrap. You don’t have to
copy them yourself; bootstrap will do that.