THE RAZORBACK LIBRARY
=====================

Version 2.x

Directory structure
-------------------

After you have unpacked the sources, you should have the following directories:-

admin/   : installation and administration scripts
doc/     : HTML documentation
include/ : C and C++ header files
cc/      : C++ library sources
c/       : C library sources

Installation
------------

1) From the "razorback_2.x" directory, invoke the script 'admin/configure.sh'.
    The script will refuse to run from any other directory because it expects
    the current directory to be the root of the Razorback tree. But if you were
    playing by the rules, here is what the script will do for you:-
    
    1a) First the architecture will be determined. Currently supported are:-
    	o "irix32": SGI N32-MIPSIII ABI, IRIX 6.2 and above
	o "irix64": SGI N64-MIPSIV ABI, IRIX 6.5 and above. If you are running
	    	    on a 64-bit SGI, you'll have the option of compiling for the
		    N32 ABI if you wish.
	o "linux": Intel IA-32 architecture running Linux
	o "alpha": Compaq Alpha architecture running Tru64 Unix
    1b) 'admin/configure.sh' tells you how many CPUs your machine has. The good
    	thing about this is that compilation will be done in parallel if you have
	more than one CPU. Since Tru64 comes with serial make-s only AFAIK,
	on the Alphas parallel compilation is possible only if the GNU make is
	installed. The configure script checks for it of course. :-)
    1c) While God has created all C compilers equal, this is not the case with
    	the C++ compilers. 'admin/configure.sh' checks the version of your native
	C++ compiler and will refuse to use anything before Version 7.30
	on the SGI platform or the GNU g++ before Version 2.91 under Linux.
	Note that the GNU compilers are currently not supported on SGIs or
	Alphas by the configure script: the native compilers tend to produce
	faster code.
    1d) The script then asks you whether you want to have the optimised version
    	of the libraries. Type 'y'.
    1e) Here comes the most important question: where to put the libraries.
    	The static libraries will be put into a directory <ARCHDIR>/<ARCH>/lib,
    	where <ARCHDIR>, the installation root, must be specified by you.
	It has to exist already and must be writable by you.
	<ARCH> is the Razorback name of the architecture you are on, see 1a) above. 
    1f) Now 'admin/configure.sh' creates the platform-dependent Makefile include
    	called 'Makefile.defs', the DSO setup script [see 3) below], and then tells
	you to type 'make'.
	
2) Type 'make compile' to compile the sources, 'make install' to compile
    and install them, or just 'make' or 'make help' to see what other options there are.

3) If your platform supports dynamic libraries, they will also be created
    and then put into <ARCHDIR>/<ARCH>/lib/shared. If you wish to link against
    the dynamic Razorback libraries, then you have to specify this directory
    using the "-L" compiler/linker option. To help the dynamic runtime linker to 
    find the Razorback libraries, this directory has to be specified in the
    environment variable LD_LIBRARY_PATH. The installation script has created
    a script in <ARCHDIR>/<ARCH>/ldpath.csh that sets this env var for you.
    Source it from your .login file.
    
4) RTFM under doc/index.html.

Enjoy!
Andras
