This document provides an overview of how the GENESIS build system is set up for development via an autogen script and monotone. There is an autogen.sh script as part of each GENESIS Component. It is used by the DeveloperPackage as part of the build and install configuration.
Developing software with autotools across different system types and autotools versions can cause incompatibility problems. To prevent these problems from pestering developers, GENESIS implements an autogen script which will automatically generate the necessary compilation files.
In each package you will find a script titled autogen.sh which is typically composed of four autotools commands (see http://www.gnu.org/software/autoconf/ or your man or info pages for more information about these commands):
Note that the autoheader command is not found in packages that contain only scripting code, for example ssp and the gshell.
Running the autogen.sh script automatically generates the following files:
Autogen.sh generates an intermediate file called Makefile.in for each Makefile.am that is expected to produce the Makefile used to compile a part of the project in a directory. Successful execution of autogen.sh generates a script file named configure. The configure script is used to create the Makefile(s) called via the make command at the top level of a package’s source code.
Note that automatically generated files are not tracked in the GENESIS projects monotone repositories. The reason for this is that tracking files which change from system to system is wasteful and will ultimately frustrate forced document merge operations.