This section is concerned with the tools which make up the
Starlink build system. There are generally very few
adjustments you need to make to the program source code
(though the autotools can help you manage such things as
installation directories and platform dependencies), and the
changes you will make are to the auxiliary files which manage
the build, most prominently the configure.ac
file
which organises the configuration, and the
Makefile.am
file which controls generating the
makefile which does the work.
The build system as a whole consists of a number of components:
/star/buildsupport/bin
, or its
equivalent if you have installed a set of tools in a tree
other than /star
. Since they have been
extended and customised, they are essential; you cannot
build the Starlink collection without them. There is an
introduction to the autotools in Section 2.1,
covering their interrelationships and basic usage.We use (at the time of writing) an unmodified libtool, a moderately extended autoconf, and an extended and customised automake. The description below explains the use of these tools as modified; see Appendix B for details of the differences from the stock autotools.
configure.ac
file.The macros are described in detail in Appendix A.
The autoconf program which is used is not itself customised for Starlink use. Instead, the macros are installed using the standard autoconf extension mechanism, which uses the application aclocal. This is discussed in passing in Section 2.1, and we mention it only in passing here.