Personal tools
  • We're Hiring!

You are here: Home Documentation Previous versions OME Server Developer Image Server Build System

Build System

The OME C build system uses the standard GNU "autotools", Automake and Autoconf. More information about the specific implementation of both can be found on either's website. Both provide comprehensive manuals that are a good start for anyone looking to hack/update OME's build system.



You can also find some extended help and/or reference in what is usually referred to as the GNU Autotools book or Autobook. This is by and large the definative reference for integrating the Autotools. It's also available in paper form for those who prefer that medium and want to support the authors.


The basics


For those that don't particularly want to read the documentation provided there, here are the basics of how the Autotools work.

  1. configure.ac and acinclude.m4 are created in the root of the source tree
  2. Makefile.am files are created in each source directory
  3. aclocal is run, which creates aclocal.m4 from the machine's local m4 repository and acinclude.m4
  4. autoheader is run, parsing configure.ac to establish the contents of config.h.in
  5. autoconf is run, parsing configure.ac to establish the contents of configure
  6. automake is run, parsing each Makefile.am and it's child, Makefile.in
  7. configure is run with or without extra options, creating the Makefiles in each source directory

All of the binary runs are encompassed in a handy-dandy script, autogen.sh which resides in the root of the source repository.

Using the Build System


As a developer


As a developer, your requirements are slightly higher. Nominally, you actually require autoconf and automake to be installed on your system. When you've checked out the source for the first time, the installation framework will handle the execution of autogen.sh, and make. However, when you want to rebuild the code in src/C all that's required is a simple execution of make, all the configuration has already been written to the makefiles. If you want to change some of configure's settings, you can do that by calling configure first before a make:

./configure --with-omeis-root=/home/bob/OMEIS
make
make install


The following is a great place to start if you want to customise your build:

./configure --help


If for some reason you needed to update acinclude.m4, a Makefile.am, configure.ac or the source tree changes in any way (addition of a actual source file or header) you'll need to re-run the autotools build scripts like so (autogen.sh passes its arguments along to configure):

./autogen.sh --with-omeis-root=/home/bob/OMEIS
make
make install


As a systems administrator


In contrast to being a developer, obviously, your requirements are lower in terms of the build system. All the required scripts and binaries for configure are included in the packaged source distributions on the website. You're just be required to run the following assuming you want to re-install or just install OMEIS:

./configure --with-omeis-root=/big_fs/OMEIS
make
make install


For the most part (unless you're re-installing OMEIS or installing just OMEIS) this is covered by the installation framework.
Document Actions