NASPRO - The 'NASPRO Architecture for Sound PROcessing'

User login

Who's online

There are currently 0 users and 0 guests online.

Syndicate

Syndicate content

Valid XHTML 1.0 Strict
Valid CSS
Viewable with Any Browser

Notes on the build system

A couple of key points already mentioned about this software:

  1. it aims at being portable across the widest possible number of platforms (which can satisfy a limited set of requirements);
  2. it should adapt itself to the OS in order to give the end user a natural (working as expected) and pleasant overall experience.

In doing this I think it's preferable to consider the end user expectations more valuable (when worthwhile) than the development, maintaining and distribution work.

Thus the tasks of compilation and build automation have to be more focused where it is really needed; in other words, it's simply more likely to expect that users of free software OSs want to build it from scratch rather than users of proprietary OSs.

This doesn't mean there is some kind of discrimination, but that the officially supported build tools, at least at the beginning, will be the ones distributed with many free software OSs: the GNU Compiler Collection, GNU Make, the GNU Bourne Again SHell, GNU Libtool and pkg-config.

Then, in order to provide a familiar build system to most free software OSs' users and developers, the GNU Automake and GNU Autoconf tools are used to automatically generate the configure script and the Makefile template.

In the end, as suggested by the excellent paper "Recursive Make Considered Harmful" by Peter Miller, only one Makefile in the top-level directory of the source tree will be used.

Copyright © 2007, 2008 Stefano D'Angelo