My Project
Loading...
Searching...
No Matches
Singular Build System

Short introduction to the Singular build system.

We use autotools. Here is a good autotools (mythbuster) manual: https://www.flameeyes.eu/autotools-mythbuster/ Singular consists of several packages, which are (mostly standalone) libraries with their own configuration scripts:

Moreover some of the top-level libraries combine smaller ones into itself:

One can easily exted any existing library by adding new sources to the corresponding _SOURCE specification (and headers to _HEADER). Sources or headers may be generated by the build system (automatically by configure scripts, manually in compile time by targets in makefiles) but have to be treated specially.

Short HOWTO:

New sub-libraries may be added to the existing directories (to the corresponding Makefile.am's) or to their own (new) directory with a new Makefile.am, which has to be treated by the corresponding configure script. If that new directory has to be treated by recursive make - it has to be listed in in a SUBDIRS section by some higher-level Makefile.am (which is treated)

It is strongly recommended to add separate unit-tests (TESTS) for any package or library.

Please test the build system with make distcheck before submitting in case of a build system chenges.

See also Style Guide for the Further Development of SINGULAR in C / C++.