Installation

Requirements

To install the library, you will need a unix-ish system with the following software:

All of the unix utilities are available on most BSD and Linux systems as well as on MacOS-X. On these systems installing the cross-binutils and cross-gcc is also fairly simple. If you do not know how to build a crosscompiler toolchain, you can read the Installation of the GNU tools page.

Obtaining the library

Currently the library is only on our website and not mirrored anywhere else. If you go to http://www.bendor.com.au/armlib/index.html you will find the source there. We have a fairly slow uplink, so be patient. Library versions are tracked by their release date, the files are called

where YYYY, MM and DD are the year, month and day, respectively.

Configuring, building and installing the library

Unpack the library and go into the source directory:

tar xfz armlib-YYYY-MM-DD.tgz
cd armlib-YYYY-MM-DD

There is no fancy configure script. There is a Makefile.conf file that you have to edit with your favourite text editor. All the configuration options are pretty well documented in that file, the options are not repeated here. The file is actually read by make, so the syntax rules are the same as for any makefile.

When you've finished with Makefile.conf you should just type

make

As the make progresses, it will tell you what it does. If there is an error (there shouldn't be), the build process stops. The error messages will be stored in the file that has the stem of the file being processed, with the extension of ".err". That is, if for some reason the compilation of libc/stdlib/qsort.c fails, you will find the compiler's error messages in the file qsort.err.

If everything went fine, then you can type

sudo make install

and the libraries, the header files, the tools and the documentation will be installed in the location you nominated in the configuration file (the default being /usr/local/armlib/).

Keeping the configuration over library revisions

If you want to compile subsequent library versions with the same config file (so that you don't have to edit it again and again), you can pass an option to make when you build the library:

make ARMLIB_CONFIG=~/my_config
sudo make ARMLIB_CONFIG=~/my_config install

Alternatively, if you set the ARMLIB_CONFIG environment variable to point to the config file, make will pick it up. So, the location of the config file is determined by:

Other make targets

Apart from no target and the install target, you can issue the following commands:

make all

The same as starting make without an explicit target.

make clean

Deletes all object files, dependency files and error files. It does not delete the HTML documentation.

make veryclean

Deletes all object files, dependency files and error files as well as the HTML documentation. It furthermore deletes all files ending with the ~ (tilde) character, which customarily indicates that the file is an editor back-up file.

make docs

Builds the HTML documentation. You need doxygen version 1.6 or better to be installed. If the build fails, the error messages will be in docs.err.

make release

Creates a file, /tmp/armlib.YYYY-MM-DD.tgz with today's date. That file will contain the source code and the HTML documentation. The file is only created if the library as well as the documentation can be built successfully. If the source tree has a directory called temp, then that directory will be omitted from the tarfile. The state of your current source tree, objects and so on is not modified; the entire build and packaging process is done in /tmp, on a copy of your current source tree.

What gets installed

In the directory that you specified (default is /usr/local/armlib) the install process creates these subdirectories:

Generated on Mon Aug 16 09:50:08 2010 by  doxygen 1.6.3