DSPSR developer's guide

Introduction

The DSPSR software makes use of the GNU autotools to compile the source code and install the header files, scripts, libraries and binary executables. An introduction to GNU autoconf, automake, and libtool is available as The Goat Book. Developers with an interest in writing robust and portable code may also take interest in the GNU coding standards. If you have been developing with the old setup, it would be good to follow the notes on switching to the GNU autotools.


Check-out, bootstrap, configure, and compile

Check-out

Developers may check out the software from the Swinburne repository with
git clone --recursive ssh://USER@dspsr.git.sourceforge.net/gitroot/dspsr/dspsr
where USER is a valid sourceforge user account login id. Upon successful checkout, a single directory, dspsr, will be created in the current working directory.

Bootstrap

Before configuring and compiling, developers must create the configure script and Makefile.in input files by running the GNU build tools. This procedure is performed by the bootstrap script, which must be run in the dspsr directory:
cd dspsr
./bootstrap
If you encounter problems during bootstrap, please refer to the bootstrap section of the notes on switching to GNU autotools.

Configure

After running bootstrap, the procedure for compiling is pretty much the same for both developers and external users, as described in the configure and make notes. The only difference is, instead of having a top-level directory named dspsr-x.y, developers will be dealing directly with the dspsr directory. If you encounter problems during bootstrap, please refer to the configure section of the notes on switching to GNU autotools.

Compile

In the top-level build directory (dspsr in most simple cases), type make to compile and make install to copy all products to the install directory. A complete list of the standard make targets can be found in the Standard Targets for Users section of the GNU coding standards.

In addition to the standard make targets, the following targets have been defined in the main directories:

  • libs compile and install only the library defined in the main directory
  • include install only the header files defined in the main directory

For instructions on how to compile the rest of the Swinburne software repository, please refer to the rest of the repository notes in switching to GNU autotools.