
INSTALLING MAXWELL
==================

Introduction
------------

This document details configuring, compiling, and installing Maxwell on various
platforms (currently Linux/Solaris only).  If you want to use (as opposed to
develop) Maxwell, then do not use this source package.  It is currently quite
hard to build and will likely need some tinkering.

If you have any corrections/additions/comments about this document, please
email maxwell@eeyore-mule.demon.co.uk, and let us know.

1.  Prerequisites (What you need to compile Maxwell)
----------------------------------------------------

Maxwell requires the following libraries to build:

libpng
libjpeg
libz
libtiff

along with the standard libraries, X11R6 and the Motif 2.0 library.  You should
be able to build against Lesstif if you use the Motif 2.0 version of the
Lesstif library.  Don't expect Maxwell to be useable, though.

You will need a Pentium PC with at least 32M of real memory and 100M of disk
space to build a development version of Maxwell.

You need gcc version 2.7.2 (and possibly later) to build Maxwell.  Maxwell is
written in C++ but you do not need the STL since Maxwell does not use it.


2.  Supported platforms
----------------------

Currently, Maxwell is known to build and execute on the following platforms:

OS      Version      CPU               Compiler        X Version
----------------------------------------------------------------------------
Linux   2.0.0        Pentium           GCC-2.7.2       X11R6
        to 2.0.33

Solaris 2.5          SPARC             GCC-2.7.2       X11R6 (I think)
------------------------------------------------------------------------------

Hopefully this list can be extended quickly.


3.  Building Maxwell
----------------------

Maxwell is currently hand configured.  It would be great if someone could write
an autoconf script to make Maxwell build more easily.

You need to set two environment variables to build Maxwell:

MAXUSERROOT - set this to the place where your source is.  For me, this is
/home/tomn/maxwell

MAXROOT - Maxwell finds its include files and libraries relative to this
path.  The -I compiler option is set to -I$MAXROOT/$PLATFORM/include and the -L
compiler option is set to -L$MAXROOT/$PLATFORM/lib, so if you create a
directory in your home directory, say /home/tomn/maxroot/i486-linux and either
install the required libraries there or put symbolic links there then you
should be OK.  See build/maxwell.component.mk for details.

cd to MAXUSERROOT and do make -k and wait for the compiler errors to show up
;).  In the unlikely event that this succeeds without error, then do cd
edit/app and type make exec.  You should find a maxwell executable in
$MAXUSERROOT/exe.  If you've got this far, then well done!  cd back to
$MAXUSERROOT and type:

build/mxinstall $MAXUSERROOT <installation directory>

which should build an installation directory for you.  I suspect you won't get
this far, but keep trying!

Please let us know of build successes and if the build fails, but you can make it work then send me a patch!

Send corrections or additions to this document to
<maxwell@eeyore-mule.demon.co.uk>

Happy Hacking
Tom Newton <tomn@eeyore-mule.demon.co.uk>

