Informations for Developers

General

This page is intended for information that should be used by developers of the Quantities package.

A developers' log is provided (and should be updated) under the <a href="http://sourceforge.net/projects/quantity/develop> wiki facilities of project.

File Layout

The source code is organized in the following subdirectories (under the <_source_directory_>:

Each of the source code directories includes a subdirectory test which contains test programs. Documentation sources are located in subdirectory documentation. Supporting macros for the build system are located in subdirectory m4.

After installation, the following directories are generated and populated:

Thus, the installed file layout looks like this:

<_install_directory_>
+- include
| +- Quantities-<versionnumber>
| | +- Quantities
| | +- Quantity
| | +- PhysicalQuantities
| | +- GeneralQuantities
| | +- MathematicalQuantities
+- lib
| +- Quantities-<versionnumber>
| +- Quantities-<versionnumber>-o
| +- Quantities-<versionnumber>-d
| +- Quantities-<versionnumber>-o-d
+- share
| +- Quantities-<versionnumber>

Build System

The Quantities build system makes use of the autotools. In particular, during development, autoconf (version 2.63), automake (version 1.10.1) and libtool (version 2.2.6) were employed for the most recent version.

Additional functionality is imported through the boost.m4 macros, which have been adapted slightly (boost_BS.m4).

With the recent autotools (see above), it is no longer necessary to use the bootstrap skript after downloading the cvs code. Rather,

autoreconf --install

will prepare all necessary files.

After this, the common

./configure <options>
make
make install
make check
make doc
make doc-install

sequence (see, installation instructions) will install Quantities as described above.

As also mentioned above, libraries compiled and linked according to various configure options may be installed in the respective subdirectories in the <_install_directory_>/lib tree. It is important to purge the object files generated by the compilation step, before it is attempted to compile code with different options with

make clean
in the <_source_directory_>.

Note that for linking versions of Quantities with debug information or optimization enabled, the respective versions of the BSUtilities libraries must be available.

The following suggestions are provided for testing:

Preparing a New Version

If you are a developer and you want to create a new version of Quantities, you have to set the version number (unfortunately) in several places:
  1. in the main Doxyfile as PROJECT_NUMBER
  2. in configure.ac as an argument to macro AC_INIT
  3. in version.h as value of QUANTITIES_VERSION
  4. in file README (several instances)
  5. in file documentation/history.txt

You should also set the recommended version number of BSutilities to be used in

  1. configure.ac (several instances)
  2. README (several instances)
  3. file documentation/installation.txt (several instances}

back to Quantities start page


Generated on Mon Jul 27 15:55:46 2009 for Quantities by  doxygen 1.5.3