                  Installing Mn_Fit on a New System
                  _________________________________

The following is a list of (probably imcomplete) instructions on what
to look for and what you probably have to change if you want to
install Mn_Fit on a new system. 

The information applies to versions 4.07/35 of Mn_Fit and earlier. However
some of the information may be useful for newer versions.

The list currently applies to installing Mn_Fit on a new Unix machine. If you
want it on another system, e.g. IBM VM, then most of the scripts in
//mn_util/jobs and //mn_util/exec have to be rewritten. In addition I use
logical names on VMS machines and environment variables on Unix machines, so
some sort of replacement for them has to be found.

1) mn_util:

a) Patch cdes:
   EXPNAM:   Add the new computer.

   CMZLOGON: Add new computer e.g. SUN in all relevant places to
specify the options used and the default editor etc.

   MN_MACRO: Specify the options for f77 etc. in fort_opt and
fort_deb.

   On the SUN you may find that compiling from inside cmz
does not work. Try to do exec mn_macro#graphics. If (when) that fails
look at the cmexec.exec file and see what the PATH if defined as.
Outside cmz try `which f77'. If it responds with `/usr/lang/f77' and
/usr/lang is not in the PATH defined in cmexec.exec, then change
fort_opt and fort_deb to set `/usr/lang/f77 ...'

b) Patch jobs:
   MN_FIT:  Add the necessary f77 or ld commands

   HISTMKE: Ditto

   helpmke: Ditto

c) Patch exec:


2) mn_fit:

a) Patch util:

   MN_FIL: Make sure the options in opening files are correct. Put in
any special options, such as SHARED, READONLY, ... if they are available.


3) Extra chages to be made if installing on a completely new type of
operating system:

a) mn_util/exec:

   MN_FIT: Write it in REXX or whatever.

   MN_LOGIC: Defines logicals for VMS and not needed for Unix as
environment variables are used.

b) mn_util/jobs

   MN_FIT: Write it in REXX or whatever.

   HISTMKE: Ditto

   HELPMKE: Ditto

c) mn_util/$kumacs:

   mn_macro:
       MN_ALIAS: Make aliases for a_computer and a_mn_fit_dir etc.
       MN_SET:   Default library and fortran files
       MAKELIB:  Compile full Mn_Fit in most suitable way

d) mn_fit/util

   MN_SPW: Does things like spawning for editing, shelling out of
Mn_Fit etc. Needs to have the new machine type added

   MN_FIL: Extra calls to VMCMS etc. for IBM

e) mn_fit/handler

   These are the break and condition handling routines. Basically
copied from KUIP with a few changes. Probably can be copied again from
KUIP for a new machine.
