
                           RasMol 2.6.4
              Molecular Graphics Visualisation tool.

                           Roger Sayle 
                          December 1998


    This file explains how to compile RasMol v2.6 on
your system. This version of the RasMol Molecular graphics package will 
run on UNIX, VMS, Macintosh and Microsoft Windows (OS/2 and Windows NT). 

[3] Recompiling RasMol v2.6
===========================

MS Windows v3.1:
----------------
[1] Use Makefile.pc instead of Makefile, by copying it to MAKEFILE.
[2] Modify the contents of the Makefile to determine your local C compiler,
    compiler and linker options. 
[3] Modify the #defines in the file rasmol.h (see below)
        Note: EIGHTBIT and IBMPC should all be defined
              APPLEMAC, DIALBOX, MITSHM and TERMIOS should not be defined.
[4] Compile the program using the Microsoft Optimizing C Compiler Version
    7's (or Microsoft Visual C++'s) NMAKE program under MS-DOS.

MS Windows NT
-------------
[1] Using Microsoft Visual C++, create a new project adding all the
    "*.c" source files except "rasmol.c", "x11win.c", "rasmac.c" and
    "applemac.c". Add the Windows resource source file "raswin.rc".
    or alternatively use Makefile.nt by copying it to MAKEFILE.
[2] Follow the instructions from [2] onwards as for MS Windows v3.1.


COMPILATION DIRECTIVES
======================

The file rasmol.h contains a number of #define directives that control
the runtime behaviour of the program. The following directives may be
defined or undefined to suite the local site.

THIRTYTWOBIT
SIXTEENBIT
EIGHTBIT	This determines whether RasMol will display and produce
		8bit, 16bit or 32(24) bit output. By default the symbol 
                EIGHTBIT is defined producing images with up to 256 
                colours. This symbol must be defined if IBMPC is defined.

DIALBOX		This enables the use of a dials box, that is connected 
		using the X Window System XInput extension. This option
		requires that the program be compiled with the Xi and
		Xext libraries. Note: libXi is called libXinput on some old
		machines, so requires the compiler option -lXinput!

MITSHM 		This option enables the use of the X Window System MIT shared
		memory extension. This enables images to be displayed faster
		when RasMol and the X11 server are running on the same host.
		This option requires the program be compiled with the Xext
		library. On IBM RS6000s runnning AIX, MITSHM also requires
                the XextSam library (which requires changing the Makefile or
                Imakefile). This is now enabled by default. This should be
                disabled on E&S ESV workstations as MITSHM support is not 
                provided as standard.

TERMIOS		This directive enables the command line processing on UNIXs
		that support the termios terminal handling routines. By 
		leaving this symbol undefined, RasMol omits the interactive
		command line interface. Undefining is not recommended!

SOCKETS         This directive enables the TCP/IP server functionality of
                RasMol to be enable.  This enables other software to connect
                to a running RasMol.  This should be undefined on machines
                not supporting BSD-style TCP/IP sockets (such as VMS).

APPLEMAC        This determines whether the program is to run on an Apple
                Macintosh or PowerMac. By default, this option is disabled.
                The Macintosh code may be compiled to be either EIGHTTBIT
                or THIRTYTWOBIT and will generate images effectively.

IBMPC           This determines whether the program is intended to run on an
                IBM PC or compatible under MS Windows. By default, this 
                option is disabled. If this option is defined the options 
                EIGHTBIT and INVERT must be defined, and TERMIOS undefined.

To summarise;
    A typical UNIX build:
        /* define IBMPC    */
        /* define APPLEMAC */
        /* define DIALBOX  */
        #define TERMIOS
        #define MITSHM
        #define EIGHTBIT

    A typical Windows build:
        #define IBMPC
        /* define APPLEMAC */
        /* define DIALBOX  */
        /* define TERMIOS  */
        /* define MITSHM   */
        #define EIGHTBIT

    A typical Macintosh build:
        /* define IBMPC    */
        #define APPLEMAC
        /* define APPLEMAC */
        /* define DIALBOX  */
        /* define TERMIOS  */
        /* define MITSHM   */
        #define EIGHTBIT
        
    A typical VMS build:
        /* define IBMPC    */
        /* define APPLEMAC */
        /* define DIALBOX  */
        /* define TERMIOS  */
        /* define MITSHM   */
        #define EIGHTBIT

