/*******************************************************************
 *                                                                 *
 *            Chasm installation and build instructions            *
 *                          Version 1.4.0                          *
 *                                                                 *
 *******************************************************************
 *    For help, please send e-mail to chasm-support@lanl.gov       *
 *******************************************************************/


        SUPPORTED PLATFORMS, COMPILERS AND SCRIPTING LANGUAGES:
        -------------------------------------------------------

Chasm version 1.4.0 supports the following Fortran compilers:

    o Compilers:
	- Absoft (Mac OS X, linux)	(--with-F90-vendor=Absoft)
	- HP Compaq Fortran		(--with-F90-vendor=Alpha)
	- Cray Fortran			(--with-F90-vendor=Cray)
        - GNU gfortran			(--with-F90-vendor=GNU)
        - IBM XL Fortran		(--with-F90-vendor=IBMXL)
        - Intel (linux)			(--with-F90-vendor=Intel)
        - Intel (linux, v7)		(--with-F90-vendor=Intel_7)
        - Lahey (linux)			(--with-F90-vendor=Lahey)
        - NAG (Mac OS X, linux)		(--with-F90-vendor=NAG)
	- SGI MIPS Pro			(--with-F90-vendor=MIPSpro)
        - SUN Solaris			(--with-F90-vendor=SUNWspro)

Platform notes:

 - 64 bit libraries can be built on HP (arch=alpha64), IBM (arch=aix64), 
   linux (arch=linux64) and SGI (arch=sgi64).

 - One test fails on Absoft/linux.  We are working with Absoft to
   understand why.

 - We are working with PGI to support PGI compilers.


                       REQUIRED PACKAGES:
                       ------------------

The full Chasm tools require the Program Database Toolkit (PDT) to run
(version 3.0 or higher).  You can obtain PDT from
http://www.cs.uoregon.edu/research/paracomp/pdtoolkit/.  Chasm also requires
an XSLT engine for XML Transformations.  We suggest using Xalan from
http://xml.apache.org/.

If only the Fortran array descriptor library is required, Chasm can be
built without PDT or Xalan (currently the default).  Make sure that Chasm
is configured for your particular Fortran compiler (see the Compilers
list above for the list of supported compilers).


               BEFORE YOU START TO COMPILE CHASM:
               ----------------------------------

Assuming that you have downloaded the Chasm distribution (from
http://sourceforge.net/projects/chasm-interop) and unpacked and untarred it,
there should be, at least, the following files and directories:

	configure ..................... used for Unix builds
	test/ ......................... test programs
	doc/ .......................... documentation for Chasm
	src/ .......................... the Chasm source code
        include/ ...................... header files
        bin/ .......................... executables
        xml/xsl/ ...................... XSLT stylesheets
        contrib/ ...................... contributed stylesheets


              UNIX CONFIGURE/COMPILE INSTRUCTIONS:
              ------------------------------------

The instructions for building Chasm on all Unix platforms are the
same.  First, cd to the chasm top level directory and do the following:

1. Configure for your environment.  A convenient way to see the possible
   options is to type

	./configure --help

   and examine the --enable and --with options.  A critical option
   is the location of the PDToolkit.  The configure script
   automatically searches for the required PDT installation (if
   the ./configure --enable-pdt option is selected), but if it
   can't be found the configure script will exit with a warning message.
   In this case you must locate (or install) PDT and specify the path
   to the installation with the following option:

     --with-pdt-root=/usr/local/pdtoolkit-X.x

   'X.x' is the version number of software installation and /usr/local
   is shown as an example location.

   If only the Fortran array descriptor library is needed, Chasm can
   be configured without PDT (currently the default option so the
   --disable-pdt is not currently needed), e.g.:

     ./configure --disable-pdt

2. In the top-level Chasm directory, run the 'configure' script
   to build the necessary Chasm library Makefiles.
   The basic form for running configure is (with common options):

     ./configure

   on most platforms, or

     ./configure --with-F90=compiler_path --with-F90-vendor=compiler_vendor

   on linux or Mac OS X.

   If you do not specify the --with-arch= option, a value will be chosen 
   based on your current platform.  For 64 bit builds, use
   --with-arch={alpha64, aix64, sgi64, linux64}.

   Make sure that Chasm is configured for your Fortran compiler.  See
   the #define FORTRAN_COMPILER line in the file chasm/include/F90Compiler.h.
   If the default compiler is incorrect, use the following option:

     --with-F90-vendor=compiler

   where the supported compilers are {Absoft,Alpha,IBMXL,Intel,Lahey,
   MIPSpro,NAG,SUNWspro}.

   You may also need to add the path to the compiler binary with:

     --with-F90=path_to_fortran_compiler_binary

3. Run 'make' to build the Chasm libraries and executables.

4. Run 'make install' to install the Chasm files under the location
   specified with the prefix configure option.  Note that you must have
   the necessary priviledges to write to the install directory.

                          USING CHASM:
                          ------------

See files in the doc directory, in particular, the file
chasm/doc/ArrayDesc-API.pdf for documentation on the array descriptor
library.  Otherwise the documentation is a little sparse at the
moment (some additional information may be found in the project README).
An example of code generation for C++ calling Fortran, see the files
in ./example/particle.
