Installation procedure for Blitz++


1.  Installation

1.1 From tarfile

You should unpack blitz-VERSION.tar.gz in the directory
where you would like the blitz headers, examples, etc. to reside.
(Hint: don't do this in /usr/include; try ~/software or /software/Blitz++).

The file blitz-VERSION.tar.gz file will unpack into a subdirectory
blitz-VERSION.  

Now cd into blitz-VERSION, and run

./configure --with-cxx=[compiler]

The [compiler] options are:
  --with-cxx=gcc       gcc (http://gcc.cygnus.com/)
  --with-cxx=KCC       KAI C++ (http://www.kai.com/)
  --with-cxx=cray      Cray C++ 3.0 or better (http://www.cray.com/)
  --with-cxx=DECcxx6.2 DEC cxx 6.2 (http://www.dec.com/)
  --with-cxx=DECcxx6.3 DEC cxx 6.3 or better (http://www.dec.com/)
  --with-cxx=SGI64     SGI C++ 7.3 or better (http://www.sgi.com/)
  --with-cxx=SGI32          ... with 32-bit ABI (n32)
	--with-cxx=aCC       HP-UX aCC (http://www.hp.com/go/c++)
	--with-cxx=icc       Intel icc (http://www.intel.com/)

Then do:
        make

This is a minimal build.  You can also do one of these:

        make check-testsuite  Build and check the testsuite
        make check-examples   Build and check the examples
        make check-benchmarks Build and check the benchmarks (takes a long time)
				make install          Install Blitz++

1.2 From cvs repository 

After you have checked out the latest version of Blitz from the cvs
repository, the procedure is identical as with a tarfile. 

Note however that you might get into trouble when running the command
"make". If the command aborts with the following type of messages:

WARNING: `aclocal-1.6' is missing on your system.  You should only need it if
          you modified `acinclude.m4' or `configure.in'.  You might want
          to install the `Automake' and `Perl' packages.  Grab them from
          any GNU archive site.

WARNING: `automake-1.6' is missing on your system.  You should only need it if
          you modified `Makefile.am', `acinclude.m4' or `configure.in'.
          You might want to install the `Automake' and `Perl' packages.
          Grab them from any GNU archive site.

You should just need to update the date of the file "configure". You can do
that by running the following command:

touch configure

You can then proceed with make.


2.  Setting up symbolic links

If you have root privileges, you can install some symbolic links
to the headers and library.  Suppose you unpacked blitz in
/software/Blitz++; then do these commands:

# ln -s /software/Blitz++/blitz /usr/include/blitz
# ln -s /software/Blitz++/lib/libblitz.a


3.  Getting started

There are example programs in the "examples" directory.
Documentation is found in the "manual" directory.
Point your browser at manual/index.html, or do "gv manual/blitz.ps".

4.  OTHER COMPILERS

If you want to try Blitz++ with a compiler not in the above
list, I suggest the following approach:

  1. Check the "supported platforms" list at:
     http://oonumerics.org/blitz/platforms/

     and the development mailing list at:
     http://oonumerics.org/blitz/contribute/blitz-dev/archive/index.html

     To see what progress has been made on your compiler.
     
  2. Go into the compiler subdirectory and run the bzconfig
     script.  This will exercise your compiler to see what
     language features it supports.  If it doesn't have
     member templates and enum computations, just give up.

  3. Install autoconf (from e.g. ftp://prep.ai.mit.edu/pub/gnu)
     if you don't have it already.

  4. Make a backup of configure.in, and edit configure.in
     to add appropriate cases for your compiler.  Then invoke
     autoconf to generate the configure script.  Then try
     configure with your new --with-cxx= option.  Repeat
     until it works..

  5. Try building the testsuite ('make check-testsuite').

  6. Holy schmoly!  It works!  Please drop a note to
     blitz-dev@oonumerics.org and include:

        - name and info about your compiler
        - diffs for configure.in, if any
        - the file <blitz/config.h>


