Autotools and OpenOffice.org

draft 0.1 mh@openoffice.org 09/18/2002

autoconf is the most standard build system in the OpenSource world. It automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of m4 macro calls. The sequence:
./configure
make
make install
is well known for many Open Source software packages. Many times the question come up, why OpenOffice.org is not or only partly using this standard build system.

Checking the prerequistes

one of the major tasks for a build system is to check the prerequites for the build. Typical candidates are

Creating the Configuration

After all the prerequisites have been checked and validated the configuation can be created. In the autotools environment this happens through:
In the OpenOffice.org this is done through the generation of a script file which describes environment variables to be set after source/executing this script file. This is a big difference and has some reasons:

Building

After configuration is done, the build of the product is coming. On a quite modern machine (1.8 GHz Linux) the build last about 6 hours. On older machines a build will last up to one day. For this reason no StarOffice or OpenOffice.org developer will build a complete Office on his own. There are centralized builds available, and a developer will only grab part of the solver and the source of the modules he is interested in. He changes some files and only the effected (object-) files have to be recreated. This speeds up development cycle at lot. To set up environment we use:

References:

autoconf: http://www.gnu.org/manual/autoconf/html_mono/autoconf.html
automake: http://www.gnu.org/manual/automake/html_mono/automake.html
make: http://www.gnu.org/manual/make/html_mono/make.html